sasukefreestyle / xtls-iran-reality Goto Github PK
View Code? Open in Web Editor NEWXray-core (V2ray) Server with Reality Protocol for bypassing internet censorship in Iran.
Xray-core (V2ray) Server with Reality Protocol for bypassing internet censorship in Iran.
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?
سلام به همه رفقای
امیدوارم که این آموزشهای تصویری بتونه کمکی کنه
شما میتوانید از ربات آموزشی تلگرام برای دریافت این آموزش ها نیز استفاده کنید
@IRAN_VPN_Guide_bot
دانلود نسخه PDF
(IOS & macOS) - Shadowrocket برنامه Routing آموزش نصب و تنظیمات.pdf
دانلود فایل shadowrocket.conf از اینجا
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
https://github.com/XTLS/Xray-core#usage
Tutorial
XTLS Vision
REALITY (English)
This way, your articles can be found by more people who need help.
سلام به همه رفقای
امیدوارم که این آموزشهای تصویری بتونه کمکی کنه
شما میتوانید از ربات آموزشی تلگرام برای دریافت این آموزش ها نیز استفاده کنید
@IRAN_VPN_Guide_bot
**دانلود نسخه PDF
بروزرسانی, تنظیمات, مسدود سازی اپلیکیشن V2RayNG.pdf
DIRECT URL OR IP : ext:iran.dat:ir,ext:iran.dat:other,geoip:ir
BLOCKED URL OR IP : ext:iran.dat:ads
ext:iran.dat:ir,ext:iran.dat:other,geoip:ir
ext:iran.dat:ads
سلام به همه رفقای
امیدوارم که این آموزشهای تصویری بتونه کمکی کنه
شما میتوانید از ربات آموزشی تلگرام برای دریافت این آموزش ها نیز استفاده کنید
@IRAN_VPN_Guide_bot
**دانلود نسخه PDF
بروزرسانی, تنظیمات, مسدود سازی اپلیکیشن Shadowrocket.pdf
DIRECT URL OR IP : ext:iran.dat:ir,ext:iran.dat:other,geoip:ir
BLOCKED URL OR IP : ext:iran.dat:ads
DIRECT URL OR IP : ext:iran.dat:ir,ext:iran.dat:other,geoip:ir
BLOCKED URL OR IP : ext:iran.dat:ads
به نظر میاد یک سری روش های جدید برای فیلترینگ دارن اعمال میکنن که سرور های reality هم آیپی هاش فیلتر میشه، من با xui ستاپ کرده بودم reality رو و بن شدن الان. روش شما هنوز کار میکنه؟ از سرور داخلی برای تونل زدن استفاده میکنید یا مستقیم وصل میشید؟
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
Hi @SasukeFreestyle
Here is the List of 200 Iranian mobile Applications
to Add to your .dat Files.
They've been organized in alphabetical order.
"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.”
✌🏾
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
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)
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
Got this error in this step [Xray Configuration]
[ Error writing /home/root/xray/config.json: No such file or directory ]
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
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]
سلام به همه رفقای عزیز
این مقاله را تنظیم کردیم, امیدوارم که مورد استفاده قرار بگیرد
شما میتوانید از ربات آموزشی تلگرام برای دریافت این آموزش ها نیز استفاده کنید
@IRAN_VPN_Guide_bot
دانلود نسخه PDF
IOS & macOS-FoXray.pdf
آموزش Routing و مسدودسازی سایتها و اپلیکیشنهای ایرانی از سمت کاربر در اپلیکیشن FoXray
این قسمت را از کاربرانتان بخواهید که انجام دهند. چرا که ایدهال ترین حالت این است که اساسا ترافیک داخلی ایران به سمت پروکسی سرور شما ارسال نشود. مثلا اپلیکیشن FoXray برای ما این امکان را فراهم میکند که به سادگی مشخص کنیم ترافیک داخلی از پروکسی عبور نکند و فقط ترافیک خارجی به سمت پروکسی سرور ارسال شود
مزایای استفاده از Routing
کاهش احتمال شناسایی سرور
کاهش ترافیک سرور و در نتیجه بالا رفتن کیفیت
کاهش هزینههای سرور (اگر بابت ترافیک هزینه جداگانه پرداخت میکنید.)
ما برای راحتی و سهولت کاربران این تنظیمات و قوانین را از قبل تهیه و تنظیم کرده ایم و به صورت لینک کانفیگ قابل اجرا در اختیار شما گذشته ایم. توجه داشته باشید با استفاده از این کانفیگ و فعال کردن آن که در مراحل بعدی آموزش خواهیم داد که چگونه شما میتوانید تمام سایت های ایرانی با پسوند ir. را به اصطلاح مستقیم کنید و ترافیک داخلی را از پروکسی سرور خارجی خود عبور ندهید
در مرحله اول لینک های کانفیگ Routing و DNS زیر را دانلود به صورت کامل کپی کنید
FoXray-Routing.Config.for.IRAN.docx
IR-Direct🇮🇷
xray://ewogICJkbnMiIDogewogICAgImRpc2FibGVDYWNoZSIgOiB0cnVlLAogICAgImRpc2FibGVGYWxsYmFjayIgOiBmYWxzZSwKICAgICJkaXNhYmxlRmFsbGJhY2tJZk1hdGNoIiA6IGZhbHNlLAogICAgInF1ZXJ5U3RyYXRlZ3kiIDogIlVzZUlQIiwKICAgICJzZXJ2ZXJzIiA6IFsKICAgICAgewogICAgICAgICJhZGRyZXNzIiA6ICI4LjguOC44IiwKICAgICAgICAic2tpcEZhbGxiYWNrIiA6IGZhbHNlCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWRkcmVzcyIgOiAiOC44LjQuNCIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiB0cnVlCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWRkcmVzcyIgOiAiMS4xLjEuMSIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9LAogICAgICB7CiAgICAgICAgImFkZHJlc3MiIDogImh0dHBzOi8vMS4xLjEuMS9kbnMtcXVlcnkiLAogICAgICAgICJza2lwRmFsbGJhY2siIDogZmFsc2UKICAgICAgfSwKICAgICAgewogICAgICAgICJhZGRyZXNzIiA6ICJodHRwczovL2Rucy5nb29nbGUvZG5zLXF1ZXJ5IiwKICAgICAgICAic2tpcEZhbGxiYWNrIiA6IGZhbHNlCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWRkcmVzcyIgOiAiaHR0cHM6Ly9kbnMucXVhZDkubmV0L2Rucy1xdWVyeSIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9LAogICAgICB7CiAgICAgICAgImFkZHJlc3MiIDogImh0dHBzOi8vZG9oLm9wZW5kbnMuY29tL2Rucy1xdWVyeSIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9LAogICAgICB7CiAgICAgICAgImFkZHJlc3MiIDogImh0dHBzOi8vZG9oLmNsZWFuYnJvd3Npbmcub3JnL2RvaC9mYW1pbHktZmlsdGVyLyIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9LAogICAgICB7CiAgICAgICAgImFkZHJlc3MiIDogImh0dHBzOi8vZG5zLmFkZ3VhcmQuY29tL2Rucy1xdWVyeSIsCiAgICAgICAgInNraXBGYWxsYmFjayIgOiBmYWxzZQogICAgICB9CiAgICBdLAogICAgInRhZyIgOiAiZG5zUXVlcnkiCiAgfSwKICAiZXh0IiA6IHsKICAgICJkYXQiIDogWwogICAgICB7CiAgICAgICAgIm5hbWUiIDogImdlb2lwIiwKICAgICAgICAidHlwZSIgOiAiaXAiLAogICAgICAgICJ1cmwiIDogImh0dHBzOi8vZ2l0aHViLmNvbS92MmZseS9nZW9pcC9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvZ2VvaXAuZGF0IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiIDogImdlb3NpdGUiLAogICAgICAgICJ0eXBlIiA6ICJkb21haW4iLAogICAgICAgICJ1cmwiIDogImh0dHBzOi8vZ2l0aHViLmNvbS92MmZseS9kb21haW4tbGlzdC1jb21tdW5pdHkvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL2RsYy5kYXQiCiAgICAgIH0KICAgIF0sCiAgICAibmFtZSIgOiAiSVItRGlyZWN08J+HrvCfh7ciCiAgfSwKICAib3V0Ym91bmRzIiA6IFsKICAgIHsKICAgICAgInRhZyIgOiAicHJveHkiCiAgICB9LAogICAgewogICAgICAicHJvdG9jb2wiIDogImRucyIsCiAgICAgICJzZXR0aW5ncyIgOiB7CiAgICAgICAgImFkZHJlc3MiIDogIjguOC44LjgiLAogICAgICAgICJub25JUFF1ZXJ5IiA6ICJza2lwIgogICAgICB9LAogICAgICAic3RyZWFtU2V0dGluZ3MiIDogewogICAgICAgICJzb2Nrb3B0IiA6IHsKICAgICAgICAgICJkaWFsZXJQcm94eSIgOiAicHJveHkiCiAgICAgICAgfQogICAgICB9LAogICAgICAidGFnIiA6ICJkbnNPdXQiCiAgICB9CiAgXSwKICAicm91dGluZyIgOiB7CiAgICAiZG9tYWluU3RyYXRlZ3kiIDogIklwSWZOb25NYXRjaCIsCiAgICAicnVsZXMiIDogWwogICAgICB7CiAgICAgICAgImluYm91bmRUYWciIDogWwogICAgICAgICAgImRuc1F1ZXJ5IgogICAgICAgIF0sCiAgICAgICAgIm91dGJvdW5kVGFnIiA6ICJwcm94eSIsCiAgICAgICAgInR5cGUiIDogImZpZWxkIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm91dGJvdW5kVGFnIiA6ICJkbnNPdXQiLAogICAgICAgICJwb3J0IiA6ICI1MyIsCiAgICAgICAgInR5cGUiIDogImZpZWxkIgogICAgICB9LAogICAgICB7CiAgICAgICAgImRvbWFpbiIgOiBbCiAgICAgICAgICAic25hcHAsZGlnaWthbGEsZGl2YXIsdGFwc2ksYmxvZ2ZhLGlyYW5jZWxsLGJhbmssc2IyNC5jb20sc2hleXBvb3IuY29tLHRlYnlhbi5uZXQsYmV5dG9vdGUuY29tLHRlbGV3ZWJpb24uY29tLEZpbG0ybW92aWUud3MsU2V0YXJlLmNvbSxGaWxpbW8uY29tLFRvcm9iLmNvbSxUZ2p1Lm9yZyxTYXJ6YW1pbmRvd25sb2FkLmNvbSxkb3dubG9hZGhhLmNvbSxQMzBkb3dubG9hZC5jb20sU2FuamVzaC5vcmcsYXBwYXJhdC5jb20sZWl0YWEuY29tLGVtb2ZpZC5jb20seWVrdGFuZXQuY29tLHpoYWtldC5jb20scnRsLXRoZW1lLmNvbSx0Z2p1Lm9yZyxpcmFuZWNhci5jb20sdGFzbmltbmV3cy5jb20sbmV0YWZyYXouY29tLGJsb2dmYS5jb20sZmFyYWRhcnMub3JnLHBhcnNwYWNrLmNvbSxtZWhybmV3cy5jb20saXJhbnNlcnZlci5jb20sYWdhaC5jb20sbWl6YmFuZmEubmV0LG1paGFud2ViaG9zdC5jb20sc2hhaHJla2hhYmFyLmNvbSxhYnphcndwLmNvbSxuaWF6ZXJvb3ouY29tLG11c2ljLWZhLmNvbSx5YXNkbC5jb20sc2hleXBvb3IuY29tLG1paGFud3AuY29tLG1ha3RhYmtob29uZWgub3JnLGRvb3N0aWhhYS5jb20sYXJ6ZGlnaXRhbC5jb20saGV5dmFncm91cC5jb20sc2FyemFtaW5kb3dubG9hZC5jb20sYmFuaW1vZGUuY29tLGlzdGdhaC5jb20sdXBsb2FkYm95LmNvbSx1cG11c2ljcy5jb20sc25hcHAudGF4aSxzYWhhbXlhYi5jb20saGFteWFyd3AuY29tLGJsb2dza3kuY29tLGlyYW5ob3N0LmNvbSxtb3RhbWVtLm9yZyxpcmFudGFsZW50LmNvbSxhYmFzbWFuZXNoLmNvbSx0YWxhaG9zdC5jb20scmF5YW1hcmtldGluZy5jb20sbWVnaGRhZGl0LmNvbSxhbG9wZXlrLmNvbSxzYXJpYXNhbi5jb20sbmFoYXlhdG5lZ2FyLmNvbSxraGFiYXJ2YXJ6ZXNoaS5jb20sY2l2aWxpY2EuY29tLHBhcnNjb2RlcnMuY29tLGtoYW5vdW1pLmNvbSwxOWthbGEuY29tLEZhcnNuZXdzLmNvbSxWYXJ6ZXNoMy5jb20sTmFtbmFrLmNvbSxBcGFyYXQuY29tLHRlbGV3ZWJpb24uY29tLHRvcm9iLmNvbSxuaW5pc2l0ZS5jb20sc2FmYXJtYXJrZXQuY29tLHRpY2tldC1jaGFydGVyLmNvbSxibGl0Y2hhcnRlci5jb20sbXJiaWxpdC5jb20sZmxpZ2h0aW8uY29tLHNuYXBwdHJpcC5jb20sdXRyYXZzLmNvbSx0aWtiYW4uY29tLG1lbGljaGFydGVyLmNvbSxkaWdpY2hhcnRlci5jb20sa2lzaHpvb20ubmV0LHJhaGJhbC5jb20sbWVsaWNoYXJ0ZXIub3JnLGlydG91ci5vcmcsYXJhY2hhcnRlci5jb20sY2hhcnRlcjEubmV0LG1lbGljaGFydGVyLm5ldCxzYW10aWsuY29tLGNoYXJ0ZXIzNjEuY29tLDNjbGljay5jb20sYW1pbmNoYXJ0ZXIuY29tLHRpY2tldGFyemFuLmNvbSxtYW5jaGFydGVyLm5ldCxhcHAuaXJhbmNoYXJ0ZXIubW9iaSxzaW1vcmdoMjQuY29tLGJhLWNoYXJ0ZXIuY29tLHNvdXJ0aWsuY29tLGRlbHRhYmFuLmNvbSxjaGFydGVyNzI0LnZpcCxtZWxsaWNoYXJ0ZXIub3JnLGNoYXJ0ZXIxMjMubmV0LG1haGFuY2hhcnRlci5jb20sY2hlYXBjaGFydGVyLm5ldCxlbGlnYXNodC5jb20sa2lzaDQ0LmNvbSxhcHAuYmx1YmFuay5jb20sYmx1c2VudHJ5LnNkYjI0Ny5jb20sYmx1YmFuay5jb20sc2RiMjQ3LmNvbSxoYW1yYWhjYXJkLmFwcCxtb2JpbGUuYWJhbmthcHAuaXIsc2FtYW5wcixoYW1yYWhjYXJkLGFkcGRpZ2l0YWwubWJzLmF5YW5kZSxQYXlEYSxhYmFua2FwcCxtb2JpbGUuYWJhbmthcHAsc25hcHAudGF4aSwxMjN0ZWwsYTRmM2NsaWVuLGFiYW5rZWZhcmRhLGFiYW5rLGFmYWNvLmZvcm1vb2wsYWtvLGFsYWNoaWlnaCxhbGliYWJhLGFsaWJhYmEuaXIsYW1pcnphLGFuYXJkb25pLGFub255Y29kZXJzLGFwcC5hcHBhYWdhaCxhcHAuY2hhcixhcHAuZm9yaSxhcHA3MDMwLGFwYXJhdHNwb3IsYXBhcmF0dHYsYXBwLmdhcGtpZHMsYXBwLmhhbXJhaCxhcHAuaGFteWFuLGFwcC5pZ2FwLGFwcC5sZWlkbyxhcHAubWFtYW5hLGFwcC5teWRhcnMsYXBwLnBhZGFycyxhcHAucGlubm8sYXBwY2hhcixhcnRlbWlzLGFzYW50ZWxlZ3JhbSxhc2FuYmFyLGFzYW5hcHBzLmFyaXlhZ3JhcGgsYXNwYXJwcm9qZWN0LmFwcCxhc3BhcmRwcm9qZWN0LGF2YSxiYWhhbSxiYWpldCxiYWppdCxiYWxlLGJhbGVtZXNzZW5nZXIsYmFsb25ldCxiYW5raW5vLGJlaGtoYWFuLGJlaGtoYW4sYmVudGUsYmVudG8sYmtpLGJsdSxib25ha2NoaSxib25ha2NoaS5hcHAsYnBtLGJzaW5ldyxidXlrbyxjYXJlbmJvbyxjYWZlLnRlbGVncmFwaCxjYWxjdWxhdGlvbnJlYWwsY2FuLnNlbCxjYW4uc2VsbCxjYXJ0b29uZmxpeCxjaGFib2twYXNzZW5nZSxjaGVlYmFjaGVlLGNoZWViYWNoZWUuYXBwLGNpY2lrYSxjb20uYml6ZS5pcnIsY29tYml6ZSxjeWtsZXQsY3lrbGV0LmFwcCxkYXliYW5rLGRpZ2lrYWxhLGRpZ2lrYWxhLmZpcmVib2wsZGlnaWthbGEuamV0LGRpZ2lsYW0sZGlnaWxhbS5hcHAsZGl2YXIsZG9vemJpbixkb3JzYWJhcnphLGVnaGFtYXQyNCxlZmFyZGEsZWZhci5kYSxlaXRhYSxlbGEubWxhYWssZWxpZ2FzaHQsZW5vdmUubGluZ29qb28sZXNhbSxlc2FtLmFwcCxlc2FzeS5saXZlLm1lbWJlcmJlZ2lycnViaWthLGV0YyxleHByZXNzLnNuYXBwLGV6cGF5LGZhZGlhYXBwLGZhbSxmYXJha2V0YWIsZmFyYWthdi5hbnRlbixmYWN0b3JzYWJ6LGZhbm9vcyxmYW5vb3NwZm0sZmlkaWJvLGZpbG1uZXQsZmlsbWlzY2hvb2wsZmx5dG9kYXksZm9vdGJhbGwzNjAsZm9vdGJhbGxpLGZvcm1vb2wsZ2FyZGVzaGdhcmksZ2FyZGVzaHBheSxnYWh2YXJlLGdhcGZpbG0uYXBwLGdhcGtpZHMsZ2FqaW5vLGdham1hcmtldCxnYXBmaWxtLGdhcGtpZCxoYW1yYWhfbWVjaGFuaWMsaGFtcmFoYmFuayxoYW1yYWhjYXJkLGhhbXJhaGVsbSxoYW1yYWhub3Zpbixob29yc2EsaG9tc2EsaG9tc2Euc25hcHB0cmlwLGh5cGVyY2hpLGljdXAsaW1pbm8saW1pbm8ucGMuY2hpbGQsaXJhbmFwcCxpcmFubW9kZXJuYnVzaW5lc3Nlcy5uZXRiYXJnLGl0b2xsLGl0b2xsLm15Y2FyYXBwLGphZGVoLGphZGVoLmRyaXZlcixqYWRlaC5sb2Fkb3duZXIsamFqaWdhLGphamlnYS5hcHAsamFtYS5iYSxqYW4uZWJpLGthcmFmcyxrYWxhYmlzLmhhc3NhbixrYXJuYW1laCxrZXNoYXZhcnppLGtpbGlkLGtpbGlkLnBvcnRhbCxraW1pYWJpeixsZWFybml0LGxlbnosbGVuei50dixsaWtvdHYsbHVuYSxsdW5hYXBwLG1hbWFuYSxtYXN0ZXJrYWxhLG1hc3RlcmthbGEuc2hvcCxtZWxhbCxtZWxrYW5hLG1laHIuaXJhbixtZWhyaXJhbixtZWxrcGx1cyxtaWJpbmksbWlobWFuc2hvLG1vYmlsZW1hbmNhcmQsbW9iaWxsZXQsbXlkYXJzLG15ZGlnaXBheSxteWlyYW4sbXlpcmFuY2VsbCxteWlyYW5jZWxsY29ycCxteXJpZ2h0ZWwsbXlzaGF0ZWwsbmFtYXZhLG5hbWF2YS5tb2JpbGUsbmFzaW0sbmF2YWNvLG5ldGJhcmcsbmVzaGFuLG5lc2hhbi50cmFmZmljLG5pY2hpam91LmFwcCxuaWF6bWFuZGloYSxub2JpdGV4LG5vb25xZXNobSxub3ZpbmFwcHNheixub3ZpbnNpbW9yZ2gscGFydHNvZnR3YXJlLHBhc2FqLHBhc2F6aCxwYXRvZ2gscGF0b2doZV9rZXRhYixwYXlhbWFrZG9vbixwYXlwb2QscGVjY2hhcmdlLHBlcnNpYW5kZXNpZ25lcnMscGVyc2lhbmNhbGVuZGFyLHBpa2FhcCxwaW5ubyxwaW5uby5hcHAscGluZG9waW4scGluZG8scGluZG8uZmxldGNoZXIscGluZG9waW4scGlua2V0LHBpbmtldC5hcHAscGlzaGtoYW4yNCxxdXJhbixxdXJhbmtyaWFtcGlzaGdhbWFuLHJheWFubWVocixyZXphZ2VtLHJpemhhdixyb25ha3NvZnR3YXJlLHJvb21hY2suYW1sYWFrLHJ1YmlrYSxydWJpa2EuYSxzYWQyNCxzYWQyNC5hcHAsc2FkYWRwc3Asc2FmYXJtYXJrZXQsc2FyYW1lZCxzYXJtYXllLHNhcm1heWVoLHNla2VoLHNlcGVocjM2MCxzZXQsc2V0YXJleWVrLHNlc29vdCxzaGFoYWJfemFycmluLnF1aXosc2hhaGFiX3phcnJpbi50aWt1cCxzaGFoYmF6LHNoYWhiYXouemFycmluLHNoYWhiYXouemFycmluLnF1aXosc2hhaGJhei56YXJyaW4udGlrdXAsc2hhZmEuZG9jLHNoYXRlbCxzaGF0ZWxsYW5kLHNoYXRlbGxhbmQubmFtYXZhLm1vYmlsZSxzaGF0ZWxsYW5kLm5hbWF2YS50dixzaG1hcHAsc2hpcG5vdyxzaW5hbW9iaWxlYmFuayxzbmFwcCxzbmFwcF9ib3gsc25hcHAuZHJpdmVyLHNuYXBwLnBhc3NlbmdlcixzbmFwcGZvb2Qsc25hcHBmb29kLnZtcyxzbmFwcGZvb2R2bXMsc29yb3VzaCxzb3JvdXNobWVzc2VuZ2VyLHN0dHMuZXRjLHN0dHMsc3Vuc2V0Y2FyLHRhYWdoY2hlLHRhYmFzdGF6LmlyLHRha2hmaWZhbix0YWtoZmlmaG90LHRha2hmaWZob3QuYXBwLHRhYWdoY2hlLHRhcHNpLHRheGkudGFwMzAsdGF4aS50YXAzMC5wYXNzZW5nZXIsdGFwMzAsdGFwMzAucGFzc2VuZ2VyLHRhcHNpLHRlamFyYXBwLHRlamFyYXRtb2JpbGViYW5rLHRnYnMsdGdicy5hcHAsdGdic2dhbWUsdG9zYW5zb2hhLHRvcmFuaix0b3JvYix0b3VqaWIsdG91amliLmFwcCx3ZXBvZCx3ZXBvZC5hcHAseWFyYW1vYmlsZS5waXNodmF6LHltYSx5b290b3Bpbix5b3RvcGluLHphYmFuc2hlbmFzLHphYmVhbW9veix6YW1pbi5iYWxvbmV0LHppbGxvdyx6aWxsb3dtYXAsemlyZWgsem9vZGZvb2Qsem9vZHJvb20iCiAgICAgICAgXSwKICAgICAgICAiZXh0IiA6IHsKICAgICAgICAgICJuYW1lIiA6ICJJUi1Eb21haW4iCiAgICAgICAgfSwKICAgICAgICAiaXAiIDogWwogICAgICAgICAgImdlb2lwOmlyIiwKICAgICAgICAgICJnZW9pcDpwcml2YXRlIgogICAgICAgIF0sCiAgICAgICAgIm5ldHdvcmsiIDogInRjcCx1ZHAiLAogICAgICAgICJvdXRib3VuZFRhZyIgOiAiZGlyZWN0IiwKICAgICAgICAicHJvdG9jb2wiIDogWwogICAgICAgICAgImh0dHAiLAogICAgICAgICAgInRscyIKICAgICAgICBdLAogICAgICAgICJzb3VyY2UiIDogWwogICAgICAgICAgImdlb2lwOnByaXZhdGUiCiAgICAgICAgXSwKICAgICAgICAidHlwZSIgOiAiZmllbGQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZG9tYWluIiA6IFsKICAgICAgICAgICJnZW9zaXRlOmNhdGVnb3J5LWFkcy1hbGwiLAogICAgICAgICAgImdlb3NpdGU6Y2F0ZWdvcnktYWRzIiwKICAgICAgICAgICJnZW9zaXRlOmdvb2dsZS1hZHMiLAogICAgICAgICAgImdlb3NpdGU6eWFob28tYWRzIiwKICAgICAgICAgICJnZW9zaXRlOmFkb2JlLWFkcyIsCiAgICAgICAgICAiZ2Vvc2l0ZTpzcG90aWZ5LWFkcyIsCiAgICAgICAgICAiZ2Vvc2l0ZTphcHBsZS1hZHMiLAogICAgICAgICAgImdlb3NpdGU6YW1hem9uLWFkcyIKICAgICAgICBdLAogICAgICAgICJleHQiIDogewogICAgICAgICAgIm5hbWUiIDogIkFkcy1CbG9jayIKICAgICAgICB9LAogICAgICAgICJuZXR3b3JrIiA6ICJ0Y3AsdWRwIiwKICAgICAgICAib3V0Ym91bmRUYWciIDogInJlamVjdCIsCiAgICAgICAgInByb3RvY29sIiA6IFsKICAgICAgICAgICJodHRwIiwKICAgICAgICAgICJ0bHMiLAogICAgICAgICAgImJpdHRvcnJlbnQiCiAgICAgICAgXSwKICAgICAgICAidHlwZSIgOiAiZmllbGQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZG9tYWluIiA6IFsKICAgICAgICAgICJyZWdleHA6Xi4rXFwuaXIkIiwKICAgICAgICAgICJyZWdleHA6LipcXFxcLmlyJCIsCiAgICAgICAgICAiZ2Vvc2l0ZTpjYXRlZ29yeS1pciIKICAgICAgICBdLAogICAgICAgICJleHQiIDogewogICAgICAgICAgIm5hbWUiIDogIklSLVJlZ2V4cCIKICAgICAgICB9LAogICAgICAgICJuZXR3b3JrIiA6ICJ0Y3AsdWRwIiwKICAgICAgICAib3V0Ym91bmRUYWciIDogImRpcmVjdCIsCiAgICAgICAgInByb3RvY29sIiA6IFsKICAgICAgICAgICJodHRwIiwKICAgICAgICAgICJ0bHMiCiAgICAgICAgXSwKICAgICAgICAidHlwZSIgOiAiZmllbGQiCiAgICAgIH0KICAgIF0KICB9Cn0=
در این مرحله دستورات و مراحل آموزشی را همانطور که در عکس توضیح داده شده دنبال و اجرا کنید.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.