Note
🚨 For safety reasons, it may be advisable to use a separate, non-personal account for your Github activity.
🚨 Ensure that your personal email address is not visible when you push commits to Github. More info
A lot of services and domains are outside of Iran and they are restricted or blocked, for accessing this service you need to use VPN or proxies with tunneling option, apart from these problems, when we use proxies the domestic services are unavailable because our IP is not in Iran; for bypassing these issues we gathered a list of Iranian domains and services to help our people bypass this situation.
This repository is a compiled list of public information about websites hosted in Iran. It is intended for informational purposes only and is not intended to provide guidance on how to connect to or create or manage a virtual private network (VPN). The content in this repository is provided as-is and we make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability of the information contained in this repository. Any reliance you place on such information is strictly at your own risk. We will not be liable for any errors or omissions in the information or for any losses, damages, or other liabilities that may arise from its use. Please use caution and consult with a qualified professional before using any information from this repository.
This can differ depending on which tool you use. You can download the domains list from
the release page.
In v2ray clients you can set Domain Resolution Strategy to IPIfNonMatch
for better routing.
more info.
In the release section, you'll find the qv2ray_schema file.
- Download the file.
- open
preferences
and click onAdvanced Route Settings
. - From the bottom of the screen, click on
import schema...
. - choose the downloaded file (qv2ray_schema.json).
- in the opened dialogue box, click on yes.
- Click on OK.
It can be used in all v2fly, v2ray and xray clients.
-
Download
iran.dat
file from here. -
Copy/Import file in your client. for example:
- v2ray macOS:
/usr/local/share/v2ray
- v2ray macOS:
-
Add proper rules:
ext:iran.dat:ir
in bypass sectionext:iran.dat:other
in bypass sectionext:iran.dat:ads
in block section
-
Reconnect.
-
Download
iran.dat
file from here. -
Import .dat file from
Route -> Three dots -> Manage Route Assets
: -
Add proper rules
Route -> Create Route
:- Block Ads:
- domain:
geosite:category-ads-all
- outbound:
Block
- domain:
- Block Iran Ads:
- domain:
ext:iran.dat:ads
- outbound:
Block
- domain:
- Bypass Iran .ir Domains:
- domain:
regexp:.+\.ir$
- outbound:
Bypass
- domain:
- Bypass Iran non .ir Domains:
- domain:
ext:iran.dat:other
- outbound:
Bypass
- domain:
- Bypass Iran geoip:
- ip:
geoip:ir
- outbound:
Bypass
- ip:
- Block Ads:
for screenshots of routing settings click here.
- Reconnect.
- Download
shadowrocket.conf
file. - Tap
Import From Cloud
in the Shadowrocket app and then import the file. - Finally, tap on the
shadowrocket.conf
and selectUse Config
.
Clash (Like ClashX / clash_for_windows_pkg / Clash .NET / ...)
- Open your current profile/config that you use.
- Add these lines to the file:
rule-providers:
iran:
type: http
behavior: classical
url: "https://github.com/bootmortis/iran-hosted-domains/releases/latest/download/clash_rules.yaml"
path: ./ruleset/iran.yaml
interval: 432000
- Add this line to
rules:
section
- RULE-SET,iran,DIRECT
- Save the file.
- Based on the client, you may need to set clash on
Rule
mode.
- First download the file
iran.dat
from here then move it to the addressAndroid/data/com.v2ray.ang/files/assets
using a File Manager. - Then make sure
Routing
is set toIpIfNonMatch
fromDomain Strategy
in theSetting
. - Tap on the
Direct URL or IP
. Write the following in theCustom rules
tab:
ext:iran.dat:ir
ext:iran.dat:other
- Write the following in the
Blocked URL or IP
tab:
ext:iran.dat:ads
- Then press OK and that's it.
For blocking local domains and IPs in the server side follow this instructions. It's only available in Persian.
- Download the
domains.txt
file from release section. - Open
Program
in the man page of nekoray. - Open
preferences
and click onRouting Setting
. - Paste
domains.txt
file on domain-direct section. - Press OK button and restart the app.
- Download
iran.dat
file from here and place in v2rayN directory and insidebin
folder. - Open v2ray and select
Settings
and then selectRoutingSetting
- In the new window click on
Advanced Function
and chooseAdd
- In the new window, in
Remarks
field choose any name and in theRule List
empty area right-click and selectRule Add
- In the new window choose
direct
foroutboundTag
and the domain section typeext:iran.dat:ir,ext:iran.dat:other,regexp:^.+\.ir$
- Click on
Confirm
until you reach the main app window - Make sure that your rule is selected from the bottom of the page. If not choose it from the drop down menu.
1. Install golang
It's important to install the right version. Always check it from v2fly/domain-list-community.
2. Clone v2fly/domain-list-community
git clone https://github.com/v2fly/domain-list-community
In a .dat file, you can have as many distinct groups as you want. Each of these groups can be in bypass, proxy or blocked sections. Each group can have as many domains as you want.
Each group is a txt file containing domains. For example, you can have an ads.txt file containing ad domains.
When cloning domain-list-community
, you also clone all the groups that have been there before. Since you don't need them, delete everything in /data directory.
Now you have to copy your files to /data directory. Make sure to remove their file extension. So for example, ads.txt
needs to be ads
.
cd domain-list-community
rm data/*
cp ~/ads.txt data/ads
go run ./ --outputdir=../
- iran.dat: Contains all websites hosted in Iran and ADs in a special format.
- domains.txt: Contains all websites hosted in Iran.
- qv2ray_schema.json: Importable json schema that can be used in Qv2ray.
- shadowrocket.conf: Importable conf file that can be used in Shadowrocket.
- Iran Domains:
- ITO GOV - Mirror
- ADSL TCI
- V2fly Domain List Community (MIT License)
- Custom List
- ADs:
- uBOPa - uBO Parsi filter list (MIT License)
If you know of any other source, or you found a website that isn't here, please open an issue or add that specific website to custom_domains.py and make a PR.
A Python script is executed by Github Action and generates files that are on the release page.