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:


What's in Here (Deployers)

  1. Creating a Server at UpCloud — Spin up a VM, get SSH access
  2. DNS Records (A & NS) — Add A and NS records at GoDaddy
  3. Connecting to Your Server — SSH in and run the scripts
  4. VPN Methods — We deploy all of these to cover different users and approaches:
  5. Slipstream — HTTP/2 tunnel
  6. DNSST + SSH — DNS tunnel + SSH proxy, for when other stuff gets blocked
  7. VLESS + Reality — VLESS + Reality (sing-box)

Quick Runthrough

  1. Create a server at UpCloud.com
  2. Add A and NS records at GoDaddy
  3. SSH in
  4. Run initial_setup.sh first
  5. Run the scripts for the methods you're deploying
  6. Test first — Someone inside Iran needs to verify the config works
  7. 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).