最近没什么教程好写的,那就闲的没事写个脚本吧!
Shadowsocks 中继(中转)能用的工具很多,我的网站介绍过 HaProxy、iptables、Socat。
其中HaProxy只能转发TCP流量,但是支持端口段;iptables可以转发TCP/UDP,也支持端口段,但是配置容易出错莫名其妙的,iptables规则我也不熟悉;而Socat支持转发TCP/UDP,但是不支持端口段,所以多个端口操作起来有点麻烦,于是我就写一个脚本来添加和管理Socat。
Socat手动教程:Shadowsocks利用 Socat 实现单端口 中继(中转)加速
其他 Shadowsocks中继(中转)教程:传送门
Socat:
优点:支持 TCP/UDP 转发。缺点:不支持端口段(多个端口需要开启多个转发)
HaProxy:
优点:支持 TCP 转发,支持 端口段 转发。缺点:不支持 UDP 转发。
iptables:
优点:支持 TCP/UDP 转发,支持 端口段 转发。缺点:配置麻烦,容易出错。
系统要求
Debian / Ubuntu 14.04 +
脚本版本
Ver: 1.0.5
安装步骤
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/socat.sh && chmod +x socat.sh && bash socat.sh
下载并运行脚本后,输入 1
并回车就会开始安装。
使用方法
./socat.sh
运行脚本后,会显示菜单:
SoCat 一键管理脚本 [v1.0.5] -- Toyo | doub.io/wlzy-18 -- 0. 升级脚本 1. 安装 SoCat 2. 卸载 SoCat 3. 新增 SoCat 4. 删除 SoCat 5. 查看 SoCat 信息 6. 查看 SoCat 日志 当前状态: 已安装 请输入数字 [0-9]:
选择 3. 新增 SoCat
后,会提示你依次输入 本地监听端口、欲转发IP、欲转发端口、转发类型:
请输入 Socat 的 本地监听端口 [1-65535] (默认端口: 23333):10000 ———————————————— 本地监听端口 : 10000 ———————————————— 请输入 Socat 远程被转发的 端口 [1-65535] (默认端口: 10000): ———————————————— 远程转发端口 : 10000 ———————————————— 请输入 Socat 远程被转发的 IP:2.2.2.2 ———————————————— 远程转发 IP : 2.2.2.2 ———————————————— 请输入数字 来选择 Socat 转发类型: 1. TCP 2. UDP 3. TCP+UDP (默认: TCP+UDP): ———————————————— 请检查 Socat 配置是否有误 ! 本地监听端口 : 10000 远程转发 IP : 2.2.2.2 远程转发端口 : 10000 转发类型 : TCP+UDP ———————————————— 请按任意键继续,如有配置错误请使用 Ctrl+C 退出。
最后会提示你确认配置是否有误,如果没有问题就按任意键继续,启动成功后就会提示:
Socat 已启动 ! 本地 IP : 1.1.1.1 本地监听端口 : 10000 远程转发 IP : 2.2.2.2 远程转发端口 : 10000 转发类型 : TCP+UDP
选择 5. 查看 SoCat 信息
后,会显示如下:
当前有 2 个Socat转发进程。 1. 进程PID: 32288 类型: TCP4 监听端口: 10000 转发IP和端口: 2.2.2.2:10000 2. 进程PID: 32289 类型: UDP4 监听端口: 10000 转发IP和端口: 2.2.2.2:10000
选择 4. 删除 SoCat
后,也会显示列表,然后让你选择要终止的 Socat 数字。
Shadowsocks客户端说明
假设你的 海外服务器(被中转) 中搭建的Shadowsocks服务端的IP是 2.2.2.2
,SS端口是 10000
。
假设你的 中转服务器 的IP是 1.1.1.1
,本地监听端口和SS端口一致,都是 10000
。
那么,你的Shadowsocks客户端,添加Shadowsocks服务器,IP填写 1.1.1.1
,端口填写 10000
,其他的 密码/加密方式/协议/混淆等等 全部和原Shadowsocks账号一样!
安装目录
socat是通过 yum/apt 软件包安装的,所以我就单独搞了一个log日志文件的目录。
日志文件:/etc/socat/socat.log
其他说明
提示wget: unknown host “raw.githubusercontent.com” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "nameserver 8.8.4.4" >> /etc/resolv.conf
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
# Centos系统: yum install -y wget # Debian/Ubuntu系统: apt-get install -y wget
更换 apt源,解决安装错误:[错误] Socat安装失败 等等
一些VPS的 apt源太老旧,导致无法安装socat,所以我这里写上如何更换 apt源。所以我只针对这两个系统,Centos的自己去谷歌yum镜像源。
依次输入就可以更换apt源了,下面的代码是以 us美国 为例,你可以自己去这里选一个近一些合适的,然后替换下面代码中 us.sources.list 的 us 。
wget -N --no-check-certificate -P /etc/apt https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/sources/us.sources.list rm -rf /etc/apt/sources.list cp /etc/apt/us.sources.list /etc/apt/sources.list
更新日志
2018年01月18日,版本 v1.0.5
1. 修复 一些显示问题。
2. 更换 操作方式为菜单式操作。
2017年07月24日,版本 v1.0.4
1. 修复 Socat 卸载报错的问题。
2017年07月23日,版本 v1.0.3
1. 取消 CentOS系统支持。
2. 脚本 结构简单重写。
3. 修复 各种BUG。
2016年12月24日,版本 v1.0.1
1. 增加 自动设置开机启动功能。
2. 增加 自动设置开放防火墙端口功能。
3. 修复 启动/停止 成功,但是提示失败的BUG。
2016年12月21日,版本 v1.0.0
1. 推出 正式版本。
Socat手动教程:Shadowsocks利用 Socat 实现单端口 中继(中转)加速
其他 Shadowsocks中继(中转)教程:传送门
转载请超链接注明:逗比根据地 » 『原创』Shadowsocks Socat 中继(中转/端口转发) 便捷管理脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
假设本地设备(SSR客户端)外网IP:1.1.1.1、中转服务器(Socat)外网IP:2.2.2.2、被中转服务器(SSR服务端)外网IP:3.3.3.3
不挂代理直接访问 ipip.net 显示的IP是 1.1.1.1
使用SSR客户端直接链接 SSR服务端的服务器,全局访问 ipip.net 显示的IP就是 3.3.3.3
配置中转并使用SSR客户端 通过中转服务器 链接 SSR服务端的服务器后,全局访问 ipip.net 显示的IP就是 3.3.3.3