diff --git a/PRIVACY_POLICY.md b/PRIVACY_POLICY.md index 8a11dc0..a683b58 100644 --- a/PRIVACY_POLICY.md +++ b/PRIVACY_POLICY.md @@ -1,11 +1,11 @@ Privacy Policy Last updated: July 2025 -ReVoltVPN is a free VPN service built and operated by a solo developer. +ReVoltVPN is a free VPN service built and operated by ReVolt Team. What we collect We collect the minimum required to operate the service: A randomly generated device ID created on your phone. This is not linked to your identity in any way. -Your active session status and data usage for the current session only. This is stored in memory and deleted when your session ends. +Your active session status and data usage for the current session only. Sessions last up to 1 hour, then expire. All session data is stored in memory and deleted permanently when your session ends. What we do not collect diff --git a/README.md b/README.md index 0f8d0e4..1dbc8bf 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

# ReVoltVPN -A free VPN app I built in my spare time as a student with basically no prior experience. +A free VPN app I built in my spare time as a student with basically no prior experience. Now backed by the ReVolt team handling server security and infrastructure.

ReVoltVPN splash screen @@ -29,23 +29,22 @@ When your data runs out you get throttled to 1.5 Mbps instead of getting cut off ## The stack - **App** — Flutter (Android only for now) - **Server** — A single Debian box rented from Hetzner, located in Finland -- **VPN protocol** — AmneziaWG, which is WireGuard with obfuscation so it works on carriers that block standard WireGuard +- **VPN protocol** — VLESS with Xray, which is great for bypassing DPI in countries that are aggressive with it - **Backend** — A Python script I wrote called Hivemind that manages sessions, data quotas, and throttling - **Ads** — Google AdMob rewarded ads, verified server-side so fake callbacks don't work --- ## Limitations (being honest) -- One server, one location (Finland). That's all I can afford right now +- One server, one location (Finland). That's all I can afford right now (planning to escalate further) - 2 cores and 4GB RAM. It will not handle thousands of concurrent users - iOS is not supported and probably won't be for a while -- Countries with very aggressive DPI (China, Russia, etc.) may still have issues -- I'm a student doing this in my free time. Expect rough edges +- The app is built by me in my free time — expect rough edges --- ## Why I built this -Free time project. Wanted to learn how VPNs actually work under the hood. Ended up building the whole thing from scratch — the Flutter app, the AmneziaWG setup, the session management backend, the AdMob integration. It took way longer than expected. +Free time project. I wanted to learn how VPNs actually work under the hood. Ended up building the whole thing from scratch — the Flutter app, Hivemind backend, and AdMob integration are made by me, while server security and VLESS/Xray setup are handled by the ReVolt team. It took way longer than expected. --- diff --git a/lib/logic/session_timer.dart b/lib/logic/session_timer.dart index d4dfbb8..664fbcd 100644 --- a/lib/logic/session_timer.dart +++ b/lib/logic/session_timer.dart @@ -109,7 +109,7 @@ class SessionTimer extends ChangeNotifier { } // ── Network-blip reconnect: VPN dropped and came back on its own ── - // The underlying AmneziaWG tunnel may briefly flap. If we weren't + // The underlying VLESS tunnel may briefly flap. If we weren't // explicitly stopped by the user, resume where we left off. if (vpnConnection.status == VpnStatus.connected && !isRunning && diff --git a/lib/main.dart b/lib/main.dart index 7d23457..a72fb2f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -51,7 +51,7 @@ class ReVoltApp extends StatelessWidget { // MultiProvider injects global state controllers down the widget tree. return MultiProvider( providers: [ - // Manages the WireGuard tunnel lifecycle + // Manages the VLESS tunnel lifecycle ChangeNotifierProvider(create: (_) => VpnConnection()), // Manages the 1-hour session clock.