SeaHOH / GotoX

本地自动代理,修改自 goagent。
722 stars 147 forks source link

workers.dev 已挂 #229

Open SeaHOH opened 2 years ago

SeaHOH commented 2 years ago

一个小时前


另,鉴于下方有一些基于错误基础发表的描述,这里提供一些相应知识以供参考。

CNAME 记录和主机配置是完全不同的独立的两个概念与操作,就好比车辆绑定驾驶证,两者之间没有任何必然的关联。 如果相互不匹配,相关域名就无法正常连接和使用,包括且不限于 IP 受限、SNI 不匹配、Host 不匹配、证书不匹配、客户端验证失败等。

任何 DNS 记录包括 CNAME 记录修改后会延迟不定时间才生效,主机配置则是立即生效。

针对 https/TLS,GFW 会检测 IP、SNI 和总连接数,分别对应实施黑洞、RST 和丢包这些方法来干扰封禁。CNAME 不在检测范围内,既费力又无用。

GFW 可能会在以下几种情况获知域名相关信息:

lxf1009 commented 2 years ago

怎么办

alhricke commented 2 years ago

可以绑定自己的域名,然后在配置里面填写绑定的域名就可以正常使用了……

SeaHOH commented 2 years ago

确实可以这样,但如果是免费域名的话,下一步可能也会挂。其它 (或可以用作) 公共代理服务,其域名估计也要遭殃,当然这是被用得多的情况才会开始。

前几年就说的,技术和软硬件升级的必然结果,墙的代价是越来越低,反之,翻越的代价提高了。

standritsu commented 2 years ago

有IP没事,刚才我手贱关太快了没记下来...

Quantum2Bits commented 2 years ago

可否通过SNI操作使用workers.dev, 就像用google一样?

SeaHOH commented 2 years ago

可否通过SNI操作使用workers.dev, 就像用google一样?

不行,CloudFlare 全面执行高安全标准。

Quantum2Bits commented 2 years ago

可否通过SNI操作使用workers.dev, 就像用google一样?

不行,CloudFlare 全面执行高安全标准。

听说CloudFlare支持SNI加密

SeaHOH commented 2 years ago

我这种是钻空子,现在空子小了。隔壁还有刚正面跳 RST 的,估计能用的更长久,缺点就是太显眼禁不住查,不过没有特殊情况一般人也不用怕会查你。

SeaHOH commented 2 years ago

ESNI/ECH 早两年就挂了。

ksi1110 commented 2 years ago

请指个路 :)

ksi1110 commented 2 years ago

我这种是钻空子,现在空子小了。隔壁还有刚正面跳 RST 的,估计能用的更长久,缺点就是太显眼禁不住查,不过没有特殊情况一般人也不用怕会查你。

请问隔壁指的是哪个项目~😂

SeaHOH commented 2 years ago

请问隔壁指的是哪个项目~joy

前两个月刚被某网站给引流一波,作者改了仓库名,仍然在,只是躲开了搜索引擎上的旧链接,估计是不想太惹眼,所以我也不好直接写明。

ksi1110 commented 2 years ago

请问隔壁指的是哪个项目~joy

前两个月刚被某网站给引流一波,作者改了仓库名,仍然在,只是躲开了搜索引擎上的旧链接,估计是不想太惹眼,所以我也不好直接写明。

晓得啦,哈哈,上午还在纳闷部署的所有heroku都挂了,检查下才发现是反代不行了,没得玩了

alhricke commented 2 years ago

@SeaHOH 现在只能通过自己的域名来继续使用,但是这样就不能像之前那样同时使用多个worker来增加请求队列了,有没有什么方法,用自己的域名也能使用多个worker来增加请求队列?

SeaHOH commented 2 years ago

有没有什么方法,用自己的域名也能使用多个worker来增加请求队列?

假如有如下两个域名:

w1.cc.bb.aa
w2.cc.bb.aa

把 CFWFetch.py class cfw_params 里面的 workers.dev 改成 bb.aa,把你的子域名分别绑到 Worker 上,用法不变。

subdomain = cc
workers = w1|w2
standritsu commented 2 years ago

@SeaHOH 我添加自己的域名后直接访问workers地址显示OK,但GotoX里显示 失败:TimeoutError('The read operation timed out')

SeaHOH commented 2 years ago

@standritsu

worker =  domain.domain   #完整域名
workers =                 #留空
explodeip = 0             #可以试着切换开关看效果
timeout = 10              #自己调节超时时间
SeaHOH commented 2 years ago

我发现墙的状态检测有漏洞,不能完全拦截所有连接,可以用数量强行突破。

standritsu commented 2 years ago

@SeaHOH worker = domain.domain #完整域名 这个控制台窗口里面显示无误,我直接复制出来也能打开 workers = #留空 done explodeip = 0 #可以试着切换开关看效果 没效果 timeout = 10 #自己调节超时时间 没效果

CJN1986 commented 2 years ago

有没有什么方法,用自己的域名也能使用多个worker来增加请求队列?

