# arman-vpn-client (armanlife/arman-vpn-client)

> Firefox VPN is a free, open-source VPN client that tunnels your traffic through Mozilla's servers on Fastly's infrastructure using HTTP/2 and HTTP/3, authenticated with a Firefox Account.

- GitHub: https://github.com/armanlife/arman-vpn-client
- GitHub.Locker page: https://github.locker/armanlife/arman-vpn-client
- Stars: 645
- Language: Go
- License: GPL-3.0
- Last push: 2026-11-04

## Questions and answers

Written by GitHub.Locker from the README and the repository; check the README below for details.

**How do I install it on my platform?**

Download the matching build from the project's Download table for Android, Windows, macOS, or Linux. On a Linux server without a graphical environment, install the 'Core' build, which sets up a web panel and a terminal menu you open with sudo firefox-vpn.

**Do I need a Firefox Account to use it?**

Yes — every connection is tied to a Firefox Account, and each account comes with 50 GB of free data per month.

**Does it support UDP traffic like voice calls and games?**

No. Mozilla's servers only carry TCP traffic over web ports (80, 443, 8080, 8443), so UDP-based calls, online games, and non-web ports like SSH or mail are blocked, except Git-over-SSH to GitHub which rides port 443 itself.

**Where does my internet traffic actually go?**

All traffic is routed through Mozilla's official VPN servers running on Fastly's infrastructure over encrypted HTTP/2/HTTP/3, and DNS queries go through encrypted DNS over HTTPS.

**What happens when one Firefox Account's monthly data runs out?**

The app automatically switches to the next linked Firefox Account, so the multi-account feature multiplies your monthly free data beyond the base 50 GB.

**Can I manage the VPN without the app itself, like from a browser or terminal?**

On Linux server installs, a web panel lets you manage accounts, pick servers, run connection tests, view live logs, and change settings from any browser; there's also a 'sudo firefox-vpn' terminal menu.

**Does using the VPN slow down access to local websites?**

No — smart routing detects local or regional sites and opens them directly outside the tunnel, so they load faster and don't count against your VPN data quota.


---

## README (checked against GitHub 2026-11-05)

Source: https://github.com/armanlife/arman-vpn-client/blob/main/README.md

<div align="center">

**🇺🇸 English** &nbsp;/&nbsp; [🇨🇳 简体中文](docs/readme/README_zh.md) &nbsp;/&nbsp; [🇷🇺 Русский](docs/readme/README_ru.md) &nbsp;/&nbsp; [🇮🇷 فارسی](docs/readme/README_fa.md)

</div>
<br>

<p align="center"><img src="docs/images/logo.png" width="128" alt="Arman VPN"></p>

<h1 align="center">Arman VPN</h1>

<h2 align="center">⚠️ Unofficial project</h2>

<h3 align="center">Arman VPN is an independent project. It is not made, owned, sponsored, or endorsed by Mozilla, and is not affiliated with Mozilla in any way. See the <a href="#disclaimer">disclaimer</a>.</h3>

<div align="center">

