在网络受限的VPS上 运行一个脚本 向外访问网络时暂停 使用者进行替代操作

前言 上一篇我们解决DD脚本的问题的方案, 其实就可以用来解决所有网络受限的VPS环境运行脚本的问题  ( 当然整个操作看起来比较繁琐. 而且, 上一篇的方案只处理了curl的情况. 而常见的脚本, 有些是用curl访问网络, 有些是用wget. 能力弱一点的朋友, 不知道怎么改成处理wget的情况. 那么, 我们尝试做一个通用一点的方案. 而且考虑如何方便使用.

DD脚本 在日志输出curl被调用的序号 输出curl命令和参数 执行预设的命令

前言 在 DD脚本群 https://t.me/reinstall_os 有群友遇到网络不好, 脚本下载资源时容易中断的问题.

DD脚本 输出所需资源的链接

前言 在 DD脚本群 https://t.me/reinstall_os 有群友遇到网络不好, 脚本下载资源时容易中断的问题.

分析 xray 代码 DNS解析

书接上文, 我们通过测试, 知道了xray在一定的条件下会调用系统的getaddrinfo 分析 Xray 的代码, 在哪里进行DNS解析 分析 xray 日志 [Debug] app/log: Logger started [Debug] app/proxyman/inbound: creating stream worker on 127.0.0.1:1080 [Info] transport/internet/tcp: listening TCP on 127.0.0.1:1080 [Warning] core: Xray 25.10.15 started [Info] [304315699] proxy/socks: TCP Connect request to tcp:api.myip.la:80 [Info] [304315699] app/dispatcher: default route for tcp:api.myip.la:80 [Info] [304315699] transport/internet/tcp:  dialing TCP to  tcp:api.myip.la:80 [Debug] [304315699] transport/internet: dialing to tcp:api.myip.la:80 [Info] [304315699] proxy/freedom: connection opened to tcp:api.myip.la:80, local endpoint 198.23.254.247:57912, remote endpoint 149.28.31.24:80 [Info] [304315699] proxy: CopyRawConn splice 可以发现一些关键词, 比如 dialing TCP to   我们打开xray源码 https://github. dev /XTLS/Xray-core/ * 对, 就是把 Xray 项目的 github.com 改为 .dev  ** 当然, 我这是图省事的操作. 你愿意下载源码再用M$ VS打开也是一样的. 搜索  dialing TCP to   这就是xray打印日志的地方了. https:...

xray的IPv4优先 IPv6优先行为受 gai.conf 控制?

前言 群友反馈在Deiban13下不能设置IPv4优先 通过进一步的交流, 群友的意思是 sing-box 向外访问, 无法通过 gai.conf 来设置是 IPv4优先 还是 IPv6优先 群友用的是fakeip的模式, 翻墙客户端发给梯子的数据包中只有域名, 没有IP. 上一篇我们测试了sing-box , 这次我们再测试一下 xray

sing-box的IPv4优先 IPv6优先行为受 gai.conf 控制?

前言 群友反馈在Deiban13下不能设置IPv4优先 通过进一步的交流, 群友的意思是 sing-box 向外访问, 无法通过 gai.conf 来设置是 IPv4优先 还是 IPv6优先 群友用的是fakeip的模式, 翻墙客户端发给梯子的数据包中只有域名, 没有IP.

编译getaddrinfo钩子 LD_PRELOAD加载 钩Python程序 钩Go程序 GODEBUG=netdns=cgo

上一篇, 我们用钩子拦截系统接口调用的方法验证某个程序是否调用了getaddrinfo系统接口. 这样的钩子技术可以应用在很多其它情况下. 并不会因为钩子的源代码是C, 就只能钩C写的程序 (curl 是 C写的). 编译钩子请参考 上一篇 , 略. 钩子文件是 /root/ hook_getaddrinfo.so 钩 Python 程序 感谢 Debian中文群的群友的 python 代码  https://t.me/c/1039975886/766756 python3 -c 'import sys, socket; [print(res) for res in socket.getaddrinfo(sys.argv[1], int(sys.argv[2] if len(sys.argv) > 2 else 80))]' api.myip.la 上面的代码是python调用系统 getaddrinfo. 我们在开头加上钩子, 得到 LD_PRELOAD=/root/ hook_getaddrinfo.so  python3 -c 'import sys, socket; [print(res) for res in socket.getaddrinfo(sys.argv[1], int(sys.argv[2] if len(sys.argv) > 2 else 80))]' api.myip.la 日志如下