Git Product home page Git Product logo

xtls-iran-reality's Introduction

XTLS-Iran-Reality

Xray-core (V2ray) Server with Reality Protocol for bypassing internet censorship in Iran with TLS encryption.


  • The main goal of this guide is to spread awereness on how to make one correctly.
  • The configuration file (config.json) is the main key here that includes a correct CIDR-IP block so the server does not initiate a connection back to Iran as this is not "normal" behaviour for a (web)server.

Notes

  • This is a noob-friendly guide but if you are an experienced linux user you should make a new user without sudo-access to run xray and give right permissions to files.
  • I wanted to make it easy for anyone non-technical to make a server without changing/creating users or editing permissions of files.
  • I will also teach on how to use your Iranian IP for direct communication to Iranian websites/services without disconnecting the "VPN" using routing rules.
  • This will not work with CDNs such as Cloudflare.
  • This will only work with clients that use xray-core 1.8.0 or above. See Clients for links to updated apps/programs.
  • V2rayNG version 1.8.2+ or above for Android.
  • FoXray for Iphone.

This guide is written for Ubuntu 22.04 LTS but any Debian based distro should also work.

What you need before starting this guide. Prerequisites

  • VPS or any other computer / Virtual-Machine running Ubuntu 22.04 LTS or a Debian based distro.
  • SSH or terminal/console access to your server.
  • You need to know your username (the username when you log into Ubuntu)
  • Port 443 open in your router or/and firewall.
  • Optional (But not required)

  • A Domain name, You can get a free domain name from https://freedns.afraid.org/ or https://www.noip.com/
  • Domain name must be pointed to your IP hosting the server.

First we need to do some kernel settings for performance and raise ulimits.

sudo nano /etc/sysctl.conf

Copy this at end of then file and save and close.

net.ipv4.tcp_keepalive_time = 90
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_fastopen = 3
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
fs.file-max = 65535000

Then run this command to edit limits.conf

sudo nano /etc/security/limits.conf

Copy this at end of the file and save and close.

* soft     nproc          655350
* hard     nproc          655350
* soft     nofile         655350
* hard     nofile         655350
root soft     nproc          655350
root hard     nproc          655350
root soft     nofile         655350
root hard     nofile         655350

Run this to apply settings.

sudo sysctl -p

Install Xray (XTLS)

Create a folder called xray in your username home folder. You should be in this folder when you log in.

mkdir xray

Update Ubuntu package list and install unzip.

sudo apt-get update
sudo apt-get install unzip

Change directory to the newly created xray folder.

cd xray/

Download the latest geoasset file for blocking Iranian websites.

wget https://github.com/bootmortis/iran-hosted-domains/releases/latest/download/iran.dat

Download the latest version of XTLS-Xray-Core.

Link to release page.

https://github.com/XTLS/Xray-core/releases

To download the Xray-linux-64.zip file, we can use the wget command. Then we will unzip the file.

wget https://github.com/XTLS/Xray-core/releases/download/v1.8.3/Xray-linux-64.zip
unzip Xray-linux-64.zip

Remove the Xray-linux-64.zip for easier future updates. See updates

rm Xray-linux-64.zip

Generate UUID for config.json save this for later. Replace Secret with any random text/string

./xray uuid -i Secret

It should look something like this.

92c96807-e627-5328-8d85-XXXXXXXXX

Generate Private and Public keys and save it for later

./xray x25519

It should look something like this.

Private key: qBvFzkSMcgrXXXXXJu2VSt3-0dCy-XX8IXXXXXXXXXX
Public key: rhrL9r_VGMWtwXXXXHO_eAi5e4CIn_XXXXXXXXXXXXX
  • The Private key is only for the server.
  • The Public key is for your apps/clients.

Run this command to generate short IDs, You can have multiple short IDs or just one. Save it for later.

openssl rand -hex 8

It should look something like this.

d82fb387XXXXXXXX

Install xray to boot at startup (Systemd-Service) create file or copy paste xray.service file from this repository

Create service file.

sudo nano /etc/systemd/system/xray.service
[Unit]
Description=XTLS Xray-Core a VMESS/VLESS Server
After=network.target nss-lookup.target
[Service]
# Change to your username <---
User=USERNAME
Group=USERNAME
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
#                       --->  Change to your username  <---
ExecStart=/home/USERNAME/xray/xray run -config /home/USERNAME/xray/config.json
Restart=on-failure
RestartPreventExitStatus=23
StandardOutput=journal
LimitNPROC=100000
LimitNOFILE=1000000
[Install]
WantedBy=multi-user.target

Remember to edit this file to your own USERNAME! The parts to edit are.

User=USERNAME
Group=USERNAME
ExecStart=/home/USERNAME/xray/xray run -config /home/USERNAME/xray/config.json

Example

User=SasukeFreestyle
Group=SasukeFreestyle
ExecStart=/home/SasukeFreestyle/xray/xray run -config /home/SasukeFreestyle/xray/config.json

Reload services and enable auto-start.

sudo systemctl daemon-reload && sudo systemctl enable xray

Xray Configuration

Create a new file called config.json inside xray folder. Copy contents of config.json from this repository to the file.

nano /home/USERNAME/xray/config.json
  • Enter your UUID inside "YOUR UUID HERE"
  • Enter your Private Key inside "PRIVATE KEY HERE"
  • Enter your Short ID inside "shortIds":

  • Enter a destination ( "dest": ) and serverNames ("serverNames":).
  • This must be a website outside of Iran that you can access with a regular internet connection.
  • Destination website must have/support HTTPS/TLSv1.3 and H2.
  • This config is preconfigured with www.google-analytics.com website but here is a list of other websites that I think works.

