सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।
openvpn_flutter पैकेज फ्लटर एप्लिकेशन को एंड्रॉइड और आईओएस प्लेटफॉर्म पर ओपनवीपीएन सेवाओं से जुड़ने की अनुमति देता है। यह वीपीएन कनेक्शन को प्रबंधित करने के लिए एक सीधा इंटरफेस प्रदान करता है, जिससे उपयोगकर्ता सुरक्षित नेटवर्क टनल को प्रोग्रामेटिक रूप से स्थापित कर सकते हैं। प्लगइन मूल ओपनवीपीएन लाइब्रेरी को एकीकृत करता है, जिससे मानक ओपनवीपीएन कॉन्फ़िगरेशन और .ovpn फ़ाइलों के साथ सुगमता सुनिश्चित होती है। यह डेवलपर्स के लिए डिज़ाइन किया गया है जो अपने एप्लिकेशन में सुरक्षित कनेक्टिविटी फीचर जोड़ना चाहते हैं, जैसे निजी नेटवर्क एक्सेस या बढ़ी हुई डेटा सुरक्षा।
उपयोग
सुरक्षित एप्लिकेशन से सर्वर संचार
कॉर्पोरेट एप्लिकेशन में निजी नेटवर्क पहुँच
बढ़ी हुई उपयोगकर्ता डेटा गोपनीयता
क्षेत्रीय सामग्री प्रतिबंधों को बाधित करना
कॉर्पोरेट वीपीएन से कनेक्ट करना
मुख्य विशेषताएँ
Android और iOS प्लेटफॉर्म को समर्थन करता है
मानक .ovpn कॉन्फ़िगरेशन फ़ाइल्स के साथ एकीकरण
प्रोग्रामेटिक कनेक्शन प्रबंधन
सुरक्षित टनल स्थापना
हल्का और एकीकरण में आसान
इनके लिए उपयुक्त
एंटरप्राइज मोबाइल एप्लिकेशन्स
सुरक्षित नेटवर्क एक्सेस की आवश्यकता वाले ऐप्स
गोपनीयता-केंद्रित उपकरण बनाने वाले विकासकर्ता
दूरस्थ सर्वर कनेक्टिविटी की आवश्यकता वाले अनुप्रयोग
OpenVPN इंफ्रास्ट्रक्चर का उपयोग करने वाले प्रोजेक्ट
विचार योग्य बातें
मूल ओपनवीपीएन लाइब्रेरी एकीकरण की आवश्यकता है
Android और iOS पर अतिरिक्त अनुमतियों की आवश्यकता हो सकती है
कॉन्फ़िगरेशन फ़ाइल हैंडलिंग को सुरक्षित होना चाहिए
OpenVPN प्रोटोकॉल तक सीमित
प्लेटफॉर्म-विशिष्ट सेटअप की आवश्यकता हो सकती है
मूल README
संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।
Connect to the OpenVPN service using Flutter. Contributions through issues and pull requests are highly appreciated!
Android Setup
1. Permission Handler
Java
Include the following code in the onActivityResult method of MainActivity.java (if you are using Java):
voidconnect() {
openvpn.connect(
config,
name,
username: username,
password: password,
bypassPackages: [],
// In iOS connection can get stuck in "connecting" if this flag is "false". // Solution is to switch it to "true".
certIsRequired: false,
);
}
Disconnect
voiddisconnect(){
openvpn.disconnect();
}
Publishing to Play Store and App Store
Android
You can use app bundles to publish the app.
Add the following to your files in the android folder (special thanks to https://github.com/nizwar/openvpn_flutter/issues/10). Otherwise, the connection may not be established in some cases and will silently report "disconnected" when trying to connect. This is likely related to some symbols being stripped by Google Play.
gradle.properties > android.bundle.enableUncompressedNativeLibs=falseAndroidManifest > android:extractNativeLibs="true"in the application tag
Add the following inside the android tag in app/build.gradle:
android {
...
//from here ======
lintOptions {
disable 'InvalidPackage'
checkReleaseBuilds false
}
packagingOptions {
jniLibs {
useLegacyPackaging = true
}
}
bundle {
language {
enableSplit = false
}
density {
enableSplit = false
}
abi {
enableSplit = false
}
}
//to here
...
}
Notifications
As the plugin shows notifications for connection status and connection details, you must request permission using third-party packages.
///Put it anywhere you wish, like once you initialize the VPN or pre-connect to the serverPermission.notification.isGranted.then((_) {
if (!_) Permission.notification.request();
});