| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Your Digital Privacy Companion 🚀
Developed by Windscribe Limited - Because your privacy matters
Features • Building • Architecture • Contributing • License
Windscribe VPN is a top-notch VPN application that offers comprehensive privacy and security features for Android devices. Whether you're browsing on your phone, tablet, or Android TV, Windscribe has you covered with military-grade encryption and blazing-fast servers worldwide.
Before you dive in, make sure you have these tools ready:
☐ Android Studio (Latest stable version)
☐ Android SDK (API 21+)
☐ Android NDK (for native code compilation)
☐ CMake (for building native modules)
☐ SWIG (for generating JNI bindings)
☐ Git (obviously!)# Clone the repository
git clone https://github.com/Windscribe/Android-App.git
cd androidapp
# Build debug version
./gradlew assembleDebug
# Or open in Android Studio and hit Run! 🎯# Debug Builds
./gradlew assembleDebug # Build debug APK
./gradlew :mobile:assembleGoogleDebug # Mobile app only
./gradlew :tv:assembleGoogleDebug # TV app only
# Release Builds
./gradlew assembleRelease # Build release APK
./gradlew bundleGoogleRelease # Google Play AAB
./gradlew bundleFdroidRelease # F-Droid AAB
# Testing
./gradlew test # Unit tests
./gradlew connectedAndroidTest # Instrumented tests
# Code Quality
./gradlew ktlintCheck # Check Kotlin style
./gradlew ktlintFormat # Auto-format Kotlin
./gradlew dependencyCheckAnalyze # Security analysis
# Cleaning
./gradlew clean # Fresh start!# Build and install
./gradlew :mobile:assembleGoogleDebug
$ANDROID_HOME/platform-tools/adb install -r mobile/build/outputs/apk/google/debug/mobile-google-debug.apk
# Launch the app
$ANDROID_HOME/platform-tools/adb shell am start -n com.windscribe.vpn/com.windscribe.mobile.ui.AppStartActivity# Build and install
./gradlew :tv:assembleGoogleDebug
$ANDROID_HOME/platform-tools/adb install -r tv/build/outputs/apk/google/debug/tv-google-debug.apk
# Launch the app
$ANDROID_HOME/platform-tools/adb shell am start -n com.windscribe.vpn/com.windscribe.tv.splash.SplashActivityandroidapp/ ├── 📦 base/ # Core functionality hub │ ├── api/ # API communication │ ├── backend/ # VPN protocol handlers │ ├── localdatabase/ # Room database │ ├── repository/ # Data layer │ └── services/ # Android services ├── 📱 mobile/ # Phone/tablet UI (Jetpack Compose) ├── 📺 tv/ # Android TV UI (XML layouts) ├── 🔌 Protocol Modules │ ├── openvpn/ # OpenVPN implementation │ ├── strongswan/ # IKEv2/IPSec │ └── wgtunnel/ # WireGuard, WSTunnel, Stunnel & ControlD (All Go code compiled to single lib) ├── 🌐 wsnet/ # Networking library └── 🧪 test/ # Shared test utilities
| Layer | Technology |
|---|---|
| Language | Kotlin (100% of app modules; vendored native VPN modules are C/C++/Go/Java) |
| UI | Jetpack Compose (Mobile), XML (TV) |
| Async | Coroutines + Kotlin Flows |
| DI | Hilt |
| Database | Room |
| Networking | wsnet (custom library) |
| Background Tasks | WorkManager |
For detailed architecture documentation, see AGENTS.md
Prebuilt binaries are included, but if you're feeling adventurous:
We use ktlint with default rules:
# Check your code
./gradlew ktlintCheck
# Auto-fix issues
./gradlew ktlintFormatWe ❤️ contributions! Here's how to get started:
Respect the Module Hierarchy
Feature Modules → base → UI Modules
NO CIRCULAR DEPENDENCIES! 🚫
Test Your Changes
# 1. Create a feature branch
git checkout -b feature/awesome-new-feature
# 2. Make your changes
# ... code code code ...
# 3. Format and lint
./gradlew ktlintFormat
# 4. Run tests
./gradlew test
# 5. Commit with meaningful message
git commit -m "feat: add awesome new feature"
# 6. Push and create PR
git push origin feature/awesome-new-featureFor detailed development workflows, see SKILL.md
Format: [major].[minor].[build]
Example: 3.72.123
Copyright (c) 2021 Windscribe Limited
All rights reserved. This project is proprietary software developed by Windscribe Limited.
| Back | FazBrowse Home | New Git URL |