把 CFWFetch.py class cfw_params 里面的 .workers.dev 删掉就行,把你的子域名分别绑到 Worker 上,用法不变。

比如我的域名是aaa.cc,子域名a1.aaa.cc和b1.aaa.cc绑定了worker

经测试,只删除.workers.dev不行

#版本是GotoX-3.8.8r2-cp39-win32
#config.ini文件
worker =
subdomain = aaa.cc
workers = a1 | b1

启动gotox后,控制台窗口显示连接的域名为a1.aaa 只有把".workers.dev"替换为".cc"才能正常工作。

Quantum2Bits commented 2 years ago

可以绑定自己的域名,然后在配置里面填写绑定的域名就可以正常使用了……

请问如何帮定自己的域名?

SeaHOH commented 2 years ago

@standritsu 试试用你自己的域名的解析结果

iplist = x.x.x.x|x:x:xx::x     #填入 nslookup 的结果

启动gotox后,控制台窗口显示连接的域名为a1.aaa 只有把".workers.dev"替换为".cc"才能正常工作。

确实,我忘记配置文件中限制了subdomain 只能有一个级别。

standritsu commented 2 years ago

谢谢,的确是IP的问题,输入ping的IP后填进iplist里,explodeip怎么设都能用

alhricke commented 2 years ago

有没有什么方法,用自己的域名也能使用多个worker来增加请求队列?

假如有如下两个域名:

w1.cc.bb.aa
w2.cc.bb.aa

把 CFWFetch.py class cfw_params 里面的 workers.dev 改成 bb.aa,把你的子域名分别绑到 Worker 上,用法不变。

subdomain = cc
workers = w1|w2

是的,今天上午已经通过这个方式修改成功了 我有如下域名:

w1.bb.aa
w2.bb.aa
w3.bb.aa

cfw_params 里面的 workers.dev 改成 .aa,config里面设置为如下

subdomain = bb.aa
workers = w1|w2|w3
ZK6100HGA commented 2 years ago

请问隔壁指的是哪个项目~joy

前两个月刚被某网站给引流一波,作者改了仓库名,仍然在,只是躲开了搜索引擎上的旧链接,估计是不想太惹眼,所以我也不好直接写明。

是zapret吗?

ZK6100HGA commented 2 years ago

你们的workers.dev现在才挂?我几年前就已经是每次创建/改名之后用一会就挂了。

Quantum2Bits commented 2 years ago

绑定域名有个潜在的问题:设定的CNAME有workers.dev, 现在的墙是要查CNAME的。曾经有过这样的经历。不知有什么方法可以避免CNAME被查。

Quantum2Bits commented 2 years ago

我发现墙的状态检测有漏洞,不能完全拦截所有连接,可以用数量强行突破。

这比跳RST的风险高吧

SeaHOH commented 2 years ago

绑定域名有个潜在的问题:设定的CNAME有workers.dev, 现在的墙是要查CNAME的。曾经有过这样的经历。不知有什么方法可以避免CNAME被查。

只有绑子域名才需要 CNAME 吧,直接托管好像也不用?而且墙为什么要检测 CNAME,没听说过。

我发现墙的状态检测有漏洞,不能完全拦截所有连接,可以用数量强行突破。

这比跳RST的风险高吧

差不多吧。不过这只是客观描述,不是教程。

loveinlastnight commented 2 years ago

我绑定域名,一样连接失败。。。

Quantum2Bits commented 2 years ago

绑定域名有个潜在的问题:设定的CNAME有workers.dev, 现在的墙是要查CNAME的。曾经有过这样的经历。不知有什么方法可以避免CNAME被查。

只有绑子域名才需要 CNAME 吧,直接托管好像也不用?而且墙为什么要检测 CNAME,没听说过。

确实要设定CNAME才能用,当然先有让CF托管自己的域名,而且CF只要2级域名(只有一个点的 xxx.xxx)。墙检测 CNAME是我经历过的,被BAN过。

Quantum2Bits commented 2 years ago

@loveinlastnight

我绑定域名,一样连接失败。。。

步骤没搞完吧,比如在你的worker里面要设定route。可以搜索一下cloudflare workers custom domain。

步骤搞完了还要过几个小时,甚至24小时。

SeaHOH commented 2 years ago

墙检测 CNAME是我经历过的,被BAN过。

被封的是 IP 而不是 CNAME。

loveinlastnight commented 2 years ago

@Quantum2Bits in

cloudflare workers里的设置已经完成,也已经生效。直接访问workers地址显示OK。 iplist里加入了ping的地址。 启动GOTOX后,访问的也是ping的地址,就是无法连接,还是TimeoutError('The read operation timed out')。 不知道问题出在哪里了。。

Quantum2Bits commented 2 years ago

cloudflare workers里的设置已经完成,也已经生效。直接访问workers地址显示OK。 iplist里加入了ping的地址。 启动GOTOX后,访问的也是ping的地址,就是无法连接,还是TimeoutError('The read operation timed out')。 不知道问题出在哪里了。。

不需要加iplist, 你ping出的ip有可能是假的,这是DNS搞的鬼。

loveinlastnight commented 2 years ago

