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

这两天有网友主动和我提起保姆型的大而全的菜单脚本的需求. 我突然觉得正好借此机会表达一下 我会做什么, 我不会做什么. ======== 1) 我自己想要做的.  我会做得非常详细.  教程尽量每一步都图文并茂, 而且会根据反馈不断优化, 如果环境发生了变化, 只要我知道了, 我就会更新教程. 比如, 我的搭节点的教程, 从买VPS到最终能使用. 我的目标是, 爷爷奶奶都能学会, 只要会使用键盘鼠标, 能认得键盘按键上的字母和符号.  我甚至想过, 把 链接的字体 设置成不会混淆的. 这样, 把教程打印成纸质的, 使用者也能 一个一个字符的敲到浏览器地址栏里, 也能完成节点搭建. 比如, racknerd 搭 v2ray 节点 2) 我自己遇到的问题.  如果网上现有的搜索结果不行, 或者不够完整, 或者需要多个信息(知识点)结合起来解决问题, 我会记录. 我希望自己遇到过的问题, 下次不用再寻找一次答案, 而是直接使用自己总结的经验. 对于网上现有的搜索结果, 我希望自己的总结能作为补充, 帮助遇到同样问题的其它人. 有时候, 网上的搜索结果, 能解决100个人中98个人的通用问题, 但是2个人会遇到像我一样的特殊情况, 那么我的总结就有价值. 比如, 编译 Xray 遇到 gvisor 报错 3) 其它网友遇到的问题.  在论坛或telegram群组里, 有时会遇到网友提出在我比较熟悉的领域内的问题. 如果网上的搜索结果不够准确或不够完善, 这个问题和我自己的博客内容不重复或者是正交的补充, 我会记录. 比如,  yt-dlp 下载时有年龄限制 4) 我的项目.  我自己的爱好和审美是 够用就好, 简洁, 正交.  比如, 我 用 v2ray 搭建 wss 协议节点 , 用 xray 搭建 reality 协议节点 , 用 hy2 搭建 hy2 协议节点 . 而不是用一个内核支持多个协议. 我对于自己的搭节点一键脚本还有一个定位, 就是要足够简单, 容易阅读. 这样可以作为一个良好的基材, 大家可以在此基础上做出满足自己需求的脚本. 我的脚本里面没有函数, 就是从头到尾执行.  唯一会在阅读代码时需要前后跳转的原因 就是, 有一些变量 是贯穿始终的. 这个无法避免. 满足了我...

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/ 在 Firefox 中登录 youtube.com 然后 使用这个插件导出 cookies.txt 把 cookies.txt 传到VPS上 不管用什么方法都行.  Xshell 自带 Xftp 工具栏有按钮 yt-dlp 使用 cookie 下载 官方文档  https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp 我是把 cookies.txt 放在了当前目录, 所以我是这样用的. yt-dlp https://youtu.be/H9Qb88pZpqg --cookies 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 检测 网络在线检测 https://check-host.net/ 从另一个VPS Linux命令行检测 用到这个项目 https://github.com/wangyu-/UDPping 先下载测试脚本(python) wget -L https://github.com/wangyu-/UDPping/raw/refs/heads/master/udpping.py 执行方式为 python3 udpping.py IP地址 UDP端口 python3 udpping.py 134.195.211.170 4000 windows环境测试工具 https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/portqry-command-line-port-scanner-v2

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

虽然v2rayN提供了导出base64编码后的订阅内容的功能. 但是不方便管理订阅内容, 特别增减个别节点的这种微调. 所以我们自己弄订阅方式干脆就纯文本保存, 不要搞Base64编解码了. 说干就干. 先在添加订阅的地方加个 "是否Base64解码" 的checkbox 订阅的数据结构要加个字段 来保存这个设置项. 订阅管理的窗口 SubSettingForm , 打开窗口设计器, 双击保存按钮, 再一路走读代码. 发现没对订阅项中的字段做什么处理, 直接就把订阅项的数据结构序列化为json文本保存到 v2rayN配置文件中去了. 那么就是说, 当 订阅管理的窗口 SubSettingForm 关闭的时候, v2rayN配置数据结构  中 订阅项 的数据已经被更新了. 插一句, 传统的窗口设计是, 在窗口 确认关闭之前, 窗口元素上的所有数据和变化都只停留在窗口上, 就像是一张草稿纸. 如果窗口取消了,那么程序本身的数据一点都不会改变. 如果窗口确认了, 才会用窗口元素的数据来改变程序. 找了一个订阅项的界面元素 chkEnabled. 在代码里全项目 Ctrl+Shift+F 搜一下. 找到这个结果. 可以看到, 当备注文本框的焦点离开时, 会把 界面上的订阅项数据 保存到程序的配置数据中. 继续想一想, 订阅项的界面元素并不是只有备注文本框啊. 而且, 话说回来, 备注文本框算是最不重要的数据了吧. 继续全项目搜索这个 txtRemarks_Leave 函数. 发现在 订阅url文本框 的离开焦点事件注册了这个函数, 在 是否启用订阅项的那个框框checkbox 的离开焦点事件 也注册了这个函数. 那么我们的修改就很明白了, 把 是否Base64解码checkbox 的焦点离开事件也注册这个函数就行了. (当然了, 我以前加的  AllowInsecure 焦点离开事件也要注册这个函数. 算是以前没做到位的, 现在来擦屁股了) 窗口设计器, 选中界面元素 Base64解码checkbox, 属性窗口 - 事件 - 焦点 - Leave,  下拉列表中 选择 txtRemarks_Leave  注册. 前面这么一大段大费周章, 是为了把这个 是否Base64解码 的设定值 能...

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

最方便在VS中的操作如下: 打开窗口设计器 选中窗口, 在属性表中 找到 Language, 下拉菜单中选择 语言. 对于 v2rayN 3.29 项目来说, 选择 "中文(简体)" 然后再找到菜单项进行修改, 改的就是中文资源属性了. 实际上中文(简体)资源 是保存在 .zh-Hans.resx 文件中. 你把这个文件用纯文本的方式打开就能看到. 从另一方面来说, 如果我选中窗口后的 Language 属性不是调整为 中文(简体), 那么会是不同的后缀的资源文件. 比如, 如果我选择的是 中文(简体, 中国)  那么资源文件后缀是 .zh-CN.resx 进一步的, 在不同的资源文件中, 是可以定义界面元素有不同的尺寸和位置的. 原因是, 不同的语言的文字, 写出来的长度是不一样的, 有可能需要不同大小的界面元素.  而且, 有些语言是从右往左写的. 那么, 你原本设计的界面元素的左右关系有可能暗示了先后或主次的顺序. 在这样的语言下, 界面元素的位置也应该重新安排.

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 的一个问题. \\ 会被显示为 \ 如果大家有更好的免费邮件订阅服务, 欢迎留言.