博文

目前显示的是标签为“xray”的博文

Xray 加载多个 链式代理 配置文件 多inbound 多outbound 一对一 本地提供Socks端口

图片
上回说到, 我们实现了 在v2rayN中设置下一跳Socks端口 , 这样可以进行 链式代理 , 救被墙的落地节点. 如果是工作需要, 要同时开好多个链式代理的话, 就要开好多个v2rayN, 有点麻烦.

Xray 合并配置文件时 也合并路由规则

图片
最近Xray的更新加了一个新功能, 当加载多个配置文件时, 把其中的inbound和outbound进行合并. 如果我们想把路由规则也合并呢? 修改几行代码就可以了.

实现 v2rayN 的节点可以设置出口为Socks 方便使用落地节点 套别的隧道 实现链式代理

图片
需求 上一篇讲了怎么手动修改配置文件, 实现出口为Socks , 这样可以套别的隧道, 实现链式代理. 为了方便使用, 我们修改v2rayN, 实现这个功能. 比如, 一个 vless + websocket + tls 节点, 设置出口为Socks, 而不是自由的出去.

Xray配置 TCP 链式代理 实践

图片
需求 如果你需要跑什么业务, 出口IP很重要, 比如是海外的一个家宽IP. 而从你本地到这个节点的速度太慢. 你想到之前嫖Cloudflare的worker搭出来的节点速度不错, 只是出口IP总是乱跳. 那么把这两者结合起来, 搭一个链式代理. 思路 (1) 先搭一个隧道, 在本地的入口是Socks5, 比如, 127.0.0.1 : 10086 (2) 然后让本地翻墙客户端配置下一跳是这个Socks, 而不是原来的那样走 Freedom 地出去. (3) 浏览器等实际应用就把第2步的翻墙软件像你平时一样地使用, 比如使用它的Socks5代理或者HTTP代理. 第(1)步用现有的翻墙客户端就可以实现, 比如, v2rayN. 第(2)步功能v2rayN没有支持, 可以自己稍微修改一下v2rayN生成的配置文件, 然后直接运行v2ray.exe

重装VPS系统时, 备份和恢复翻墙软件的配置文件 caddy v2ray xray / Caddyfile config.json

图片
今天把一个Racknerd的VPS重装成了Debian12,涉及到翻墙服务的备份和恢复。如果是简单的设置, 可以用 一键脚本带参数解决 . 我做的一键脚本都是可以带参数的, 方便你重装的时候一键运行. https://github.com/crazypeace/v2ray_wss https://github.com/crazypeace/xray-vless-reality 不过, 我正在用的这个, 配置文件上面做了一些个性化的修改, 比如, 多开了几个inbound. 就需要恢复配置文件了.  涉及 caddy, v2ray, xray 的配置文件 Caddyfile, config.json

Xray让不同UUID的用户走不同的路由routing - user篇

图片
需求 想问个需求。xray里怎么配置不同的uuid用户,走不同的routing?  防止朋友看Netflix影响小鸡ip解锁,给朋友uuid分流到warp,

Racknerd 使用 Debian 9/10/11 内存占用有区别吗

测试套餐 1GB KVM VPS Special (LEB Exclusive) RackNerd 1G端口 3T流量 17G存储 1G内存 年付 $10.98 https://1ladder.eu.org/rn1098 都是在后台面板重装系统后查看内存和磁盘使用情况.

Xray让不同UUID的用户走不同的路由routing - inboundTag篇

图片
需求 想问个需求。xray里怎么配置不同的uuid用户,走不同的routing?  防止朋友看Netflix影响小鸡ip解锁,给朋友uuid分流到warp,

CWVPS / VPSHS 搭Xray Reality梯子 月付$1.4 无限流量 1G内存 15G存储

图片
CWVPS(Cheap Windows VPS) 和 ServerHost 还有 VPSHS(VPS Hosting Service) 背后其实是同一家. 购买 VPS Hosting Service 月付$1.4 无限流量 1G内存 15G存储  (优惠码 1LEB) https://1ladder.eu.org/vhs1 购买 VPS Hosting Service 月付$2 无限流量 2G内存 30G存储  (优惠码 2LEB) https://1ladder.eu.org/vhs2

RackNerd VPS搭Xray Reality梯子 年付 $10.18 1G端口 1T流量 15G存储 768M内存

图片
点此链接购买 RackNerd 1G端口 1T流量 15G存储 768M内存 VPS 年付$10.18 https://my.racknerd.com/aff.php?aff=1374&pid=792 Disk Space 15 GB Bandwidth 1 TB Network Port  1 Gbps Memory          768 MB

用xargs让xray x25519 -i支持Linux管道 以私钥计算公钥