不加也是连接失败。。。 原因还没找到

Quantum2Bits commented 2 years ago

不加也是连接失败。。。 原因还没找到

在CF的DNS管理设置里强制https worker的route设置可以是:https://*.xxx.xxx/*。xxx.xxx是你的域名。(注意星号“*”可能没显示,// 和/ 之后是星号 “”) CNAME设置.xxx.xx 对应到你的woker。(注意星号“”可能没显示,.xxx.xxx 之前是星号 “”) 如果只有一个woker, 把www.xxx.xx 代替你原来GoToX设置的woker名就好了。

CJN1986 commented 2 years ago

确实要设定CNAME才能用,当然先有让CF托管自己的域名,而且CF只要2级域名(只有一个点的 xxx.xxx)。墙检测 CNAME是我经历过的,被BAN过。

CF托管域名,我没用CNAME,用A记录,ip为8.8.8.8,然后绑定worker,gotox连接自己的域名也工作正常。

Quantum2Bits commented 2 years ago

确实要设定CNAME才能用,当然先有让CF托管自己的域名,而且CF只要2级域名(只有一个点的 xxx.xxx)。墙检测 CNAME是我经历过的,被BAN过。

CF托管域名,我没用CNAME,用A记录,ip为8.8.8.8,然后绑定worker,gotox连接自己的域名也工作正常。

绑定worke就是在CF域名管理里面加一条CNAME记录,再在worker里设置route。你不是这样的吗? ip最好设一个空置的。

cancel-zen commented 2 years ago

@standritsu

worker =  domain.domain   #完整域名
workers =                 #留空
explodeip = 0             #可以试着切换开关看效果
timeout = 10              #自己调节超时时间

我绑定了域名到worker,但还是超时。请问绑定域名的步骤是怎样的,能不能说一下?谢谢

SeaHOH commented 2 years ago

我绑定了域名到worker,但还是超时

https://github.com/SeaHOH/GotoX/issues/229#issuecomment-1121961202

请问绑定域名的步骤是怎样的,能不能说一下?

谷歌搜索可更快得到答案。

loveinlastnight commented 2 years ago

我觉得是地域封锁不一样。我这里一样绑米后无法连接

performcanhe commented 2 years ago

有两个worker,分别是 123.zhangsan.worker.dev, 456.zhangsan.worker.dev。有一个自己的域名:zhangsan.xyz。 那么请帮忙看下如下操作是否正确。

1, CF 用 zhangsan.xyz建个website 。 2, 在该website里面,进入dns,添加如下记录 A zhangsan.xyz 8.8.8.8 CNAME 123.zhangsan.xyz 123.zhangsan.worker.dev CNAME 456.zhangsan.xyz 456.zhangsan.worker.dev 3, 在worker里面,设定如下route 123.zhangsan.xyz routeto 123.zhangsan.worker.dev 456.zhangsan.xyz routeto 456.zhangsan.worker.dev

performcanhe commented 2 years ago

这里有一点不太理解。既然CNAME设置了,为何还要设置route呢? 设置CNAME之后,不就是就已经能够解析到worker地址了吗?

SeaHOH commented 2 years ago

这里有一点不太理解。既然CNAME设置了,为何还要设置route呢? 设置CNAME之后,不就是就已经能够解析到worker地址了吗?

因为被连接的主机要检查 SNI 和 Host,根据其路由到相应的 Worker。

虽然 CNAME 可以胡乱设置,但是如果目标不是你有权限并做好相应设置的主机,那么就无法正常连接或返回错误信息。估计 @Quantum2Bits 之前就是这样搞过,而目标主机的 IP 则是已被封锁无法连接,才会误会 GFW 会检查 CNAME。

loveinlastnight commented 2 years ago

@SeaHOH 我现在直接访问woker绑定的域名,aa.bb.cc.com,浏览器显示 此站点的连接不安全。 gotox里 返回 Error([('SSL routines', 'ssl3_read_bytes', 'sslv3 alert handshake failure')]),重试。 这是什么原因呢?

Quantum2Bits commented 2 years ago

@SeaHOH 我现在直接访问woker绑定的域名,aa.bb.cc.com,浏览器显示 此站点的连接不安全。 gotox里 返回 Error([('SSL routines', 'ssl3_read_bytes', 'sslv3 alert handshake failure')]),重试。 这是什么原因呢?

域名进了黑名单了吧,或者你那里实行白名单了。有的地方在实行白名单,听说泉州就是。

loveinlastnight commented 2 years ago

浏览器查看了下,连证书都没有。。。

alhricke commented 2 years ago

有没有可能是cf出的问题呢?我刚刚看了一下我部署的其他cfw项目的证书也没了,gotox的cfw部署在浏览器上面访问正常,证书也正常……

alhricke commented 2 years ago

有没有可能是cf出的问题呢?我刚刚看了一下我部署的其他cfw项目的证书也没了,gotox的cfw部署在浏览器上面访问正常,证书也正常……

en……,刚刚说完没多久,我又刷新了几遍,发现又正常了,又能正常获取到证书了