Get configs from our Telegram channel → then follow Client Setup for your method below.
VPN Setup Guide
Internal guide for our team — creating and managing VPN servers to keep people inside Iran connected. We're using UpCloud for now; most of this applies to other VPS providers too.
For VPN Users
If you want to use a VPN config (not deploy one): get configs from our Telegram channel, then follow the Client Setup section for your method:
- Slipstream — HTTP/2 tunnel; use a Slipstream-compatible client
- DNSST + SSH — DNS tunnel or SSH proxy; use when other methods are blocked
- VLESS + Reality — Import the
vless://link; works on most networks
What's in Here (Deployers)
- Creating a Server at UpCloud — Spin up a VM, get SSH access
- DNS Records (A & NS) — Add A and NS records at GoDaddy
- Connecting to Your Server — SSH in and run the scripts
- VPN Methods — We deploy all of these to cover different users and approaches:
- Slipstream — HTTP/2 tunnel
- DNSST + SSH — DNS tunnel + SSH proxy, for when other stuff gets blocked
- VLESS + Reality — VLESS + Reality (sing-box)
Quick Runthrough
- Create a server at UpCloud.com
- Add A and NS records at GoDaddy
- SSH in
- Run
initial_setup.shfirst - Run the scripts for the methods you're deploying
- Test first — Someone inside Iran needs to verify the config works
- Once confirmed, we add it to the Telegram channel
Sharing Configs
Configs go to our Telegram channel, but only after they're verified. Flow: test with someone inside Iran → once it works, we add it to the channel.
Scripts
Run initial_setup.sh first — it copies all scripts to ~/scripts/.
curl -sL https://gitlab.com/freedom-for-iran/website/-/raw/main/scripts/initial_setup.sh | bash
Then run e.g. ~/scripts/vless_reality.sh or ~/scripts/slipstream.sh (see each method guide).