diff --git a/.gitattributes b/.gitattributes index a725af2..35c3a08 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ *.aardio linguist-language=lua +*.pac linguist-language=javascript \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3fb0317..d36461b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,13 @@ dist/Unofficial_Z_Access.exe +dist/py +dist/pip +dist/web +py/ +pip +!py/server.py +proxy.pac +dist/proxy.pac +CMDline.txt +dist/CMDline.txt +AndroidECHO.txt +dist/AndroidECHO.txt diff --git a/DOMAINconfig.txt b/DOMAINconfig.txt new file mode 100644 index 0000000..545f1c5 --- /dev/null +++ b/DOMAINconfig.txt @@ -0,0 +1,115 @@ +104.19.112.153 +longlivemarxleninmaoism.online +bu2021.xyz +annas-archive.se +zh.annas-archive.se +www.v2ray.com + +104.19.112.151 +www.mediafire.com +gfw.report +google.louiesun.workers.dev +bbs.revolutionfront2023.top +revolutionfront2023.top +maoism.freeflarum.com + +76.76.21.61 +^*.vercel.app +^vercel.app + +157.230.193.220 +^clb.org.hk + +89.187.187.19 +^player.odycdn.com +^thumbnails.odycdn.com + +192.250.237.151 +^www.bannedthought.net + +135.148.102.40 +^uploads-v4.odysee.com + +13.107.139.11 +^onedrive.live.com + +87.250.250.50 +^disk.yandex.com + +104.19.112.154 +www.pixiv.net +i.pximg.net +www.pximg.net +accounts.pixiv.net + +104.19.112.156 +stackpath.bootstrapcdn.com +maxcdn.bootstrapcdn.com +medium.com +cdn-client.medium.com +glyph.medium.com +miro.medium.com +odysee.com +api.na-backend.odysee.com +api.odysee.com +naked-api.na-backend.odysee.com + +104.19.113.157 +z-library.rs +zh.z-library.rs +reader.z-library.rs +dlz1.fcdn.sk +cdn.croxy.network +apkmirror.com +www.apkmirror.com + +104.20.76.252 +^www.matrix.org +^matrix.org +^matrix-client.matrix.org + +143.244.204.138 +^www.croxy.network + +193.218.118.42 +^libgen.rs + +176.123.7.105 +^zh.singlelogin.re +^singlelogin.re + +35.186.227.193 +www.freenom.com + +116.202.120.165 +^www.torproject.org +^dist.torproject.org +^blog.torproject.org + +95.216.163.36 +^bridges.torproject.org + +185.15.59.224 +^wikipedia.org +^*.wikipedia.org +^wikimedia.org + +23.184.48.154 +^archive.ph + +52.250.42.157 +^duckduckgo.com +^external-content.duckduckgo.com + +185.199.111.153 +^mlmmlm-icu.github.io +^louiesun.github.io + +20.205.243.166 +^github.com + +180.163.150.34 +-www.gstatic.cn + +114.250.70.34 +-www.recaptcha.net diff --git a/config.json b/config.json new file mode 100644 index 0000000..f78e367 --- /dev/null +++ b/config.json @@ -0,0 +1,27 @@ +{ + "output_data": false, + "listen_PORT": 2500, + "num_TCP_fragment": 0, + "num_TLS_fragment": 2, + "my_socket_timeout": 180, + "domains": { + "freezhihu.org": { + "IP": "104.19.112.120", + "TCP_frag": 0, + "TCP_sleep": 0.01, + "TLS_frag": 6 + }, + "greatfire.org": { + "IP": "104.19.112.120", + "TCP_frag": 0, + "TCP_sleep": 0.01, + "TLS_frag": 6 + }, + "null": { + "IP": "127.0.0.1", + "TCP_frag": 0, + "TCP_sleep": 0.001, + "TLS_frag": 0 + } + } +} \ No newline at end of file diff --git a/default.aproj b/default.aproj index 085f3ad..4af9d36 100644 --- a/default.aproj +++ b/default.aproj @@ -1,10 +1,14 @@  - + - + + + + + diff --git a/dist/DOMAINconfig.txt b/dist/DOMAINconfig.txt index d43cafb..545f1c5 100644 --- a/dist/DOMAINconfig.txt +++ b/dist/DOMAINconfig.txt @@ -112,4 +112,4 @@ www.freenom.com -www.gstatic.cn 114.250.70.34 --www.recaptcha.net \ No newline at end of file +-www.recaptcha.net diff --git a/dist/config.json b/dist/config.json new file mode 100644 index 0000000..f78e367 --- /dev/null +++ b/dist/config.json @@ -0,0 +1,27 @@ +{ + "output_data": false, + "listen_PORT": 2500, + "num_TCP_fragment": 0, + "num_TLS_fragment": 2, + "my_socket_timeout": 180, + "domains": { + "freezhihu.org": { + "IP": "104.19.112.120", + "TCP_frag": 0, + "TCP_sleep": 0.01, + "TLS_frag": 6 + }, + "greatfire.org": { + "IP": "104.19.112.120", + "TCP_frag": 0, + "TCP_sleep": 0.01, + "TLS_frag": 6 + }, + "null": { + "IP": "127.0.0.1", + "TCP_frag": 0, + "TCP_sleep": 0.001, + "TLS_frag": 0 + } + } +} \ No newline at end of file diff --git a/main.aardio b/main.aardio index 74c3102..3446d65 100644 --- a/main.aardio +++ b/main.aardio @@ -2,16 +2,22 @@ import win.ui; import win.ui.menu; /*DSG{{*/ mainForm = win.form(text="Unofficial_Z_Access";right=757;bottom=467) -mainForm.add() +mainForm.add( +BTgo={cls="button";text="GO";left=684;top=2;right=757;bottom=23;dr=1;dt=1;z=3}; +EDurl={cls="edit";text="https://bu2021.xyz/";left=1;top=0;right=681;bottom=24;aw=1;dl=1;dr=1;dt=1;edge=1;z=2}; +mainWeb={cls="custom";text="自定义控件";left=0;top=28;right=753;bottom=467;db=1;dl=1;dr=1;dt=1;z=1} +) /*}}*/ var HostResolverLine=""; var QUICLine=""; var HostLine=""; var CMDLine='--host-resolver-rules="MAP bu2021.xyz 104.16.187.17:443,MAP annas-archive.se 104.16.187.17:443,MAP zh.annas-archive.se 104.16.187.17:443,MAP z-library.rs 104.16.187.17:443,MAP zh.z-library.rs 104.16.187.17:443,MAP reader.z-library.rs 104.16.187.17:443,MAP dlz1.fcdn.sk 104.16.187.17:443,MAP cdn.croxy.network 104.16.187.17:443" -origin-to-force-quic-on=bu2021.xyz:443,annas-archive.se:443,zh.annas-archive.se:443,z-library.rs:443,zh.z-library.rs:443,reader.z-library.rs:443,dlz1.fcdn.sk:443,cdn.croxy.network:443 --host-rules="MAP www.croxy.network 143.244.204.138,MAP libgen.is 193.218.118.42,MAP libgen.rs 193.218.118.42,MAP zh.singlelogin.re 176.123.7.105,MAP singlelogin.re 176.123.7.105" --ignore-certificate-errors'; +//var CMDLine='--proxy-server=127.0.0.1:2500'; +import wsock.tcp.simpleHttpServer; +var webbase=wsock.tcp.simpleHttpServer.startUrl() //var url="https://zh.z-library.se/"; -import wsock.tcp.simpleHttpServer; var url="/web/index.html"; if(_ARGV["c"]) @@ -31,13 +37,14 @@ if(_ARGV["c"]) CMDLine=cfg.read(); cfg.close(); } -if(_ARGV["d"]) + +if(_ARGV["d"]||_STUDIO_INVOKED) { HostResolverLine=""; QUICLine=""; import fsys.file; var cfg; - if(_ARGV["d"]!="") + if(_ARGV["d"]!=""&&_ARGV["d"]!=null) cfg=fsys.file(_ARGV["d"]); else cfg=fsys.file("DOMAINconfig.txt"); @@ -88,35 +95,233 @@ if(_ARGV["d"]) if(CMDLine!="") CMDLine=string.slice(CMDLine,1,-2,true); } -if(_ARGV["g"]) url=_ARGV["g"]; -if(_ARGV["h"]) -{ - url="/help.html"; +if(_ARGV["p"]||_STUDIO_INVOKED) +{ + import fsys.file; + import web.json; + + + var fcfg=fsys.file("config.json") + if(!fsys.file.is(fcfg)) + { + win.msgboxErr("No Config File! ","ERROR!"); + return; + } + var cfg=fcfg.read(-1) + //win.msgbox(cfg) + fcfg.close() + + + cfg=web.json.parse(cfg) + //win.msgbox(cfg) + + var VarietesofCode=/**class TrieNode { + constructor(value){ + this.value = value; + this.num=1; + this.deep=0; + this.son=[]; + this.isEnd=false; + } + findNode(value){ + for(let i=0;i=8192) win.msgbox("Too long CMDLine, and this may cause Error. ","Warning"); -var view=web.view(mainForm,0,CMDLine); -view.go("/web/index.html"); +var view=web.view(mainForm.mainWeb,0,CMDLine); +view.go(webbase+"/web/index.html"); +//win.msgbox(webbase) mainForm.show(); + +import fsys.file +wrt=fsys.file("CMDline.txt","w") +wrt.write(CMDLine) +wrt.close() + +var AndroidLine=CMDLine; +var ReplaceTable={ + ['"'] = "\"+'"' +}; +AndroidLine=string.replace(AndroidLine,".|:",ReplaceTable); +AndroidLine='echo "_'+" "+AndroidLine+'" > chrome-command-line'; +wrt=fsys.file("AndroidECHO.txt","w") +wrt.write(AndroidLine) +wrt.close() + if(_ARGV["o"]) { - //shit mountain code - view.html="