The parts to edit are.

      {
         "listen":"0.0.0.0",
         "port":443,
         "protocol":"vless",
         "settings":{
            "clients":[
               {
                  "id":"UUID HERE", // Your generated UUID here.
                  "flow":"xtls-rprx-vision"
               }
            ],
            "decryption":"none"
         },
         "streamSettings":{
            "network":"tcp",
            "security":"reality",
            "realitySettings":{
               "show":false,
               "dest":"www.google-analytics.com:443", // Edit to a website/server that works without VPN outside of Iran
               "xver":0,
               "serverNames":[
                  "www.google-analytics.com" // (SNI) Same as "dest" but without portnumber.
               ],
               "privateKey":"PRIVATE KEY HERE", // Private key you generated earlier.
               "minClientVer":"1.8.0",
               "maxClientVer":"",
               "maxTimeDiff":0,
               "shortIds":["SHORT ID HERE" // Short ID
               ]
            }
         },

Example

"id":"92c96807-e627-5328-8d85-XXXXXXXXX",
"privateKey":"qBvFzkSMcgrXXXXXJu2VSt3-0dCy-XX8IXXXXXXXXXX",
"shortIds":["d82fb387XXXXXXXX"]

Now start xray and check if xray is running it should now say Active: active (running).

sudo systemctl start xray && sudo systemctl status xray
● xray.service - XTLS Xray-Core a VMESS/VLESS Server
     Loaded: loaded (/etc/systemd/system/xray.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-02-14 18:31:07 CET; 22min ago
   Main PID: 338362 (xray)
      Tasks: 16 (limit: 9365)
     Memory: 279.6M
        CPU: 5min 28.315s

Done! Now test the server with your clients.

Client/Apps (Settings)

V2rayNG (Android)

In V2rayNG press + then pick "Type manually[VLESS]"

Settings also apply to V2rayN (Windows).

Remember to set (uTLS) Fingerprint to Chrome.

  • Remarks/Alias
    • Name of the server, choose whatever name you want.
  • Address
    • IP or domain name of your server.
  • Port: 443
  • id:
    • Your UUID in config.json
  • Flow: xtls-rprx-vision
  • Encryption: None
  • Network: TCP
  • TLS: Reality
  • SNI: www.google-analytics.com (serverNames)
  • uTLS/Fingerprint: randomized or Chrome (I prefer randomized).
  • PublicKey: rhrL9r_VGMWtwXXXXHO_eAi5e4CIn_XXXXXXXXXXXXX, The public (not private) key you generated earlier.
  • ShortId: d82fb387XXXXXXXX , The short ID you generated earlier.

photo_2023-04-14_16-33-50

If you want to be able to visit Iranians websites without disconnecting the VPN follow the instructions in the video below.

This will also make it harder for government to see that you are using a VPN.

  • Connect to your server then go to Settings -> Geo asset files -> press download cloud to download new Geo asset files.

  • Go to Settings -> Custom Rules -> Direct URL or IP.

Enter

geoip:private,
geosite:private,
geoip:ir,
geosite:category-ir
  • Then save and reconnect to your server. Try browsing to youtube and tci.ir both will now work at the same time.

Video Instructions:

Untitled.mp4

V2rayN (Windows)

V2rayN 6.21+

v2rayN


Nekoray (Windows/Linux)

Nekoray 2.25+

Change core to sing-box in "Basic Settings".

nekoraysing

nekosettings


Iphone/Mac

FoXray

Pictures/Screenshots comming soon.


Routing rules

For routing rules for each client see bootmortis excellent guides. https://github.com/bootmortis/iran-hosted-domains

Link to some other routing rules for V2rayNG and FoXray


How to update to latest version

If a new version of Xray is published and you want to update to the latest version do this easy steps.

  • Log into your machine with SSH.

Change directory to your xray folder.

cd xray/

wget the latest release.

wget https://github.com/XTLS/Xray-core/releases/download/v1.8.3/Xray-linux-64.zip

This command will stop the xray service and remove old files and start xray service again.

sudo systemctl stop xray && rm geo* && rm LICENSE && rm README.md && rm xray && unzip Xray-linux-64.zip && sudo systemctl start xray

Make sure xray is running by entering this command.

sudo systemctl status xray

Remove the zipfile.

rm Xray-linux-64.zip

Done!

Credits

XTLS-core Team / v2fly

@bootmortis for Iranian domain list and routing rules.

And many others.

xtls-iran-reality's People

Contributors

sasukefreestyle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

xtls-iran-reality's Issues

(Android) - Shadowrocket برنامه Routing آموزش نصب و تنظیمات

سلام به همه رفقای
امیدوارم که این آموزشهای تصویری بتونه کمکی کنه

شما میتوانید از ربات آموزشی تلگرام برای دریافت این آموزش ها نیز استفاده کنید
@IRAN_VPN_Guide_bot

Screenshot 2023-05-21 at 07 28 17

**دانلود نسخه PDF
بروزرسانی, تنظیمات, مسدود سازی اپلیکیشن Shadowrocket.pdf

دانلود فایل iran.dat از اینجا

  • DIRECT URL OR IP : ext:iran.dat:ir,ext:iran.dat:other,geoip:ir

  • BLOCKED URL OR IP : ext:iran.dat:ads

01
02
03
04

  • DIRECT URL OR IP : ext:iran.dat:ir,ext:iran.dat:other,geoip:ir

  • BLOCKED URL OR IP : ext:iran.dat:ads

05

Optional Block: List of 200 Iranian mobile applications.

Hi @SasukeFreestyle
Here is the List of 200 Iranian mobile Applications to Add to your .dat Files.
They've been organized in alphabetical order.

IR-Mobile-App-List.txt

"123tel", "a4f3clien", "abankefarda", "abank", "afaco.formool", "ako", "alachiigh", "alibaba", "alibaba.ir", "amirza", "anardoni", "anonycoders", "app.appaagah", "app.char", "app.fori", "app7030", "aparatspor", "aparattv", "app.gapkids", "app.hamrah", "app.hamyan", "app.igap", "app.leido", "app.mamana", "app.mydars", "app.padars", "app.pinno", "appchar", "artemis", "asantelegram", "asanbar", "asanapps.ariyagraph", "asparproject.app", "aspardproject", "ava", "baham", "bajet", "bajit", "bale", "balemessenger", "balonet", "bankino", "behkhaan", "behkhan", "bente", "bento", "bki", "blu", "bonakchi", "bonakchi.app", "bpm", "bsinew", "buyko", "carenboo", "cafe.telegraph", "calculationreal", "can.sel", "can.sell", "cartoonflix", "chabokpassenge", "cheebachee", "cheebachee.app", "cicika", "com.bize.irr", "combize", "cyklet", "cyklet.app", "daybank", "digikala", "digikala.firebol", "digikala.jet", "digilam", "digilam.app", "divar", "doozbin", "dorsabarza", "eghamat24", "efarda", "efar.da", "eitaa", "ela.mlaak", "eligasht", "enove.lingojoo", "esam", "esam.app", "esasy.live.memberbegirrubika", "etc", "express.snapp", "ezpay", "fadiaapp", "fam", "faraketab", "farakav.anten", "factorsabz", "fanoos", "fanoospfm", "fidibo", "filmnet", "filmischool", "flytoday", "football360", "footballi", "formool", "gardeshgari", "gardeshpay", "gahvare", "gapfilm.app", "gapkids", "gajino", "gajmarket", "gapfilm", "gapkid", "hamrah_mechanic", "hamrahbank", "hamrahcard", "hamrahelm", "hamrahnovin", "hoorsa", "homsa", "homsa.snapptrip", "hyperchi", "icup", "imino", "imino.pc.child", "iranapp", "iranmodernbusinesses.netbarg", "itoll", "itoll.mycarapp", "jadeh", "jadeh.driver", "jadeh.loadowner", "jajiga", "jajiga.app", "jama.ba", "jan.ebi", "karafs", "kalabis.hassan", "karnameh", "keshavarzi", "kilid", "kilid.portal", "kimiabiz", "learnit", "lenz", "lenz.tv", "likotv", "luna", "lunaapp", "mamana", "masterkala", "masterkala.shop", "melal", "melkana", "mehr.iran", "mehriran", "melkplus", "mibini", "mihmansho", "mobilemancard", "mobillet", "mydars", "mydigipay", "myiran", "myirancell", "myirancellcorp", "myrightel", "myshatel", "namava", "namava.mobile", "nasim", "navaco", "netbarg", "neshan", "neshan.traffic", "nichijou.app", "niazmandiha", "nobitex", "noonqeshm", "novinappsaz", "novinsimorgh", "partsoftware", "pasaj", "pasazh", "patogh", "patoghe_ketab", "payamakdoon", "paypod", "peccharge", "persiandesigners", "persiancalendar", "pikaap", "pinno", "pinno.app", "pindopin", "pindo", "pindo.fletcher", "pindopin", "pinket", "pinket.app", "pishkhan24", "quran", "qurankriampishgaman", "rayanmehr", "rezagem", "rizhav", "ronaksoftware", "roomack.amlaak", "rubika", "rubika.a", "sad24", "sad24.app", "sadadpsp", "safarmarket", "saramed", "sarmaye", "sarmayeh", "sekeh", "sepehr360", "set", "setareyek", "sesoot", "shahab_zarrin.quiz", "shahab_zarrin.tikup", "shahbaz", "shahbaz.zarrin", "shahbaz.zarrin.quiz", "shahbaz.zarrin.tikup", "shafa.doc", "shatel", "shatelland", "shatelland.namava.mobile", "shatelland.namava.tv", "shmapp", "shipnow", "sinamobilebank", "snapp", "snapp_box", "snapp.driver", "snapp.passenger", "snappfood", "snappfood.vms", "snappfoodvms", "soroush", "soroushmessenger", "stts.etc", "stts", "sunsetcar", "taaghche", "tabastaz.ir", "takhfifan", "takhfifhot", "takhfifhot.app", "taaghche", "tapsi", "taxi.tap30", "taxi.tap30.passenger", "tap30", "tap30.passenger", "tapsi", "tejarapp", "tejaratmobilebank", "tgbs", "tgbs.app", "tgbsgame", "tosansoha", "toranj", "torob", "toujib", "toujib.app", "wepod", "wepod.app", "yaramobile.pishvaz", "yma", "yootopin", "yotopin", "zabanshenas", "zabe amooz", "zamin.balonet", "zillow", "zillowmap", "zireh", "zoodfood", "zoodroom"

Thank you in advance, and on behalf of the Iranian community, we appreciate all your help and support.
"The only thing necessary for the triumph of evil is for good Men & Woman to do nothing.”
✌🏾

هنوز کار میکنه؟

به نظر میاد یک سری روش های جدید برای فیلترینگ دارن اعمال میکنن که سرور های reality هم آیپی هاش فیلتر میشه، من با xui ستاپ کرده بودم reality رو و بن شدن الان. روش شما هنوز کار میکنه؟ از سرور داخلی برای تونل زدن استفاده میکنید یا مستقیم وصل میشید؟

Short ID ?

Salam,

What is the use of short ID?

You mention that we can generate multiple short ID or just one short ID?

What is it for? If I have multiple users, does each person / each device require their own unique short ID?

Can I give all users the same short ID?

Thanks

Where/How to find a clean IP that works in every operator ?

EDIT : The following error was coming from the fact that my IP was not "clean", it is still unclear how to find a working clean IP that works in Irancell (and soon other operators as well). To test the cleanness of your IP, you can try to ssh to your server while connected to your iranian isp, if the connection is made, it should mean your ip is clean. However, this ssh tests didn't really help me since even tho server was connecting over ssh, v2ray was still getting blocked on Irancell with dest yahoo. Apparently you can use the tool https://github.com/MortezaBashsiz/CFScanner, alledgedly giving more accurate results if used with linux. Personnally couldn't find a clean IP yet.

Hello, I tried using this protocol, doesn't seem to work on hamra-ye avval and Irancell, didn't try other ISPs.
Steps I did to follow that :
-1) buy a server from namecheap, test the validity of the server by doing "ping + [server's ip address]" from hamrah avval and Irancell, packets recieved succesfully. (I can also ssh to my server from my computer)
2) "a domain" to [server's ip address] from namecheap
3) Setup Iran reality on server, everything works good, server is active.

Connection fails :

04-19 04:23:45.635 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:45.875 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:46.284 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:46.284 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:46.285 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:46.285 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:46.287 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:46.697 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:46.697 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:47.924 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:48.421 I/GoLog (31769): [Warning] [3677277521] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [read tcp xxx.xxx.12.39:44368->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:58316->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:36228->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:38614->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:50578->[server's ip address]:443: read: connection reset by peer] > common/retry: all retry attempts failed
04-19 04:23:48.422 I/GoLog (31769): [Warning] [2546357279] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [read tcp xxx.xxx.12.39:44358->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:58308->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:36234->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:38616->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:50584->[server's ip address]:443: read: connection reset by peer] > common/retry: all retry attempts failed
04-19 04:23:48.844 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:49.053 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:49.054 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:49.057 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:49.667 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:49.829 I/GoLog (31769): udp:127.0.0.1:39565 accepted udp:8.8.4.4:53 [socks >> proxy]
04-19 04:23:49.841 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:49.972 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:51.419 I/GoLog (31769): udp:127.0.0.1:45429 accepted udp:1.1.1.1:53 [socks -> proxy]
04-19 04:23:51.616 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:52.011 I/GoLog (31769): udp:127.0.0.1:43802 accepted udp:1.1.1.1:53 [socks -> proxy]
04-19 04:23:52.179 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:53.291 I/GoLog (31769): udp:127.0.0.1:60019 accepted udp:1.1.1.1:53 [socks -> proxy]
04-19 04:23:53.295 I/GoLog (31769): udp:127.0.0.1:33394 accepted udp:1.1.1.1:53 [socks -> proxy]
04-19 04:23:53.452 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:53.452 I/GoLog (31769): Using Prepared: [server's ip address]
04-19 04:23:53.741 D/com.v2ray.ang(31769): measureV2rayDelay: go.Universe$proxyerror: Get "https://www.google.com/generate_204": net/http: TLS handshake timeout
04-19 04:23:56.105 I/GoLog (31769): [Warning] [3397037696] app/proxyman/outbound: failed to process outbound traffic > proxy/vless/outbound: failed to find an available destination > common/retry: [read tcp xxx.xxx.12.39:51526->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:50526->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:45922->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:35340->[server's ip address]:443: read: connection reset by peer read tcp xxx.xxx.12.39:35454->[server's ip address]:443: read: connection reset by peer] > common/retry: all retry attempts failed
04-19 04:23:56.215 I/GoLog (31769): Using Prepared: [server's ip address]

is domain name a must ?/ is certificate needed for own domain?

Hello,
This configuration, without any domain name, worked good on Hamraavval yesterday,
however this stopped working after 24 hours.
I think this reality protocol works now only with a domain name that is certified, at least it's the case for irancell and hamra avval.
I recommend you to create a tutorial for doing it with domain name as well,
i am unsuccesfully trying to add domain, but still doesn't work correctly (TLS handshake error)

  • is installing Nginx a must ?

(IOS) - Shadowrocket برنامه Routing آموزش نصب و تنظیمات

سلام به همه رفقای
امیدوارم که این آموزشهای تصویری بتونه کمکی کنه

شما میتوانید از ربات آموزشی تلگرام برای دریافت این آموزش ها نیز استفاده کنید
@IRAN_VPN_Guide_bot

Screenshot 2023-05-24 at 16 28 50

دانلود نسخه PDF
(IOS & macOS) - Shadowrocket برنامه Routing آموزش نصب و تنظیمات.pdf
دانلود فایل shadowrocket.conf از اینجا

File Source

بروزرسانی, تنظیمات, مسدود سازی اپلیکیشن - ISO-Shadowrocket

(IOS & macOS) - FoXray برنامه Routing آموزش نصب و تنظیمات

سلام به همه رفقای عزیز
این مقاله را تنظیم کردیم, امیدوارم که مورد استفاده قرار بگیرد

شما میتوانید از ربات آموزشی تلگرام برای دریافت این آموزش ها نیز استفاده کنید
@IRAN_VPN_Guide_bot

دانلود نسخه PDF
IOS & macOS-FoXray.pdf


Foxray-Add-Config


آموزش Routing و مسدودسازی سایت‌ها و اپلیکیشن‌های ایرانی از سمت کاربر در اپلیکیشن FoXray

این قسمت را از کاربرا‌ن‌تان بخواهید که انجام دهند. چرا که ایده‌ال ترین حالت این است که اساسا ترافیک داخلی ایران به سمت پروکسی سرور شما ارسال نشود. مثلا اپلیکیشن FoXray برای ما این امکان را فراهم می‌کند که به سادگی مشخص کنیم ترافیک داخلی از پروکسی عبور نکند و فقط ترافیک خارجی به سمت پروکسی سرور ارسال شود

مزایای استفاده از Routing
کاهش احتمال شناسایی سرور
کاهش ترافیک سرور و در نتیجه بالا رفتن کیفیت
کاهش هزینه‌های سرور (اگر بابت ترافیک هزینه جداگانه پرداخت می‌کنید.)

ما برای راحتی و سهولت کاربران این تنظیمات و قوانین را از قبل تهیه و تنظیم کرده ایم و به صورت لینک کانفیگ قابل اجرا در اختیار شما گذشته ایم. توجه داشته باشید با استفاده از این کانفیگ و فعال کردن آن که در مراحل بعدی آموزش خواهیم داد که چگونه شما میتوانید تمام سایت های ایرانی با پسوند ir. را به اصطلاح مستقیم کنید و ترافیک داخلی را از پروکسی سرور خارجی خود عبور ندهید

در مرحله اول لینک های کانفیگ Routing و DNS زیر را دانلود به صورت کامل کپی کنید

FoXray-Routing.Config.for.IRAN.docx

IR-Direct🇮🇷

xray://ewogICJkbnMiIDogewogICAgImRpc2FibGVDYWNoZSIgOiB0cnVlLAogICAgImRpc2FibGVGYWxsYmFjayIgOiBmYWxzZSwKICAgICJkaXNhYmxlRmFsbGJhY2tJZk1hdGNoIiA6IGZhbHNlLAogICAgInF1ZXJ5U3RyYXRlZ3kiIDogIlVzZUlQIiwKICAgICJzZXJ2ZXJzIiA6IFsKICAgICAgewogICAgICAgICJhZGRyZXNzIiA6ICI4LjguOC44IiwKICAgICAgICAic2tpcEZhbGxiYWNrIiA6IGZhbHNlCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWRkcmVzcyIgOiAiOC44LjQuNCIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiB0cnVlCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWRkcmVzcyIgOiAiMS4xLjEuMSIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9LAogICAgICB7CiAgICAgICAgImFkZHJlc3MiIDogImh0dHBzOi8vMS4xLjEuMS9kbnMtcXVlcnkiLAogICAgICAgICJza2lwRmFsbGJhY2siIDogZmFsc2UKICAgICAgfSwKICAgICAgewogICAgICAgICJhZGRyZXNzIiA6ICJodHRwczovL2Rucy5nb29nbGUvZG5zLXF1ZXJ5IiwKICAgICAgICAic2tpcEZhbGxiYWNrIiA6IGZhbHNlCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWRkcmVzcyIgOiAiaHR0cHM6Ly9kbnMucXVhZDkubmV0L2Rucy1xdWVyeSIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9LAogICAgICB7CiAgICAgICAgImFkZHJlc3MiIDogImh0dHBzOi8vZG9oLm9wZW5kbnMuY29tL2Rucy1xdWVyeSIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9LAogICAgICB7CiAgICAgICAgImFkZHJlc3MiIDogImh0dHBzOi8vZG9oLmNsZWFuYnJvd3Npbmcub3JnL2RvaC9mYW1pbHktZmlsdGVyLyIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9LAogICAgICB7CiAgICAgICAgImFkZHJlc3MiIDogImh0dHBzOi8vZG5zLmFkZ3VhcmQuY29tL2Rucy1xdWVyeSIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9CiAgICBdLAogICAgInRhZyIgOiAiZG5zUXVlcnkiCiAgfSwKICAiZXh0IiA6IHsKICAgICJkYXQiIDogWwogICAgICB7CiAgICAgICAgIm5hbWUiIDogImdlb2lwIiwKICAgICAgICAidHlwZSIgOiAiaXAiLAogICAgICAgICJ1cmwiIDogImh0dHBzOi8vZ2l0aHViLmNvbS92MmZseS9nZW9pcC9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvZ2VvaXAuZGF0IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiIDogImdlb3NpdGUiLAogICAgICAgICJ0eXBlIiA6ICJkb21haW4iLAogICAgICAgICJ1cmwiIDogImh0dHBzOi8vZ2l0aHViLmNvbS92MmZseS9kb21haW4tbGlzdC1jb21tdW5pdHkvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL2RsYy5kYXQiCiAgICAgIH0KICAgIF0sCiAgICAibmFtZSIgOiAiSVItRGlyZWN08J+HrvCfh7ciCiAgfSwKICAib3V0Ym91bmRzIiA6IFsKICAgIHsKICAgICAgInRhZyIgOiAicHJveHkiCiAgICB9LAogICAgewogICAgICAicHJvdG9jb2wiIDogImRucyIsCiAgICAgICJzZXR0aW5ncyIgOiB7CiAgICAgICAgImFkZHJlc3MiIDogIjguOC44LjgiLAogICAgICAgICJub25JUFF1ZXJ5IiA6ICJza2lwIgogICAgICB9LAogICAgICAic3RyZWFtU2V0dGluZ3MiIDogewogICAgICAgICJzb2Nrb3B0IiA6IHsKICAgICAgICAgICJkaWFsZXJQcm94eSIgOiAicHJveHkiCiAgICAgICAgfQogICAgICB9LAogICAgICAidGFnIiA6ICJkbnNPdXQiCiAgICB9CiAgXSwKICAicm91dGluZyIgOiB7CiAgICAiZG9tYWluU3RyYXRlZ3kiIDogIklwSWZOb25NYXRjaCIsCiAgICAicnVsZXMiIDogWwogICAgICB7CiAgICAgICAgImluYm91bmRUYWciIDogWwogICAgICAgICAgImRuc1F1ZXJ5IgogICAgICAgIF0sCiAgICAgICAgIm91dGJvdW5kVGFnIiA6ICJwcm94eSIsCiAgICAgICAgInR5cGUiIDogImZpZWxkIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm91dGJvdW5kVGFnIiA6ICJkbnNPdXQiLAogICAgICAgICJwb3J0IiA6ICI1MyIsCiAgICAgICAgInR5cGUiIDogImZpZWxkIgogICAgICB9LAogICAgICB7CiAgICAgICAgImRvbWFpbiIgOiBbCiAgICAgICAgICAic25hcHAsZGlnaWthbGEsZGl2YXIsdGFwc2ksYmxvZ2ZhLGlyYW5jZWxsLGJhbmssc2IyNC5jb20sc2hleXBvb3IuY29tLHRlYnlhbi5uZXQsYmV5dG9vdGUuY29tLHRlbGV3ZWJpb24uY29tLEZpbG0ybW92aWUud3MsU2V0YXJlLmNvbSxGaWxpbW8uY29tLFRvcm9iLmNvbSxUZ2p1Lm9yZyxTYXJ6YW1pbmRvd25sb2FkLmNvbSxkb3dubG9hZGhhLmNvbSxQMzBkb3dubG9hZC5jb20sU2FuamVzaC5vcmcsYXBwYXJhdC5jb20sZWl0YWEuY29tLGVtb2ZpZC5jb20seWVrdGFuZXQuY29tLHpoYWtldC5jb20scnRsLXRoZW1lLmNvbSx0Z2p1Lm9yZyxpcmFuZWNhci5jb20sdGFzbmltbmV3cy5jb20sbmV0YWZyYXouY29tLGJsb2dmYS5jb20sZmFyYWRhcnMub3JnLHBhcnNwYWNrLmNvbSxtZWhybmV3cy5jb20saXJhbnNlcnZlci5jb20sYWdhaC5jb20sbWl6YmFuZmEubmV0LG1paGFud2ViaG9zdC5jb20sc2hhaHJla2hhYmFyLmNvbSxhYnphcndwLmNvbSxuaWF6ZXJvb3ouY29tLG11c2ljLWZhLmNvbSx5YXNkbC5jb20sc2hleXBvb3IuY29tLG1paGFud3AuY29tLG1ha3RhYmtob29uZWgub3JnLGRvb3N0aWhhYS5jb20sYXJ6ZGlnaXRhbC5jb20saGV5dmFncm91cC5jb20sc2FyemFtaW5kb3dubG9hZC5jb20sYmFuaW1vZGUuY29tLGlzdGdhaC5jb20sdXBsb2FkYm95LmNvbSx1cG11c2ljcy5jb20sc25hcHAudGF4aSxzYWhhbXlhYi5jb20saGFteWFyd3AuY29tLGJsb2dza3kuY29tLGlyYW5ob3N0LmNvbSxtb3RhbWVtLm9yZyxpcmFudGFsZW50LmNvbSxhYmFzbWFuZXNoLmNvbSx0YWxhaG9zdC5jb20scmF5YW1hcmtldGluZy5jb20sbWVnaGRhZGl0LmNvbSxhbG9wZXlrLmNvbSxzYXJpYXNhbi5jb20sbmFoYXlhdG5lZ2FyLmNvbSxraGFiYXJ2YXJ6ZXNoaS5jb20sY2l2aWxpY2EuY29tLHBhcnNjb2RlcnMuY29tLGtoYW5vdW1pLmNvbSwxOWthbGEuY29tLEZhcnNuZXdzLmNvbSxWYXJ6ZXNoMy5jb20sTmFtbmFrLmNvbSxBcGFyYXQuY29tLHRlbGV3ZWJpb24uY29tLHRvcm9iLmNvbSxuaW5pc2l0ZS5jb20sc2FmYXJtYXJrZXQuY29tLHRpY2tldC1jaGFydGVyLmNvbSxibGl0Y2hhcnRlci5jb20sbXJiaWxpdC5jb20sZmxpZ2h0aW8uY29tLHNuYXBwdHJpcC5jb20sdXRyYXZzLmNvbSx0aWtiYW4uY29tLG1lbGljaGFydGVyLmNvbSxkaWdpY2hhcnRlci5jb20sa2lzaHpvb20ubmV0LHJhaGJhbC5jb20sbWVsaWNoYXJ0ZXIub3JnLGlydG91ci5vcmcsYXJhY2hhcnRlci5jb20sY2hhcnRlcjEubmV0LG1lbGljaGFydGVyLm5ldCxzYW10aWsuY29tLGNoYXJ0ZXIzNjEuY29tLDNjbGljay5jb20sYW1pbmNoYXJ0ZXIuY29tLHRpY2tldGFyemFuLmNvbSxtYW5jaGFydGVyLm5ldCxhcHAuaXJhbmNoYXJ0ZXIubW9iaSxzaW1vcmdoMjQuY29tLGJhLWNoYXJ0ZXIuY29tLHNvdXJ0aWsuY29tLGRlbHRhYmFuLmNvbSxjaGFydGVyNzI0LnZpcCxtZWxsaWNoYXJ0ZXIub3JnLGNoYXJ0ZXIxMjMubmV0LG1haGFuY2hhcnRlci5jb20sY2hlYXBjaGFydGVyLm5ldCxlbGlnYXNodC5jb20sa2lzaDQ0LmNvbSxhcHAuYmx1YmFuay5jb20sYmx1c2VudHJ5LnNkYjI0Ny5jb20sYmx1YmFuay5jb20sc2RiMjQ3LmNvbSxoYW1yYWhjYXJkLmFwcCxtb2JpbGUuYWJhbmthcHAuaXIsc2FtYW5wcixoYW1yYWhjYXJkLGFkcGRpZ2l0YWwubWJzLmF5YW5kZSxQYXlEYSxhYmFua2FwcCxtb2JpbGUuYWJhbmthcHAsc25hcHAudGF4aSwxMjN0ZWwsYTRmM2NsaWVuLGFiYW5rZWZhcmRhLGFiYW5rLGFmYWNvLmZvcm1vb2wsYWtvLGFsYWNoaWlnaCxhbGliYWJhLGFsaWJhYmEuaXIsYW1pcnphLGFuYXJkb25pLGFub255Y29kZXJzLGFwcC5hcHBhYWdhaCxhcHAuY2hhcixhcHAuZm9yaSxhcHA3MDMwLGFwYXJhdHNwb3IsYXBhcmF0dHYsYXBwLmdhcGtpZHMsYXBwLmhhbXJhaCxhcHAuaGFteWFuLGFwcC5pZ2FwLGFwcC5sZWlkbyxhcHAubWFtYW5hLGFwcC5teWRhcnMsYXBwLnBhZGFycyxhcHAucGlubm8sYXBwY2hhcixhcnRlbWlzLGFzYW50ZWxlZ3JhbSxhc2FuYmFyLGFzYW5hcHBzLmFyaXlhZ3JhcGgsYXNwYXJwcm9qZWN0LmFwcCxhc3BhcmRwcm9qZWN0LGF2YSxiYWhhbSxiYWpldCxiYWppdCxiYWxlLGJhbGVtZXNzZW5nZXIsYmFsb25ldCxiYW5raW5vLGJlaGtoYWFuLGJlaGtoYW4sYmVudGUsYmVudG8sYmtpLGJsdSxib25ha2NoaSxib25ha2NoaS5hcHAsYnBtLGJzaW5ldyxidXlrbyxjYXJlbmJvbyxjYWZlLnRlbGVncmFwaCxjYWxjdWxhdGlvbnJlYWwsY2FuLnNlbCxjYW4uc2VsbCxjYXJ0b29uZmxpeCxjaGFib2twYXNzZW5nZSxjaGVlYmFjaGVlLGNoZWViYWNoZWUuYXBwLGNpY2lrYSxjb20uYml6ZS5pcnIsY29tYml6ZSxjeWtsZXQsY3lrbGV0LmFwcCxkYXliYW5rLGRpZ2lrYWxhLGRpZ2lrYWxhLmZpcmVib2wsZGlnaWthbGEuamV0LGRpZ2lsYW0sZGlnaWxhbS5hcHAsZGl2YXIsZG9vemJpbixkb3JzYWJhcnphLGVnaGFtYXQyNCxlZmFyZGEsZWZhci5kYSxlaXRhYSxlbGEubWxhYWssZWxpZ2FzaHQsZW5vdmUubGluZ29qb28sZXNhbSxlc2FtLmFwcCxlc2FzeS5saXZlLm1lbWJlcmJlZ2lycnViaWthLGV0YyxleHByZXNzLnNuYXBwLGV6cGF5LGZhZGlhYXBwLGZhbSxmYXJha2V0YWIsZmFyYWthdi5hbnRlbixmYWN0b3JzYWJ6LGZhbm9vcyxmYW5vb3NwZm0sZmlkaWJvLGZpbG1uZXQsZmlsbWlzY2hvb2wsZmx5dG9kYXksZm9vdGJhbGwzNjAsZm9vdGJhbGxpLGZvcm1vb2wsZ2FyZGVzaGdhcmksZ2FyZGVzaHBheSxnYWh2YXJlLGdhcGZpbG0uYXBwLGdhcGtpZHMsZ2FqaW5vLGdham1hcmtldCxnYXBmaWxtLGdhcGtpZCxoYW1yYWhfbWVjaGFuaWMsaGFtcmFoYmFuayxoYW1yYWhjYXJkLGhhbXJhaGVsbSxoYW1yYWhub3Zpbixob29yc2EsaG9tc2EsaG9tc2Euc25hcHB0cmlwLGh5cGVyY2hpLGljdXAsaW1pbm8saW1pbm8ucGMuY2hpbGQsaXJhbmFwcCxpcmFubW9kZXJuYnVzaW5lc3Nlcy5uZXRiYXJnLGl0b2xsLGl0b2xsLm15Y2FyYXBwLGphZGVoLGphZGVoLmRyaXZlcixqYWRlaC5sb2Fkb3duZXIsamFqaWdhLGphamlnYS5hcHAsamFtYS5iYSxqYW4uZWJpLGthcmFmcyxrYWxhYmlzLmhhc3NhbixrYXJuYW1laCxrZXNoYXZhcnppLGtpbGlkLGtpbGlkLnBvcnRhbCxraW1pYWJpeixsZWFybml0LGxlbnosbGVuei50dixsaWtvdHYsbHVuYSxsdW5hYXBwLG1hbWFuYSxtYXN0ZXJrYWxhLG1hc3RlcmthbGEuc2hvcCxtZWxhbCxtZWxrYW5hLG1laHIuaXJhbixtZWhyaXJhbixtZWxrcGx1cyxtaWJpbmksbWlobWFuc2hvLG1vYmlsZW1hbmNhcmQsbW9iaWxsZXQsbXlkYXJzLG15ZGlnaXBheSxteWlyYW4sbXlpcmFuY2VsbCxteWlyYW5jZWxsY29ycCxteXJpZ2h0ZWwsbXlzaGF0ZWwsbmFtYXZhLG5hbWF2YS5tb2JpbGUsbmFzaW0sbmF2YWNvLG5ldGJhcmcsbmVzaGFuLG5lc2hhbi50cmFmZmljLG5pY2hpam91LmFwcCxuaWF6bWFuZGloYSxub2JpdGV4LG5vb25xZXNobSxub3ZpbmFwcHNheixub3ZpbnNpbW9yZ2gscGFydHNvZnR3YXJlLHBhc2FqLHBhc2F6aCxwYXRvZ2gscGF0b2doZV9rZXRhYixwYXlhbWFrZG9vbixwYXlwb2QscGVjY2hhcmdlLHBlcnNpYW5kZXNpZ25lcnMscGVyc2lhbmNhbGVuZGFyLHBpa2FhcCxwaW5ubyxwaW5uby5hcHAscGluZG9waW4scGluZG8scGluZG8uZmxldGNoZXIscGluZG9waW4scGlua2V0LHBpbmtldC5hcHAscGlzaGtoYW4yNCxxdXJhbixxdXJhbmtyaWFtcGlzaGdhbWFuLHJheWFubWVocixyZXphZ2VtLHJpemhhdixyb25ha3NvZnR3YXJlLHJvb21hY2suYW1sYWFrLHJ1YmlrYSxydWJpa2EuYSxzYWQyNCxzYWQyNC5hcHAsc2FkYWRwc3Asc2FmYXJtYXJrZXQsc2FyYW1lZCxzYXJtYXllLHNhcm1heWVoLHNla2VoLHNlcGVocjM2MCxzZXQsc2V0YXJleWVrLHNlc29vdCxzaGFoYWJfemFycmluLnF1aXosc2hhaGFiX3phcnJpbi50aWt1cCxzaGFoYmF6LHNoYWhiYXouemFycmluLHNoYWhiYXouemFycmluLnF1aXosc2hhaGJhei56YXJyaW4udGlrdXAsc2hhZmEuZG9jLHNoYXRlbCxzaGF0ZWxsYW5kLHNoYXRlbGxhbmQubmFtYXZhLm1vYmlsZSxzaGF0ZWxsYW5kLm5hbWF2YS50dixzaG1hcHAsc2hpcG5vdyxzaW5hbW9iaWxlYmFuayxzbmFwcCxzbmFwcF9ib3gsc25hcHAuZHJpdmVyLHNuYXBwLnBhc3NlbmdlcixzbmFwcGZvb2Qsc25hcHBmb29kLnZtcyxzbmFwcGZvb2R2bXMsc29yb3VzaCxzb3JvdXNobWVzc2VuZ2VyLHN0dHMuZXRjLHN0dHMsc3Vuc2V0Y2FyLHRhYWdoY2hlLHRhYmFzdGF6LmlyLHRha2hmaWZhbix0YWtoZmlmaG90LHRha2hmaWZob3QuYXBwLHRhYWdoY2hlLHRhcHNpLHRheGkudGFwMzAsdGF4aS50YXAzMC5wYXNzZW5nZXIsdGFwMzAsdGFwMzAucGFzc2VuZ2VyLHRhcHNpLHRlamFyYXBwLHRlamFyYXRtb2JpbGViYW5rLHRnYnMsdGdicy5hcHAsdGdic2dhbWUsdG9zYW5zb2hhLHRvcmFuaix0b3JvYix0b3VqaWIsdG91amliLmFwcCx3ZXBvZCx3ZXBvZC5hcHAseWFyYW1vYmlsZS5waXNodmF6LHltYSx5b290b3Bpbix5b3RvcGluLHphYmFuc2hlbmFzLHphYmVhbW9veix6YW1pbi5iYWxvbmV0LHppbGxvdyx6aWxsb3dtYXAsemlyZWgsem9vZGZvb2Qsem9vZHJvb20iCiAgICAgICAgXSwKICAgICAgICAiZXh0IiA6IHsKICAgICAgICAgICJuYW1lIiA6ICJJUi1Eb21haW4iCiAgICAgICAgfSwKICAgICAgICAiaXAiIDogWwogICAgICAgICAgImdlb2lwOmlyIiwKICAgICAgICAgICJnZW9pcDpwcml2YXRlIgogICAgICAgIF0sCiAgICAgICAgIm5ldHdvcmsiIDogInRjcCx1ZHAiLAogICAgICAgICJvdXRib3VuZFRhZyIgOiAiZGlyZWN0IiwKICAgICAgICAicHJvdG9jb2wiIDogWwogICAgICAgICAgImh0dHAiLAogICAgICAgICAgInRscyIKICAgICAgICBdLAogICAgICAgICJzb3VyY2UiIDogWwogICAgICAgICAgImdlb2lwOnByaXZhdGUiCiAgICAgICAgXSwKICAgICAgICAidHlwZSIgOiAiZmllbGQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZG9tYWluIiA6IFsKICAgICAgICAgICJnZW9zaXRlOmNhdGVnb3J5LWFkcy1hbGwiLAogICAgICAgICAgImdlb3NpdGU6Y2F0ZWdvcnktYWRzIiwKICAgICAgICAgICJnZW9zaXRlOmdvb2dsZS1hZHMiLAogICAgICAgICAgImdlb3NpdGU6eWFob28tYWRzIiwKICAgICAgICAgICJnZW9zaXRlOmFkb2JlLWFkcyIsCiAgICAgICAgICAiZ2Vvc2l0ZTpzcG90aWZ5LWFkcyIsCiAgICAgICAgICAiZ2Vvc2l0ZTphcHBsZS1hZHMiLAogICAgICAgICAgImdlb3NpdGU6YW1hem9uLWFkcyIKICAgICAgICBdLAogICAgICAgICJleHQiIDogewogICAgICAgICAgIm5hbWUiIDogIkFkcy1CbG9jayIKICAgICAgICB9LAogICAgICAgICJuZXR3b3JrIiA6ICJ0Y3AsdWRwIiwKICAgICAgICAib3V0Ym91bmRUYWciIDogInJlamVjdCIsCiAgICAgICAgInByb3RvY29sIiA6IFsKICAgICAgICAgICJodHRwIiwKICAgICAgICAgICJ0bHMiLAogICAgICAgICAgImJpdHRvcnJlbnQiCiAgICAgICAgXSwKICAgICAgICAidHlwZSIgOiAiZmllbGQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZG9tYWluIiA6IFsKICAgICAgICAgICJyZWdleHA6Xi4rXFwuaXIkIiwKICAgICAgICAgICJyZWdleHA6LipcXFxcLmlyJCIsCiAgICAgICAgICAiZ2Vvc2l0ZTpjYXRlZ29yeS1pciIKICAgICAgICBdLAogICAgICAgICJleHQiIDogewogICAgICAgICAgIm5hbWUiIDogIklSLVJlZ2V4cCIKICAgICAgICB9LAogICAgICAgICJuZXR3b3JrIiA6ICJ0Y3AsdWRwIiwKICAgICAgICAib3V0Ym91bmRUYWciIDogImRpcmVjdCIsCiAgICAgICAgInByb3RvY29sIiA6IFsKICAgICAgICAgICJodHRwIiwKICAgICAgICAgICJ0bHMiCiAgICAgICAgXSwKICAgICAgICAidHlwZSIgOiAiZmllbGQiCiAgICAgIH0KICAgIF0KICB9Cn0=

در این مرحله دستورات و مراحل آموزشی را همانطور که در عکس توضیح داده شده دنبال و اجرا کنید.

FoXray-Routing   DNS Config for IRAN

Custom rules not working

When I try putting the custom rules to access Iranian websites, v2ray android gives me this error and the service doesn't start

: ```
infra/conf/serial: failed to parse json config > infra/conf: invalid field rule > infra/conf: failed to parse domain rule: geosite:category-ir > infra/conf: failed to load geosite: CATEGORY-IR > infra/conf: list not found in geosite.dat: CATEGORY-IR
04-28 xx:xx:00.856 D/com.v2ray.ang(28101): go.Universe$proxyerror: infra/conf/serial: failed to parse json config > infra/conf: invalid field rule > infra/conf: failed to parse domain rule: geosite:category-ir > infra/conf: failed to load geosite: CATEGORY-IR > infra/conf: list not found in geosite.dat: CATEGORY-IR

Is there a possibility to add multiple destinations ?

Hello,
I noticed that it's apparently impossible to have one destination that works with all the ISPs.
Is there a way to add multiple destinations in the config file ? Hence having the possibility to duplicate the v2ray config and use it with different ISPs.
Best regards, your work is gold

Two IPs might not be in Iran

Hello I have checked every IP in your list and they look good. But I discovered two IP addresses that might be not Iranian.
But I'm not sure if these companies work for Iran or not.

IP 91.186.201.0/24 is in country AU
IP 194.87.23.0/24 is in country DE

I just thought I'd mention it here.
Thank you

Some instructions in README seem unnecessary

Hello,

Thanks for the amazing tutorial. There is one issue that I found with your instructions.

In this section below you say to create a folder called xray, and download the iran.dat file.
But remember you are doing this on the server, not client.

What is the purpose behind this? Because the server isn't using the iran.dat file.

mkdir xray

Change directory to the newly created xray folder.

cd xray/

Download the latest geoasset file for blocking Iranian websites.

wget https://github.com/bootmortis/iran-hosted-domains/releases/latest/download/iran.dat

Thanks

(Android) - V2RayNG برنامه Routing آموزش نصب و تنظیمات

سلام به همه رفقای
امیدوارم که این آموزشهای تصویری بتونه کمکی کنه

شما میتوانید از ربات آموزشی تلگرام برای دریافت این آموزش ها نیز استفاده کنید
@IRAN_VPN_Guide_bot

**دانلود نسخه PDF
بروزرسانی, تنظیمات, مسدود سازی اپلیکیشن V2RayNG.pdf

دانلود فایل iran.dat از اینجا

  • DIRECT URL OR IP : ext:iran.dat:ir,ext:iran.dat:other,geoip:ir

  • BLOCKED URL OR IP : ext:iran.dat:ads

001
002
Iran-dat 01
Iran-dat-02

  • DIRECT URL OR IP : ext:iran.dat:ir,ext:iran.dat:other,geoip:ir
  • BLOCKED URL OR IP : ext:iran.dat:ads

Iran-dat-03
004

invalid character '.' in string escape code

Hello my friend,

I've found a new issue. A fresh installation on Debian 11.

This shows up in Syslog:

Failed to start: main: failed to load config files: [/usr/local/etc/xray/config.json] > infra/conf/serial: failed to decode config: /usr/local/etc/xray/config.json > infra/conf/serial: failed to read config file at line 1982 char 27 > invalid character '.' in string escape code

This line is affected.

I asked ChatGPT and it said it should be like this:
"regexp:.*\\.ir$",

After I fixed it like that, it works.

What do you think?

[Xray Configuration] error

Got this error in this step [Xray Configuration]

[ Error writing /home/root/xray/config.json: No such file or directory ]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.