Xray 1.8.3 精简掉了对 AEAD之前的Vmess的支持

https://t.me/projectXtls/99 如果你的路由器是比较老的型号, 还留在 alterID 不为 0 的时代, 那么记得一定外面要套ws+tls, 避免vmess协议数据包直接暴露给GFW. 这里有一个古典版本的 233boy 脚本 https://github.com/crazypeace/v2ray 一键执行: bash <(curl -L git.io/233v334.sh) 这里有一个 v2rayN 3.29 的修改版, 小修改了一下, 支持vless链接的复制粘贴导入导出, 支持 Hysteria2 https://github.com/crazypeace/v2rayN-3.29-VLESS 在 v2rayN-VLESS v3.29.0.14 中实现了 v2ray xray 内核共存,  并设置了, 使用vmess时, 使用 v2ray 内核, 这样还可以继续支持 alterID 不为 0 的 vmess 使用.

v2rayN-3.29-VLESS v3.29.0.14 新年快乐

小改进项: 克隆服务器后选中 修改文字"清除所选测试结果" 如果 vmess 协议, 使用 v2ray (因为xray只支持 AEAD 之后的vmess, 不支持 "古典" vmess) 新建节点, 编辑节点后, 列表显示操作过的节点 打包内核 V2Ray v5.21.0 Xray v1.8.24 不知道有多少人在用我这个 v3.29 修改版. 欢迎使用者来给Github 这条发布信息 点个表情. 新的一年了, 把没有发布的一些小修改项, 打个包发布一下. 大家新年快乐! Xray项目里的XHTTP我在关注, 但是我觉得目前还处在一个变化过程中. 什么时候你看到我出了XHTTP的一键脚本了, 那么本项目对XHTTP的支持就提上日程了. ======== update 在  v2rayN-HY2 测试真连接延迟 这个修改中 引入 一个特殊限制 v2ray内核.zip 中是自带 config.json 文件的. 如果在添加内核的时候, 把这个 config.json 放到 v2rayN 目录下了的话. 在测速的时候, 会自动调用这个 config.json, 测速会失败.

申请 免费.news域名 namecheap.com 添加Cloudflare域名解析DNS 优惠码 FREEDOM24

namecheap.com   有活动. .news域名首年免费. 活动地址  https://www.namecheap.com/domains/registration/gtld/news/ 优惠码 FREEDOM24 老手看一张图划重点 新手就看下面的详细图文流程 活动地址  https://www.namecheap.com/domains/registration/gtld/news/ 加购物车 右下角结账 关闭自动续期 输入优惠码 FREEDOM24 这个时候会提示你注册或登录namecheap账号.  namecheap账号流程略. 登录namecheap账号了, 再在结账页面应用优惠码, 看到结账金额是0 再确认订单. 添加到 Cloudflare 在Cloudflare上面的操作和其它域名步骤一样, 只是有一步要在 namecheap.com 上面设置你的 Nameserver

更自由地使用 各种一键脚本(未裁剪) 解密 破限

 像我这样的小白们, 入门的第一步, 最常见的就是使用各种一键脚本先实现自己的基本需求. 接着随着时间的推移, 我们慢慢会觉得这些一键脚本有各种各样"不爽"的地方. 那么, 我们可以利用linux的文本修改工具sed, 达到查找替换, 添加, 删除等效果.

在不同的平台部署 webssh 自定义添加不同的标识 修改部署的文件

webssh 可以部署在 koyeb, fly.io, serv00 教程: https://zelikk.blogspot.com/2023/10/huashengdun-webssh-codesandbox.html https://zelikk.blogspot.com/2023/10/github-codespaces-flyio-webssh.html https://linux.do/t/topic/211113 在有人反馈的时候, 想知道是部署在哪个平台上的出了问题, 那么可以自定义添加不同的标识, 如: https://ssh.icdyct.nyc.mn/ http://ssh.icdyct.live/ https://flyio-webssh.fly.dev/ 本质上是修改文件. 这里, 你需要修改 webssh/templates/index.html HTML语法略.  本文我想记录一下, 针对不同的平台, 用什么方法修改文件. Koyeb 在部署完成后, 点击你部署的service 有一个 console 功能 在这里, 你可以修改文件. 比如, nano webssh/templates/index.html