[![Downloads](https://img.shields.io/github/downloads/armanlife/arman-vpn-client/total?style=flat-square&logo=github&label=Downloads)](https://github.com/armanlife/arman-vpn-client/releases)
[![Last Version](https://img.shields.io/github/v/release/armanlife/arman-vpn-client?style=flat-square&label=Version)](https://github.com/armanlife/arman-vpn-client/releases/latest)
[![License](https://img.shields.io/github/license/armanlife/arman-vpn-client?style=flat-square&label=License)](LICENSE)

</div>

## What is Arman VPN?

**Arman VPN** is a free, open-source VPN that works with a Firefox Account. It carries your internet traffic through Mozilla's servers, on **Fastly**'s infrastructure, over secure **HTTP/2 and HTTP/3** tunnels.

For **Android, Windows, macOS, and Linux**; completely free, with no ads.

<p align="center"><a href="https://raw.githubusercontent.com/armanlife/arman-vpn-client/main/docs/screenshots/main.webp" target="_blank"><img src="docs/screenshots/main.webp" width="720" alt="Arman VPN"></a></p>

## 🚀 Main features

✈️ Cross-platform: Android, Windows, macOS, and Linux

📺 Android TV: works with the remote control

⭐ Very easy to use, with a simple interface

🆓 Free: 50 GB a month for every Firefox Account

🌐 Mozilla's servers: choose a country with a ping test, or let the app pick the best server

⚡ Fast, stable connections over HTTP/2 and HTTP/3

🔀 Smart routing (split tunneling): choose the sites and apps that skip the VPN

🧱 If your network blocks the connection: TLS fragmentation, upstream SOCKS5 proxy, and a relay server

🔒 Encrypted DNS (DNS over HTTPS)

🌍 15 languages, including English, Persian, Chinese, and Russian

🌙 Light and dark themes

🛡 Open source, secure, and community-driven

🔄 Automatic updates

## 📸 Screenshots

<p align="center">
<img src="docs/screenshots/phone_01.webp" width="240" alt="Home">&nbsp;&nbsp;
<img src="docs/screenshots/phone_02.webp" width="240" alt="Servers">&nbsp;&nbsp;
<img src="docs/screenshots/phone_03.webp" width="240" alt="Settings">
</p>

## 📥 Download

<table>
<thead>
<tr><th>System</th><th>Download</th></tr>
</thead>
<tbody>
<tr><td>Android</td><td><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Android-universal.apk"><img src="https://img.shields.io/badge/APK-Universal-1a7f37?logo=android&logoColor=white" alt="APK Universal"></a><br><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Android-arm64-v8a.apk"><img src="https://img.shields.io/badge/APK-ARMv8-2da44e?logo=android&logoColor=white" alt="APK ARMv8"></a><br><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Android-armeabi-v7a.apk"><img src="https://img.shields.io/badge/APK-ARMv7-4ac26b?logo=android&logoColor=white" alt="APK ARMv7"></a><br><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Android-x86_64.apk"><img src="https://img.shields.io/badge/APK-x64-6fdd8b?logo=android&logoColor=white" alt="APK x64"></a></td></tr>
<tr><td>Android TV</td><td><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Android-universal.apk"><img src="https://img.shields.io/badge/APK-Universal-1a7f37?logo=android&logoColor=white" alt="APK Universal"></a></td></tr>
<tr><td>Windows</td><td><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Windows-Setup-x64.exe"><img src="https://img.shields.io/badge/Setup-x64-0550ae?logo=windows&logoColor=white" alt="Setup x64"></a><br><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Windows-x64.zip"><img src="https://img.shields.io/badge/Portable-x64-0969da" alt="Portable x64"></a></td></tr>
<tr><td>macOS</td><td><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-macOS.dmg"><img src="https://img.shields.io/badge/DMG-Universal-24292f?logo=apple&logoColor=white" alt="DMG Universal"></a></td></tr>
<tr><td rowspan="2">Linux</td><td><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Linux-amd64.tar.gz"><img src="https://img.shields.io/badge/App-amd64-e36209?logo=linux&logoColor=white" alt="App amd64"></a><br><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/Arman-VPN-Linux-arm64.tar.gz"><img src="https://img.shields.io/badge/App-ARM64-e36209?logo=linux&logoColor=white" alt="App ARM64"></a></td></tr>
<tr><td><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/arman-vpn-core-linux-amd64.tar.gz"><img src="https://img.shields.io/badge/Core-amd64-f0883e?logo=linux&logoColor=white" alt="Core amd64"></a><br><a href="https://github.com/armanlife/arman-vpn-client/releases/latest/download/arman-vpn-core-linux-arm64.tar.gz"><img src="https://img.shields.io/badge/Core-ARM64-f6a35e?logo=linux&logoColor=white" alt="Core ARM64"></a></td></tr>
</tbody>
</table>

**Which file should I download?**

- **Android:** if you are not sure, take **Universal**; it installs on every phone. **ARMv8** is for most of today's phones and is smaller.
- **Windows:** **Setup** is a normal installer; **Portable** needs no install and runs from any folder.
- **Linux:** **App** for a Linux desktop (with a graphical environment); **Core** for a server (without a graphical environment, with a web panel).

## 💻 Install and update on Linux and macOS

> Windows and Android users don't need this section: take the installer from the "Download" table above.

```bash
curl -fsSL https://raw.githubusercontent.com/armanlife/arman-vpn-client/main/install.sh | bash
```

### 🌐 Web panel

For Linux servers, Arman VPN has a **web panel** that opens in any browser and has everything the app has: managing accounts and data, choosing a server and testing delay, the connection test, the live log, and every setting.

<p align="center"><img src="docs/screenshots/web.webp" width="720" alt="Web panel"></p>

- **Panel address:** `http://SERVER-IP:10820/app/`, with a username and password. The exact address is shown at the end of the install.
- **Proxy:** SOCKS5 and HTTP on port `10810`, with a username and password of its own.

### ⌨️ Managing from the terminal

On the server, run `sudo arman-vpn` to open the management menu:

```text
$ sudo arman-vpn

  Arman VPN
  ────────────────────────────────────────────────────────────────────────────
    Service     ● running
    Autostart   on
  ────────────────────────────────────────────────────────────────────────────
   0) Exit
  ────────────────────────────────────────────────────────────────────────────
   1) Update                                   arman-vpn update
   2) Uninstall                                arman-vpn uninstall
  ────────────────────────────────────────────────────────────────────────────
   3) Set panel login                          arman-vpn panel
   4) View panel info                          arman-vpn panel-info
  ────────────────────────────────────────────────────────────────────────────
   5) Status                                   arman-vpn status
   6) Start                                    arman-vpn start
   7) Stop                                     arman-vpn stop
   8) Restart                                  arman-vpn restart
   9) Show the log                             arman-vpn logs
  ────────────────────────────────────────────────────────────────────────────
  10) Enable autostart                         arman-vpn enable
  11) Disable autostart                        arman-vpn disable
  ────────────────────────────────────────────────────────────────────────────
  12) Add a Firefox Account                    arman-vpn add-account
  13) List the accounts                        arman-vpn list-accounts
  ────────────────────────────────────────────────────────────────────────────
  Enter a number [0-13]:
```

## OpenWrt routers

To install on an OpenWrt router, see the [OpenWrt guide](docs/OPENWRT.md).

## Known limitations

<details>
<summary>What Mozilla's servers do not carry</summary>

- **TCP:** ports 80, 443, 8080, and 8443 only. Other ports, such as mail (25, 465, 587, 993) and SSH (22), are refused. Git over SSH to GitHub is the exception: it goes through port 443 by itself.
- **UDP:** ports 80, 443, 3478, 8080, 8443, and 49152-65534 only. Calls and games on other ports do not go through. Browsers and most apps work normally.

</details>

## Disclaimer

This app is an independent, unofficial client, made and maintained by its own developer. It is not a Mozilla product: Mozilla did not make it, does not own, sponsor, or endorse it, and has no part in its development or support. Questions and problems about the app belong in this repository, not with Mozilla.

You sign in with your own Mozilla account. The account's terms, data limit, and availability are set by Mozilla. Your password and sign-in tokens stay on your device.

