An open-source VPN app framework built with Leaf and nthlink-outline VPN SDKs. This project provides a complete Android VPN app template - you just need to implement the core VPN logic and backend integration.
Search for TODO in the project to find all implementation points. You need to implement **2 files
** in the core module:
Implement these 5 functions:
// Encrypt/decrypt data for secure storage
fun encrypt(text: String): String
fun decrypt(cipherText: String): String
// Fetch VPN servers and app content from your backend
// Returns JSON with: servers, redirectUrl, headlineNews, notifications, current_versions
fun getConfig(): String
// Send user feedback to your backend
fun feedback(feedbackType: String, description: String, appVersion: String, email: String)
// Run diagnostics and return a report ID
fun startDiagnostics(): StringImplement these 3 functions:
// Start VPN with server list (auto-select best server)
override suspend fun runVpn(servers: List<Config.Server>)
// Start VPN with custom config string
override suspend fun runVpn(config: String)
// Stop VPN and clean up resources
override fun disconnect()- Clone the repository
- Search for
TODOmarkers in the code - Implement
Core.ktbackend functions - Implement
RootVpnClient.ktVPN functions using Leaf/Outline SDK - Test connection, disconnection, and error handling
- Customize branding (app name, icon, colors, strings)
- Build and release your VPN app