图片
xray支持用x25519 -i带私钥来计算公钥。帮助信息如下: ubuntu@ubuntu22:~$ xray help x25519 usage: xray x25519 [-i "private key (base64.RawURLEncoding)"] Generate key pair for x25519 key exchange. Random: xray x25519 From private key: xray x25519 -i "private key (base64.RawURLEncoding)" 实际使用起来,像是下面这样: ubuntu@ubuntu22:~$ xray x25519 -i X23TSjifyqPQ-BVFdosjJqSz_i4O7pCFomPlkzX7DTM Private key: WG3TSjifyqPQ-BVFdosjJqSz_i4O7pCFomPlkzX7DXM Public key: 1wwKZV_IxO4W4wcGJ9dgzBMMaZ3mNOJZcy_MVVmC-1M 那么结合 上一篇 生成随机私钥的方法,像下面这样: ubuntu@ubuntu22:~$ head -c 32 /dev/random | base64 -w 0 | tr '+/' '-_' | tr -d '=' 90L0JJmD721jKRtVSVOqMQZQ6j8VFO2Hl168XfFzWyY 而当我们想使用Linux的管道来将上面的结合起来时,却遇到报错,像下面这样: ubuntu@ubuntu22:~$ head -c 32 /dev/random | base64 -w 0 | tr '+/' '-_' | tr -d '=' | xray x25519 -i flag needs an argument: -i usage: xray x25519 [-i "private key (base64.RawURLEncoding)"] Run 'xray help x25519' for details. 经过一番学习,感谢  yichya   的解答 

Xray x25519 密钥对、linux中的base64、golang中的base64.RawURLEncoding

图片
玩了一下 Xray 上面的 Reality, 对其中生成 x2519 密钥对的过程感兴趣,拿到源码一看,还可以用 -i 参数带私钥进去计算公钥。

xray去掉日志打印

图片
需求  现在流行一波白嫖容器。有些容器提供方不支持xray,所以如果检测到是xray就会封停。 我们猜测,可能会检测运行过程中的日志。 分析 对代码进行了一番阅读理解,发现有这么两个打印日志的方法。 WriteToLog  阅读理解以后,发现是这里实现最终打印日志的动作。 把函数内容注释掉就行了。 Println 阅读理解了一下,还不能简单地全部都删。不然就可以 sed 和 grep 批量注释了。 把下面这两个地方注释了,就不会打印日志了。 注释了上面这几行以后,编译会报错 先后会报这么一些错 main/version.go:4:2: imported and not used: "fmt" main/version.go:24:9: s declared but not used main/version.go:23:2: version declared but not used main/version.go:6:2: imported and not used: "github.com/xtls/xray-core/core" 所以最终还需要修改结果是: nano main/version.go 实操过程 效果 ====== 后记 不知道怎么编译 xray 的参考此篇 下载xray v1.7.2代码 修改并编译 hash变得不一样

xray去掉config参数 配置文件内置 修改ConfigLoader函数

图片
需求 现在流行一波白嫖容器。有些容器提供方不支持xray,所以如果检测到是xray就会封停。 我们猜测,也许会检测启动时的参数 -config。 如果我们不使用 -config 参数,程序会从 stdin: 读取配置文件。 那么我们把配置文件写死在源码中,把程序原来要从 stdin: 读配置文件的,变成加载源码中写死的配置文件。 分析 运行xray时,提示要从stdin:读取配置文件 在源码中搜索 "stdin:",经过一番阅读理解,读取配置文件的代码位于  编辑这个文件,将ConfigLoader函数改为: io.ReadAll 用法参考:  https://pkg.go.dev/io/ioutil#ReadAll 这里使用反引号的字符串,因为是带有双引号的,有换行的字符串。 语法参考: https://gfw.go101.org/article/basic-types-and-value-literals.html 比如,我随便找一个最简单的配置文件  https://github.com/XTLS/Xray-examples/blob/main/VLESS-TCP/config_server.json 修改源码 nano main/confloader/external/external.go ConfigLoader函数修改为: func ConfigLoader(arg string) (out io.Reader, err error) {         var data []byte         switch {         case strings.HasPrefix(arg, "http://"), strings.HasPrefix(arg, "https://"):                 data, err = FetchHTTPContent(arg)         case arg == "stdin:": //              data, err = io.ReadAll(os.Stdin)                 strConfig := strings.NewReader(`{   "log":

下载xray v1.7.2代码 修改并编译 hash变得不一样

图片
现在流行一波白嫖容器。有些容器提供方不支持xray,所以如果检测到是xray就会封停。 我们猜测,也许会检测主程序。检测主程序的hash,判断是否与xray发布版相同。 那么对策就是修改源码,自行编译,这样再去算hash,就不会与发行版相同。 安装 go 环境 (官方) https://go.dev/doc/install 复制下载链接 wget 下载 wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz go官方脚本 rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.5.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin 检查是否输出 go 的版本,来验证是否go环境配置成功。 go version 下载 v1.7.2 源码 找到 Release 下载文件的地方 https://github.com/XTLS/Xray-core/releases/tag/v1.7.2 翻到最下面有源码的压缩包 复制下载链接, wget 下载 wget https://github.com/XTLS/Xray-core/archive/refs/tags/v1.7.2.zip 解压 unzip v1.7.2.zip 编译 进入源码目录 cd Xray-core-1.7.2 编译命令 (Xray官方) go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main 第一次编译会下载很多依赖,需要一点时间,请耐心等待。 最后会得到xray可执行文件 查 SHA-1 MD5 hash sha1sum xray md5sum xray 修改源码 随便修改一个go文件 nano ./main/main.go 找个字符串,随便加点乱码,保存。 再编译一次 go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main 再查一下 SHA-1 MD5 hash sha1sum xray md5sum xray 可以看到 hash 变化了。 ======== 后记 安装

The Hot3 in Last 30 Days

无服务器 自建短链服务 Url-Shorten-Worker 完整的部署教程

ClouDNS .asia免费域名 托管到CloudFlare开CDN白嫖Websocket WS通道翻墙 / desec.io