@kook9527 #99 不对,nc测试指令也不会因为:干扰 因为IP和端口之间根本没有:冒号,具体代码部分nc -z -w$timeout "$target" "$port" >/dev/null 2>&1 例子 nc -z -w3 3:a4:66:b4:a4:3:145:19f 5520 我确定一下,你的那台中转机有ipv6吗?没有的话肯定测不通....确定一下原因 请输入出口服务器的信息: 出口服务器的IP地址或域名: 3:a4:66:b4:a4:3:145:19f 出口服务器的监听端口: 5522 正在测试与出口服务器的连通性... ✓ 连接测试成功! 检查防火墙状态... 使用默认配置完成设置
@kook9527 #102 感谢反馈,这点小细节咱能做好就尽量做好吧 我先确定是能成功转发的吧? 然后说一下我的初步判断 ,可能是中转机nc版本低了,因为脚本只检测有没有工具,有就用不管你版本(尽量原生原则) 试一下手动测试代码 nc -zv -w3 ipv6 端口 和 nc -zv -6 -w3 ipv6 端口 看看分别返回什么 注意是IP空格端口
@kook9527 #104 行,感谢反馈,这样我心里有数了,但是不好复现,一般好像不会有这个bug,都是自带的工具,下次遇见再看看吧 对应代码部分,机制是完善的,先检测有没有,然后再根据没有的安装,只是不管版本号,有就用 (猜测)可能是安装脚本的时候有nc,但是nc是netcat-traditional,功能老旧不支持一些参数,然后我们手动下载了netcat-openbsd,这是 Ubuntu 默认推荐的 nc 工具版本,支持更多功能(如 -z、-v) # 自动安装缺失的依赖工具 install_dependencies() { local missing_tools=() local tools_to_check=("curl" "wget" "tar" "systemctl" "grep" "cut" "bc" "nc") echo -e "${YELLOW}正在检查必备依赖工具...${NC}" # 检查缺失的工具 for tool in "${tools_to_check[@]}"; do if ! command -v "$tool" >/dev/null 2>&1; then missing_tools+=("$tool") else echo -e "${GREEN}✓${NC} $tool 已安装" fi done # 如果有缺失的工具,自动安装 if [ ${#missing_tools[@]} -gt 0 ]; then echo -e "${YELLOW}需要安装以下工具: ${missing_tools[*]}${NC}" # 使用 apt-get 安装依赖 (仅Ubuntu/Debian) if command -v apt-get >/dev/null 2>&1; then echo -e "${BLUE}使用 apt-get 安装依赖...${NC}" apt-get update -qq >/dev/null 2>&1 for tool in "${missing_tools[@]}"; do case "$tool" in "curl") apt-get install -y curl >/dev/null 2>&1 && echo -e "${GREEN}✓${NC} curl 安装成功" ;; "wget") apt-get install -y wget >/dev/null 2>&1 && echo -e "${GREEN}✓${NC} wget 安装成功" ;; "tar") apt-get install -y tar >/dev/null 2>&1 && echo -e "${GREEN}✓${NC} tar 安装成功" ;; "systemctl") apt-get install -y systemd >/dev/null 2>&1 && echo -e "${GREEN}✓${NC} systemd 安装成功" ;; "bc") apt-get install -y bc >/dev/null 2>&1 && echo -e "${GREEN}✓${NC} bc 安装成功" ;; "nc") apt-get install -y netcat-openbsd >/dev/null 2>&1 && echo -e "${GREEN}✓${NC} nc 安装成功" ;; esac done else echo -e "${RED}错误: 当前仅支持 Ubuntu/Debian 系统${NC}" echo -e "${YELLOW}请在 Ubuntu 或 Debian 系统上运行此脚本${NC}" exit 1 fi else echo -e "${GREEN}所有必备工具已安装完成${NC}" fi echo "" 已更新,修复这些小细节
@Vicissitude #34 @kook9527 #102 @q1351022 #80 2025/7/17/19.00 🎉 更新 支持指定中转机的某个入口 IP,以及指定某个出口 IP,适用于多IP情况和一入口多出口的情况(选择[1] 中转服务器即可看见) nc 工具会自动处理,换成netcat-openbsd,避免有的系统是老旧的netcat-traditional 导入配置文件 - 自动识别同目录 JSON 配置文件导入,以及支持输入文件完整路径识别导入 支持精细化不同规则组分别启用不同的负载均衡模式,而非全局 同步更新识别,显示等功能 先导出配置文件 - 查看当前配置,复制粘贴成.json文件导出,避免配置丢失 再次执行curl -fsSL https://raw.githubusercontent.com/zywe03/realm-xwPF/main/xwPF.sh | sudo bash -s install即可更新 感谢大家反馈和支持,你们的建议让项目变得更加完善 欢迎继续通过评论、Issue 或私信等方式提出宝贵意见,使用感受等等
@Vicissitude #34 @q1351022 #80 现在支持了,之前表达有误 自定义(指定)入口监听IP地址(客户端连接IP,默认全部监听 ::): 自定义(指定)出口IP地址(适用于中转多IP出口情况,默认全部监听 ::): 上面是入口,下面是出口,现在再试试
@kook9527 #99
不对,nc测试指令也不会因为:干扰
因为IP和端口之间根本没有:冒号,具体代码部分
nc -z -w$timeout "$target" "$port" >/dev/null 2>&1例子
我确定一下,你的那台中转机有ipv6吗?没有的话肯定测不通....确定一下原因
@zywe #101 有的,我没有关v6的习惯,只是把vps设置为v4优先,这个应该不影响,无所谓吧可能我是个例,不影响转发就行了
@kook9527 #102
,可能是中转机nc版本低了,因为脚本只检测有没有工具,有就用不管你版本(尽量原生原则)
感谢反馈,这点小细节咱能做好就尽量做好吧
我先确定是能成功转发的吧?
然后说一下我的初步判断
试一下手动测试代码
nc -zv -w3 ipv6 端口和
nc -zv -6 -w3 ipv6 端口看看分别返回什么
注意是IP空格端口
@zywe #103 我知道,原来是我的没有安装nc的原因,我还以为脚本会自带安装这些依赖的
手动安装一下就可以测试成功了
@kook9527 #104
行,感谢反馈,这样我心里有数了,但是不好复现,一般好像不会有这个bug,都是自带的工具,下次遇见再看看吧
对应代码部分,机制是完善的,先检测有没有,然后再根据没有的安装,只是不管版本号,有就用
(猜测)可能是安装脚本的时候有nc,但是nc是netcat-traditional,功能老旧不支持一些参数,然后我们手动下载了netcat-openbsd,这是 Ubuntu 默认推荐的 nc 工具版本,支持更多功能(如 -z、-v)
已更新,修复这些小细节
@Vicissitude #34 @kook9527 #102 @q1351022 #80
2025/7/17/19.00 🎉 更新
先导出配置文件 - 查看当前配置,复制粘贴成.json文件导出,避免配置丢失
再次执行
curl -fsSL https://raw.githubusercontent.com/zywe03/realm-xwPF/main/xwPF.sh | sudo bash -s install即可更新感谢大家反馈和支持,你们的建议让项目变得更加完善
欢迎继续通过评论、Issue 或私信等方式提出宝贵意见,使用感受等等
@Vicissitude #34 @q1351022 #80
现在支持了,之前表达有误
上面是入口,下面是出口,现在再试试
有点厉害
预计更新 (画饼时间,实际为准🃏)
欢迎提交PR
大佬优秀呀