fscarmen / warp-sh

WARP script is move to: https://gitlab.com/fscarmen/warp
626 stars 139 forks source link

BUG: 使用cloudflare-warp用socks5做代理时,最后失败,定位到是文件描述符上限的问题,修改limit配置之后变正常,您可以在service文件中添加修改 #74

Closed willsilicon closed 1 week ago

willsilicon commented 2 weeks ago

cloudflare社区中已经有过解决方案: https://community.cloudflare.com/t/warp-cli-linux-connect-error/488749 单独执行warp-cli status报错Status update: Unable to connect. Reason: Insufficient system resource: file descriptor,查看limit -n一般都是默认的1024,warp-svc的service文件中增加文件描述符限制后再重启就恢复正常,当然也可以自己在/etc/security/limits.conf修改重启

fscarmen commented 2 weeks ago

感谢,我也是第一次收到这样的报错,是这个版本的 warp-cli 新出现的报错还是旧版本都有的?会不会下个版本修复? 同时看你提供的链接,是修改/lib/systemd/system/warp-svc.service 这个文件,那 /etc/security/limits.conf 这个文件也要处理?

willsilicon commented 2 weeks ago

感谢,我也是第一次收到这样的报错,是这个版本的 warp-cli 新出现的报错还是旧版本都有的?会不会下个版本修复?

同时看你提供的链接,是修改/lib/systemd/system/warp-svc.service 这个文件,那 /etc/security/limits.conf 这个文件也要处理?

只改一个就可以,改service只重启service就可以,改limits.conf需要重启系统。这应该只在某些云主机才出现的问题,或者warp-svc升级后才有的,升级后好像已经没有内存泄漏了,跑了两天暂时看着没涨内存。

fscarmen commented 2 weeks ago

以前很夸张,一会儿跑到400MB+。回头我在脚本中做个判断并处理

willsilicon commented 2 weeks ago

以前很夸张,一会儿跑到400MB+。回头我在脚本中做个判断并处理

其实我是刚开始用,最开始用的他官方的最新的那几行命令,但是并没有建立起socks代理,虽然显示warp-cli connect是success,后来用的你的脚本wireproxy那个模式是成功的,然后停了wireproxy再切换的cloudflare-warp。我没有详细看他官方的那几个命令为什么没建起socks代理,所以你最好测试一下在一台什么都没装的机子上装cloudflare-warp。 另外,发现用了warp之后,手机看油管的时候广告特别多了,不知道其他人有没有这种情况,我猜难道这就是cloudflare盈利的方式?我在服务端还没有做分流,可能做了分流只让openai那些需要的走warp会好一些。

willsilicon commented 2 weeks ago

以前很夸张,一会儿跑到400MB+。回头我在脚本中做个判断并处理

其实我是刚开始用,最开始用的他官方的最新的那几行命令,但是并没有建立起socks代理,虽然显示warp-cli connect是success,后来用的你的脚本wireproxy那个模式是成功的,然后停了wireproxy再切换的cloudflare-warp。我没有详细看他官方的那几个命令为什么没建起socks代理,所以你最好测试一下在一台什么都没装的机子上装cloudflare-warp。 另外,发现用了warp之后,手机看油管的时候广告特别多了,不知道其他人有没有这种情况,我猜难道这就是cloudflare盈利的方式?我在服务端还没有做分流,可能做了分流只让openai那些需要的走warp会好一些。 (也许只要用他的warp注册过的vps都会加广告,我先切换回来看看广告会不会减少。)

fscarmen commented 2 weeks ago

其实我是刚开始用,最开始用的他官方的最新的那几行命令,但是并没有建立起socks代理,虽然显示warp-cli connect是success

warp-cli与wireproxy毫无影响的哦,稍后我用台新机器看看,你可对比我脚本与你手动的,看看有什么差异。你的系统是什么?版本?

willsilicon commented 2 weeks ago

其实我是刚开始用,最开始用的他官方的最新的那几行命令,但是并没有建立起socks代理,虽然显示warp-cli connect是success

warp-cli与wireproxy毫无影响的哦,稍后我用台新机器看看,你可对比我脚本与你手动的,看看有什么差异。你的系统是什么?版本?

ubuntu18.04 可能是我执行的少了东西,回头我对比一下,我记得执行完没出现/etc/wireguard目录,大概命令就是 warp-cli registration new warp-cli registration license warp-cli mode proxy warp-cli proxy port warp-cli connect

fscarmen commented 2 weeks ago

我记得执行完没出现/etc/wireguard目录

是的,这个是我脚本创建的专用目录,warp-cli 没有这个目录的,他的目录是 /var/lib/cloudflare-warp 账户信息和设置都保存在这里

另外我看到解决方案是把1024的限制改为 65535,增大了这么多?会不会导致其他不良后果的,毕竟好像只是偶发问题,改了影响其他全部我不太确定是否适合。

[Service]
LimitNOFILE=65535
LimitNOFILESoft=65535
willsilicon commented 2 weeks ago

我记得执行完没出现/etc/wireguard目录

是的,这个是我脚本创建的专用目录,warp-cli 没有这个目录的,他的目录是 /var/lib/cloudflare-warp 账户信息和设置都保存在这里

另外我看到解决方案是把1024的限制改为 65535,增大了这么多?会不会导致其他不良后果的,毕竟好像只是偶发问题,改了影响其他全部我不太确定是否适合。


[Service]

LimitNOFILE=65535

LimitNOFILESoft=65535

不好意思可能是我脑筋抽了,我今天看了看现在socks监听端口那个程序还是wireproxy,不是warp-svc的,warp-cli应该还是那个毛病,连接显示success但是端口没起来也没得到ip,我可能是执行安装client模式时没有关掉wireproxy,导致误以为是cloudflare client模式成功了,但是我又记得好像是执行过warp y的,顺序忘了😭。反正现在关了wireproxy再开client模式是不成功的,只打印了现在有多少PB流量,十分抱歉。 关于文件描述符,我猜测可能他程序里做了硬性检查(或者有什么别的bug),但是写的多大估计还可以再改小点试试,现在看显示connect成功后warp-svc打开的文件描述符才20多个。开的太大了确实不好,虽然还有内核file-max做限制。现在问题是改了之后它也没有真正启动成功。