[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7353":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},7353,"android-app","ProtonVPN\u002Fandroid-app","ProtonVPN","Official ProtonVPN Android app","https:\u002F\u002Fprotonvpn.com\u002Fdownload-android",null,"Kotlin",3688,476,101,73,0,4,27,97,21,30.04,"GNU General Public License v3.0",false,"master",[26,27,28,29,30,31,32,33],"android","ikev2","java","kotlin","openvpn","protonvpn","strongswan","vpn","2026-06-12 02:01:38","# ProtonVPN for Android\n\nCopyright (c) 2019 Proton AG\n\n## Download\n\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FProtonVPN\u002Fandroid-app\u002Fmaster\u002Fmetadata\u002Fen-US\u002Fimages\u002FphoneScreenshots\u002F2.jpg\" height=\"400\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FProtonVPN\u002Fandroid-app\u002Fmaster\u002Fmetadata\u002Fen-US\u002Fimages\u002FphoneScreenshots\u002F3.jpg\" height=\"400\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FProtonVPN\u002Fandroid-app\u002Fmaster\u002Fmetadata\u002Fen-US\u002Fimages\u002FphoneScreenshots\u002F4.jpg\" height=\"400\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FProtonVPN\u002Fandroid-app\u002Fmaster\u002Fmetadata\u002Fen-US\u002Fimages\u002FphoneScreenshots\u002F5.jpg\" height=\"400\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=ch.protonvpn.android\">\n        \u003Cimg src=\"https:\u002F\u002Fplay.google.com\u002Fintl\u002Fen_us\u002Fbadges\u002Fimages\u002Fgeneric\u002Fen_badge_web_generic.png\" alt=\"Get it on Google Play\" height=\"80\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Ff-droid.org\u002Fpackages\u002Fch.protonvpn.android\">\n        \u003Cimg src=\"https:\u002F\u002Ff-droid.org\u002Fbadge\u002Fget-it-on.png\" alt=\"Get it on F-Droid\" height=\"80\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FProtonVPN\u002Fandroid-app\u002Freleases\">\n        \u003Cimg src=\"https:\u002F\u002Fi.postimg.cc\u002FkXfbyWjL\u002Fget-it-on-github.png\" alt=\"Get it on GitHub\" height=\"80\">\n    \u003C\u002Fa>\n\u003C\u002Fp>\n\n## Build instructions\n- Install sdk, ndk, cmake, swig\n- Clone this repository\n- `.\u002Fgradlew assembleProductionVanillaOpenSourceDebug` or open and build in Android Studio\n\n### Build release\nTo complete a release build signing keys need to be provided:\n- `.\u002Fgradlew assembleProductionVanillaOpenSourceRelease -PkeyStoreFilePath=\u003Ckeystore> -PkeyStoreKeyAlias=\u003Calias> -PkeyStorePassword=\u003Cpass> -PkeyStoreKeyPassword=\u003Ckey-pass>`\n\n## Code style\nProject uses agreed code style ProtonStyle.xml for java. Import it in Android studio via ```File>>Settings>>Editor>>Code style>>Import Scheme```\nFor kotlin's code style we use ktlint with default rules\n\n## Contributing\nIf you would like to contribute, please keep in mind the following rules:\n- Try to stick to the project's existing code style and naming conventions\n- The code base is mostly written in Java, but we are transitioning to Kotlin, so new code should be written in Kotlin where possible\n- Our preferred tech stack is Kotlin, MVVM, data-binding and coroutines, so any new features or large refactors should conform to this preferred tech stack\n- After adding\u002Fupdating open source dependencies run `gradlew updateLicensesJson` to update attributions.\n\nInternally our CI automatically checks all pull requests for code style issues, and runs our tests. However you can run those locally as well.\n```\ngradlew checkstyle\ngradlew detekt\ngradlew test\ngradlew androidTest\n```\n\nBy making a contribution to this project you agree to the following:\n\n1. I assign any and all copyright related to the contribution to Proton AG;\n2. I certify that the contribution was created in whole by me;\n3. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it) is maintained indefinitely and may be redistributed with this project or the open source license(s) involved.\n\n## Signature\n\nAll our builds (except for F-droid) will be signed with same key.\nSHA256 fingerprint for signing certificate\n```\nch.protonvpn.android\nDC:C9:43:9E:C1:A6:C6:A8:D0:20:3F:34:23:EE:42:BC:C8:B9:70:62:8E:53:CB:73:A0:39:3F:39:8D:D5:B8:53\n```\n\n## Versioning\n- Version matches format: `[major][minor][patch][hotfix]`\n\n## License\n\nThe code and datafiles in this distribution are licensed under the terms of the GPLv3 as published by the Free Software Foundation. See \u003Chttps:\u002F\u002Fwww.gnu.org\u002Flicenses\u002F> for a copy of this license.\n\nCopyright (c) 2019 Proton AG\n","ProtonVPN的Android应用程序为用户提供了一个安全、私密的网络连接解决方案。该应用支持OpenVPN和IKEv2协议，采用Kotlin语言编写，并逐步从Java过渡到Kotlin，以提高性能和安全性。它使用了MVVM架构模式、数据绑定以及协程技术来优化用户体验。此项目适合需要在移动设备上保护个人隐私或绕过地理限制访问内容的用户。此外，对于希望学习现代Android开发实践的开发者来说，也是一个很好的开源案例。",2,"2026-06-11 03:11:54","top_language"]