强行重装 233boy的sing-box脚本 取消脚本报错退出的逻辑

如果你的VPS安装过233boy的sing-box脚本,  但是不知道什么原因, (当然很可能是你自己乱搞的原因 XD ) 现在用起来有问题,  而当你重装的时候, 脚本提示你用 sing-box reinsall, 而当你用 sing-box reinsall 的时候, 又提示报错 那么, 我们有一个思路是, 把脚本报错的逻辑跳过, 这样可以让重装操作继续下去. 思路跟 跳过DNS解析检验报错 一样, 在 err() 函数下面直接插一行 return 体现在一键安装脚本上, 变化思路和 跳过kejilion的脚本里的一些逻辑 的原理一样. 最终成果如下 bash <(wget -qO- -o- https://github.com/233boy/sing-box/raw/main/install.sh | sed '/err()\s*{/a return' ) ======== 后记 当然, 这样做的后果就是脚本中原有的报错退出逻辑也全都失效了, 所以你要确保使用的参数都是正确的. 同理可得 233boy的v2ray脚本 bash <(wget -qO- -o- https://git.io/v2ray.sh  | sed '/err()\s*{/a return' ) 233boy的xray脚本 bash <(wget -qO- -o- https://github.com/233boy/Xray/raw/main/install.sh  | sed '/err()\s*{/a return' )  

KV-woker 纯练手项目 保护 _ 开头的 Key VS code 重构 JS 代码 提取代码为函数

KV-woker 项目准备实现的功能列表见此: https://zelikk.blogspot.com/2024/12/kv-woker-1.html 今天实现: 保护 _ 开头的 KV对. 因为我们的目标是把配置项都放到 KV 中保存. 按目前的设计, 需要把理更多的配置项的 KV 放到 protect_keylist 中. 如果未来系统有配置项的扩充, 那么就要记得在 protect_keylist 中添加, 这是不优雅的.  我们可以约定, 配置项在 KV 中都以 _ 开头保存. 这一点和自动生成短链的方法也不冲突, 自动生成短链的字符中不含有 _ 符号. 本项目目前保护两个KV, _admin_pwd_ 和 _user_pwd_ , 不允许用户 修改, 删除, 查询. 目前的实现, 是设置了一个数组 protect_keylist 在业务逻辑中, 使用判断数组中是否有元素的方式 List.includes(key) , 来判断是否是属于需要保护的key. if (protect_keylist.includes(req_key)) 这一功能的效果就是: https://newkvdb.crazypeace.workers.dev/_user_pwd_ 显示404 https://newkvdb.crazypeace.workers.dev/_admin_pwd_  显示404 而且在  https://newkvdb.crazypeace.workers.dev/kvdbkvdb LoadKV, 是查询不到 _admin_pwd_ 和 _user_pwd_ 的 value 的 第 1 步 先将 if (protect_keylist.includes(req_key)) 这个判断重构为一个函数 鼠标拖选 "protect_keylist.includes(req_key)" , 右键, "Refactor...", "Extract to function in global scope",  输入新函数的名字, "checkProtectKey" 回车Enter确认 你会发现, 之前选中的文字被替换为了一个函数调用 而文件的末尾, 新增了一个函数, 函数内容就是你之前选中的语句...

KV-woker 纯练手项目 把worker.js 里的配置项改为在 KV 中保存

KV-woker 项目准备实现的功能列表见此: https://zelikk.blogspot.com/2024/12/kv-woker-1.html 今天实现: 把worker.js 里的配置项改为在 KV 中保存 第 1 步 在 KV 中把配置都添加进去, 前后都加上 _

KV-woker 纯练手项目 2个密码 对应不同的权限

KV-woker 项目准备实现的功能列表见此: https://zelikk.blogspot.com/2024/12/kv-woker-1.html 今天实现: 2个权限和对应的密码. 管理员权限 和 用户权限 第 1 步 用 _admin_pwd_ 和 _user_pwd_ 实现原来 password 的控制访问的功能 在 KV 中, 添加记录 Key: _user_pwd_   Value:  (我随便定的示例) kvdbkvdb Key: _admin_pwd_ Value:  (我随便定的示例) kvdbadmin 原项目 Url-Shorten-Worker 中, 是在 KV 库中保存 password 来 控制访问权限的. 代码中, 在这里从KV库中获取  password 对应的 value, 作为校验密码. 后续的逻辑, 都是使用这个变量 password_value 与JSON中的password字段比较, 或者是与浏览器访问的path比较. 我们这么修改,  代码的最开头, 增加一个数组 const user_key_list = [   " _admin_pwd_ ",   " _user_pwd_ " ] 在代码原来从 KV库 查询 password 的地方, 改为 将每个 user_key_list 的成员, 从KV库查询, 并将结果保存到 user_password_value_list const user_password_value_list = await Promise.all(   user_key_list.map(async key => await KVDB.get(key) || null) ); * JS的语法是比较奇怪, 我们拿人类语言去问 GPT 就好了. 在校验权限的地方, 原来是判断 password_value 是否等于 XXXX.  改为 判断 user_password_value_list 是否包含 XXXX 测试 https://newkvdb.crazypeace.workers.dev/ kvdbkvdb https://newkvdb.crazypeace.w...

KV-woker 纯练手项目

书接上文 当初我在 KV 中设置一个 password 的思路是, 我希望把 KV 看作是一个存储库, 那么使用权限密码也是保存的数据之一. 我知道目前有很多worker的项目, 是直接在 Variables and Secrets 变量和机密 中直接设置使用密码, 来控制不公开使用.  但我的思路不一样. 打个比方, 为了修改VPS的root密码,  一个是, 必须登录VPS厂商的后台管理面板中修改;  一个是, root登录成功后, 在命令行就可以修改.  我的思路是后者. 我准备在原短链项目上做一些增强开发. 进一步把当初的设想做完整. 也算是一个练习. 我能预期到, 这样的实现可能不实用. 因为每次访问worker, 都要从KV中读取一下password. 简单地说, 本来每天能转换100次短链, 这一下子只能转换50个了. (当然了, 本身KV的读取操作是每天10万次, 个人使用打个半折也足够用, 哈哈) ======== 我准备实现的功能包括: 2个权限和对应的密码. 管理员权限 和 用户权限 把worker.js 里的配置项都在 KV 中保存 为了不和原项目冲突, 以免直接使用原项目的一些用户被影响, 新开一个项目, 名称也更通用.  KV-woker 因为项目本身的定位更通用, 所以: 绑定 Bindings 用 KVDB 指向 KV 库 KV 库中设2个密码 _admin_pwd_ _user_pwd_ _user_pwd_ 用于控制能否访问管理页面, 增删改 KV 对. 相当于是普通用户. _admin_pwd_ 除了 _user_pwd_ 的权限以外, 还能增删改 _ 开头的 KV 对. 相当于是管理员. ======== 今天实现: 新建 github 项目 绑定 Bindings -  KVDB 用原来的 Url-Shorten-Worker 项目代码, 新建一个 Github 项目 KV-woker 在项目里搜索 Url-Shorten-Worker, 替换为 KV-woker * 如果你想跟随本教程实践, 记得搜索 crazypeace 替换为你自己的 Github 用户名. 搭一个 pastebin 系统. 测试 https:/...

Xshell 设置 Ctrl+Shift+C 为复制功能 Ctrl+Shift+V 为粘贴功能

Xshell 设置 Ctrl+Shift+C 为复制功能 Ctrl+Shift+V 为粘贴功能 这样就省得每次鼠标右键菜单再选 复制了. 另, 如果你使用了 PowerToy 的 Ctrl+Shift+V 粘贴纯文本功能, 会和这里的快捷键冲突. 我改为使用 鼠标中键粘贴.

白嫖worker 自建短链服务 Url-Shorten-Worker worker.js配置项增加 password

配置项增加 password 不需要在KV中添加password条目

hi-linux 奇妙的 Linux 世界 CSS解密 显示全文

TL;DR div#read-more-wrap {   display: none; } div#vip-container {   height: auto !important; } 奇妙的 Linux 世界 有几篇文挺好的. 比如, ptcpdump 新一代抓包神器,可捕获任何进程、容器或 Pod 的网络流量 一文带你搞懂旁路由的原理与配置 为什么只有 13 台根服务器 但是, 要说"但是"了. 首先, 要看全文需要加微信公众号, 发口令, 得到验证码. 其次, 这些文章也不是原创, 都是从别的地方采集的. 比如, ptcpdump: 抓包时显示进程信息以及对任意进程、容器或 Pod 进行抓包 https://mozillazg.com/2024/07/ebpf-ptcpdump-capturing-the-network-traffic-of-a-process-or-container-or-pod.html 旁路由的原理与配置一文通 https://easonyang.com/posts/transparent-proxy-in-router-gateway/ 为什么只有13台根服务器 https://taoshu.in/dns/13-roots.html * 多说一句, 原博客都挺不错的, 可以多看几篇. 那我就想能不能CSS"解密"一下了. ======== 过程并不难 F12 开发者工具 箭头工具 选中这个 "阅读全文" 找更上一层的父元素, id="read-more-wrap", 可以看到这个 warp 是包括了 半透明的mask 以及 "阅读全文" 按钮btn的 给它增加一个 display: none 属性, 就不显示了. 应用到 CSS 修改插件 上, 就是 div#read-more-wrap {   display: none; } 具体操作请参数此视频  https://www.youtube.com/watch?v=AnBbUC8jC7Y 这一步操作完之后, 对比原文, 发现正文并没有显示完整. 进一步的, 用箭头选择HTML元素, 找到了这个 id="vip-container" 并且, 高度是设定了的....

极简一键脚本是为了有一个容易学习和阅读的基材 方便大家实现自己需要的一键脚本 我会做什么 我不会做什么

这两天有网友主动和我提起保姆型的大而全的菜单脚本的需求. 我突然觉得正好借此机会表达一下 我会做什么, 我不会做什么.

yt-dlp 使用 cookie 下载有年龄限制的视频 从Firefox导出cookie

yt-dlp 非常好用 .  但, 当我们用来下载有一些视频时, 会遇到年龄限制. 如,  yt-dlp https://youtu.be/H9Qb88pZpqg 既然提示说要登录. 那么我们先使用 用户名 和 密码 登录的方法. 官方文档  https://github.com/yt-dlp/yt-dlp#authentication-options yt-dlp https://youtu.be/H9Qb88pZpqg -u 你的用户名 -p 你的密码 但是还是失败. 提示说用cookie的方法. 安装导出cookie的插件 https://github.com/rotemdan/ExportCookies 支持 Firefox https://addons.mozilla.org/en-US/firefox/addon/export-cookies-txt/

在Linux上用socat进行网络环境测试 UDP端口

前面介绍过怎么测试tcp端口, tcping https://zelikk.blogspot.com/2022/05/linux-socat-tcp-udp-ipv4-ipv6-localhost.html https://zelikk.blogspot.com/2024/09/socat-tcping.html 现在搭Hysteria2 HY2翻墙协议的越来越多, 那么我们怎么测试UDP端口是否正常工作呢? UPD 监听 还是用 socat socat -v UDP-LISTEN:端口号,fork PIPE socat -v UDP-LISTEN:4000,fork PIPE * 如果你的环境没有socat, 你需要安装一下 apt install -y socat

v2rayN-3.29-VLESS 订阅增加 是否Base64解码 选项 .net 4.8 WebClient下载中文乱码

虽然v2rayN提供了导出base64编码后的订阅内容的功能. 但是不方便管理订阅内容, 特别增减个别节点的这种微调. 所以我们自己弄订阅方式干脆就纯文本保存, 不要搞Base64编解码了.

v2rayN-3.29-VLESS 菜单项中文资源修改 .net 4.8项目多语言资源

最方便在VS中的操作如下: 打开窗口设计器 选中窗口, 在属性表中 找到 Language, 下拉菜单中选择 语言. 对于 v2rayN 3.29 项目来说, 选择 "中文(简体)" 然后再找到菜单项进行修改, 改的就是中文资源属性了.

v2rayN-3.29-VLESS 按键UTDB连续移动节点顺序

原来的v2rayN用按键来移动节点顺序, 每次只能移一下. 比如, U键是用于上移一格. 按U键后, 节点列表项会失去焦点, 于是你再按U键就无效了. 修改内容如下: 在 主窗口 MainForm 的 MoveServer 函数中,  让真正干活的 (AppConfigHandler 模块中 MoveServer 函数) 返回 (移动后的节点项 在序列中的位置) 然后再让这个列表项 .Selected = true 被选中. 当然 AppConfigHandler 模块中 MoveServer 函数 内部实现也有一些小修改. 在函数的最后, 向调用者返回这个index. 修改记录 https://github.com/crazypeace/v2rayN-3.29-VLESS/commit/acc87e1 主程序补丁文件 https://github.com/crazypeace/v2rayN-3.29-VLESS/releases/download/v3.29.0.12/v2rayN-VLESS-v3.29.0.12-UDTB.zip

follow.it 邮件订阅服务 将 \\ 显示为 \

我用了一个邮件订阅服务. https://follow.it/ 当我新发布了一篇博文后, 你会收到一封提醒邮件. 如, 最近我发了一篇文, 就发现了 follow.it 的一个问题. \\ 会被显示为 \ 如果大家有更好的免费邮件订阅服务, 欢迎留言.

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行'

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

之前 做了一个Xray 加载多个 链式代理 配置文件 多inbound 多outbound 一对一方案 , 要一个一个导出客户端配置文件, 还要修改 inbound 和 outbound 的 tag. 最终把多个配置文件放在同一个目录, 启动xray内核, 会合并所有配置文件的 inbound 和 outbound, 以及路由规则, 这样保证 inbound 和 outbound 一一对应. 整个过程还是有点麻烦的.

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 然后要根据不同的协议来调用不同的内核.

v2rayN-HY2 测试真连接延迟

总功能列表在 这篇分析 里. 我们现在实现第 9 项 Ctrl+R 测速

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

总功能列表在 这篇分析 里. 我们现在实现第 8 项 导出分享链接至剪贴板

v2rayN-HY2 能正常使用

总功能列表在 这篇分析 里. 我们现在实现第 7 项 能正常使用

v2rayN-HY2 [插播] network 字段忘处理了

 前面我们在 设置 Hy2 窗口 的时候, 少处理了 "network": "hysteria2", 从 Vmess 窗口复制一个粘过来. 再编辑一下 可选集合 列表. 在 hy2 场景下, 应该只有 hysteria2 可选. 再补充一下 前几篇 处理过的功能. 1. 从剪贴板导入数据到窗口元素. 2. 按下 确定 按钮, 保存节点信息到主窗口.  3. 从主窗口双击节点, 打开窗口显示节点信息. ======== 开了一个分支, 本文的修改内容已提交. https://github.com/crazypeace/v2rayN-3.29-VLESS/tree/hy2 如果你有兴趣, 可以看到整个的开发过程. 本次修改记录 https://github.com/crazypeace/v2rayN-3.29-VLESS/commit/4e2ac78