"+CMDLine+'

主页'; + url=webbase+"/CMDline.txt"; } else if(_ARGV["a"]) { - var AndroidLine=CMDLine; - var ReplaceTable={ - ['"'] = "\"+'"' - }; - AndroidLine=string.replace(AndroidLine,".|:",ReplaceTable); - AndroidLine='echo "_'+" "+AndroidLine+'" > chrome-command-line'; - view.html="

"+AndroidLine+'

主页'; + url=webbase+"/AndroidECHO.txt"; +} +else if(_ARGV["g"]) url=_ARGV["g"]; +else if(_ARGV["h"]) +{ + url=webbase+"/help.html"; } -else view.go(url); + + +view.go(webbase+url); + +mainForm.BTgo.oncommand = function(id,event){ + if(mainForm.EDurl.text=="index") mainForm.EDurl.text=webbase+"/web/index.html" + if(mainForm.EDurl.text=="proxypac") mainForm.EDurl.text=webbase+"/proxy.pac" + if(mainForm.EDurl.text=="cmdline") mainForm.EDurl.text=webbase+"/CMDline.txt" + if(mainForm.EDurl.text=="androidecho") mainForm.EDurl.text=webbase+"/AndroidECHO.txt" + view.go(mainForm.EDurl.text) +} + +mainForm.EDurl.oncommand = function(id,event){ + +} + return win.loopMessage(); /* You may need: