博文

在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-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-VLESS 菜单项中文资源修改 .net 4.8项目多语言资源

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

v2rayN-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梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存

图片
点此链接购买 RackNerd 1G端口 3T流量 17G存储 1GB内存 VPS 年付 $10.98 https://my.racknerd.com/aff.php?aff=1374&pid=358 Disk Space 17 GB Bandwidth 3  TB Network Port  1 Gbps Memory          1 GB 点此链接购买 RackNerd 1G端口 1.5T流量 20G存储 1GB内存 VPS 年付 $10.99 https://my.racknerd.com/aff.php?aff=1374&pid=879 Disk Space 20  GB Bandwidth 1.5  TB Network Port  1 Gbps Memory          1 GB

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...

The Hot3 in Last 30 Days

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

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