RackNerd VPS搭Hysteria2 HY2梯子 年付 $21.99 1G端口 3T流量 20G存储 1GB内存

update 2026-4-22 以前的旧套餐统统下架了 RackNerd 3T流量 20G存储 1GB内存 1核CPU 年付 $21.99   有 San Jose LADC03 https://1ladder.eu.org/rnladc03

Linux sed 命令添加多行文本 写在一行命令里

TL;DR sed ' /要搜索的内容/   a  第1行 \\n 第2行 \\n 第3行' kejilion的脚本, 考虑使用者有可能在墙内, 或者是纯ipv6的网络环境,  1) 在Docker包管理器时会使用国内的源,  2) 在获取 github 资源时, 会加上 ghproxy. 脚本会根据一些条件来帮助使用者进行判断, 是否应该使用这些特殊处理. 但是, 使用者的环境千奇百怪, 脚本的判断并不一定是最优的处理. 那么群里就会冒一条消息. 唉呀, 脚本卡住啦, 脚本出错啦, 求求大神快来解救我呀. 如果我们不想等"大神"来救, 那么我们可以自己决定是否要做这些特殊处理. 思路和 以前类似 , 也是用sed修改文本流的内容, 再灌到bash里面去执行. 我们要在文本中找到 quanju_canshu() { 然后在下面添加3行 zhushi=0 gh_proxy="https://gh.kejilion.pro/" return 当然了, 根据你的需求, 这2个参数的值是可以修改的. 比如, zhushi=1, 或者 gh_proxy="" 到此为止, 和以前都差不多, 写一篇文出来太水了. 我想写文的原因是, 如何使用sed添加多行文本, 写在一行命令里. 要用sed添加多行文本, 我找到的资料都是写成多行命令的, 我的意思是这样的: https://www.runoob.com/linux/linux-comm-sed.html man sed 查出来的官方帮助文档 a \ - append - 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用\续行 但是, 如果我要基于 bash <(...) 的模式修改, 我想还是保持一行命令的形式, 应该怎么写呢? 又经过一些搜索和尝试, 在 sed v4.9 版本下, 我实践成功的写法是这样的 sed ' /要搜索的内容/ a 第1行 \\n 第2行 \\n 第3行' 其中 /***/ 就是 搜索并定位 的功能, a 就是在下1行添加文本  的功能, \\n 实现了换行符. 回到我们的原始问题. bash <( curl -L "https://gh.kejilion.pro/h...

v2rayN-3.29-VLESS 生成配置文件 Xray链式代理 多http代理inbound 多落地节点outbound 一对一 隧道节点方便切换

之前 做了一个Xray 加载多个 链式代理 配置文件 多inbound 多outbound 一对一方案 , 要一个一个导出客户端配置文件, 还要修改 inbound 和 outbound 的 tag. 最终把多个配置文件放在同一个目录, 启动xray内核, 会合并所有配置文件的 inbound 和 outbound, 以及路由规则, 这样保证 inbound 和 outbound 一一对应. 整个过程还是有点麻烦的. 最近给 v2rayN-VLESS 开发 HY2 支持, 在处理  Reality 协议与 Hysteria2 协议节点并存 时, 走读代码的逻辑. 发现 如果多选了节点, 再用测速功能, 会先生成配置数据. 这个配置数据包含以下内容: 1. 在生成配置的时候, 会生成多个 http 代理的inbound. 2. 将你选择的那些节点也生成 outbound. 3. 生成很多个 路由规则  把这些http代理的inbound和要测试的节点的outbound 一一对应起来. 然后启动一个内核, 加载这个配置, 也就是包括了 上述这些 inbound, outbound, 路由规则. 然后再用这些inbound的http代理, 一个一个去访问测试URL, 也就一一测试了 outbound表示的节点. 那么我多想一步, 如果我们把这个配置数据用json文件保存出来. 自己另外用个裸内核加载跑起来, 不就是我们之前想达到的功能吗? 而且本来设置的下一跳socks5设置也保存, 方便你将一批落地节点套上隧道 加速. 在 GenerateClientSpeedtestConfigString 函数, 把生成的配置文本保存出来就行了. 那么, 实现原来这篇文  一个Xray 加载多个 链式代理 配置文件 多inbound 多outbound 一对一方案  的目的, 工作流程更新为: 在v2rayN (1)中添加隧道节点 在v2rayN (2)中添加全部落地节点 在v2rayN (2)中设置下一跳Socks5 为 v2rayN (1) 的监听Socks端口 在v2rayN (2)中 全选节点, Ctrl + R 测试真连接延迟. 此时, 会生成 testconfig.json 配置文件 在v2rayN (2)目录中, 命令...

Xshell 中 Ctrl + 鼠标左键 快速移动光标

今天孤陋寡闻了. 才知道 Xshell 中 Ctrl + 鼠标左键 快速移动光标 这个功能. 使用终端命令行的时候, 如果网络不是那么快, 操作按个键, 要过段时间才会有反应. 我已经养成了 用 home 移动到行首, end 移动到行尾,  Ctrl + 方向键按单词移动的习惯, 移动起来会快一点了. 但是遇到要移动到一个很长的单词中间, 或者上下移动的行数比较多的时候, 连按了几个方向键后, 总是要等一下光标的反应, 看到底移动到哪一行了. 这时候, Ctrl + 鼠标左键 快速移动光标 的功能就方便了. Xshell 的功能开关在 菜单 工具 - 选项 - 键盘和鼠标, 勾选 用 Ctrl + 鼠标左键单击 移动终端光标 实际操作演示

v2rayN-3.29-VLESS 支持 Reality 协议与 Hysteria2 协议节点并存

需求 v2ranN-VLESS 支持了 reality, 基于 xray 内核 v2ranN-HY2 支持了 hy2, 基于 v2ray 内核 reality和hy2都好用, 都需要.  我是在VPS上同时部署了多个协议的(只要用不同的端口, 不冲突就可以了).  在客户端, 我可不想为了换个协议用用, 就要关个软件再开个软件. 那么, 就要在 v2rayn.exe 的目录下同时放 xray.exe 和 v2ray.exe 然后要根据不同的协议来调用不同的内核. 分析 我们先来看看目前的代码逻辑是怎样的. 根据 之前的开发经验 , 我们知道, 启动内核是在 V2rayHandler 模块的 V2rayStart 函数 里的 p.Start () 倒着走读代码, 发现 V2rayFindexe 函数是用来判断启动哪个内核程序的. 逻辑是, 在 lstV2ray 这个列表中取字符串出来, 再拼上 .exe 的后缀, 然后看当前目录有没有这样的文件存在. 而这个 lstV2ray 列表呢. 存着这些. 也就是说, v2rayN 3.29 的原始逻辑是, 当前目录下, 这3个内核的文件, 找到哪个就启动哪个. 那么, 我们要做的是: 建一个"全局"变量, 用于保存 指定的内核程序名称. 在启动内核之前, 要先根据使用的协议来判断是否需要指定内核程序名称. 实践 添加 模板内"全局"的变量 "设为活动服务器" 的功能, 最后启动内核之前, 加个判断内核的函数调用 测速功能. 最后启动内核之前, 加个判断内核的函数调用. 把v2rayN软件设置里面的 outbound 也就是节点信息传进去. 而这个新增的 SetCoreExeByConfig 函数的实现呢. 就是根据节点信息里的特定属性, 判断是否reality协议, 是否hy2协议. 最后一个修改, 在查找内核程序的函数 V2rayFindexe 中, 原来的逻辑是遍历 { "xray", "wv2ray", "v2ray"} 这个列表. 现在修改为, 先构造一个列表. 规则是: 如果指定了内核, 那么列表中只有这个内核程序. 如果没有指定内核, 那么列表和原来的逻辑保持一致, 就是 { "xra...

v2rayN-HY2 测试真连接延迟

总功能列表在 这篇分析 里. 我们现在实现第 9 项 Ctrl+R 测速 打开主窗口 .cs 文件的设计器 找到菜单项, 双击,  打开菜单项 "测试真连接延迟" 的响应函数 走读代码, 跳转到 RunRealPing 函数. 继续走读代码, 一路跳转到 V2rayStartNew 函数 我们用 上一篇 一样的方法, 在 p.Start() 上设置断点. 再检查设置的启动参数. 可以看到, 实际上相当于在命令行执行 D:\_work\v2rayN-3.29-VLESS\v2rayN\bin\Debug\v2ray.exe -config stdin: 同样的, 这是 v2ray v4版本的启动语法. 我们要参考 v5 版本的启动语法了. 官方文档 https://www.v2fly.org/guide/start.html#运行 要注意, 测速的启动过程, 并不要指定配置文件. 而是, 先把程序启动起来, 再往 stdin (标准输入流) 输入json格式的配置文本. 而 v2ray v5版本, 要从stdin (标准输入流) 获取json格式的文本, 就要以 不指定配置文件的方式启动, 而且在同目录下不能有 config.json 文件. 所以, 我们把 生成配置文件的文件名, 修改为 不是config.json  比如, runconfig.json 进一步的, 我们使用的是 v4格式的json配置文本, 所以参数还要加上 -format json 最终, 修改启动参数为 run -format json 跑起来测试一下.   记得把以前生成的 config.json 文件删掉哦. 功能正常. ======== 开了一个分支, 本文的修改内容已提交. https://github.com/crazypeace/v2rayN-3.29-VLESS/tree/hy2 如果你有兴趣, 可以看到整个的开发过程. 本次修改记录 https://github.com/crazypeace/v2rayN-3.29-VLESS/commit/3129b5e ======== 如果只是使用 hy2 的话, 应该是可用的状态了. 所以发布了一个 pre release https://github.com...

v2rayN-HY2 导出分享链接至剪贴板 显示分享二维码

总功能列表在 这篇分析 里. 我们现在实现第 8 项 导出分享链接至剪贴板 打开主窗口 .cs 文件的设计器 找到菜单项, 双击,  打开菜单项 "导出分享URL至剪贴板" 的响应函数 走读代码, 一路 F12 跳进去, 直到 GetVmessQRCode 函数. 这里就是生成分享URL的地方. 很明显, 函数名称没有及时更新, 还叫 Vmess  Hy2 分享链接的格式有官方定义. https://v2.hysteria.network/zh/docs/developers/URI-Scheme/ 示例: hysteria2://密码@服务器IP域名:端口?insecure=跳过证书验证#备注 我们照着 VLESS 的逻辑抄一遍. 没有encryption参数, 所以去掉. 继续跳进 GetStdTransport 函数. 这里面是处理 streamSettings 结构中的数据. 我们添加 hy2 的处理. 跑起来测试一下. 能复制出分享URL了. 但是里面多了一些参数. hysteria2://7c6c918f-6e80-3283-9cf0-a8d34e80f86e@104.168.128.251:2053?security=tls&type=hysteria2&insecure=1#HY2-104.168.128.251 security 和 type 参数在 hy2 的官方定义中是不应该出现的. 所以我们改一下, 不要调用 GetStdTransport 函数了, 直接在 GetVmessQRCode 函数中, 把 insecure 参数填充了就算了. 测试一下, 分享的URL正常. 生成的二维码用 Shadowrocket 扫一下, 也能正常使用. ======== 开了一个分支, 本文的修改内容已提交. https://github.com/crazypeace/v2rayN-3.29-VLESS/tree/hy2 如果你有兴趣, 可以看到整个的开发过程. 本次修改记录 https://github.com/crazypeace/v2rayN-3.29-VLESS/commit/16dd2f6