系统要求

Debian / Ubuntu 14.04 +

脚本版本

Ver: 1.0.4

安装步骤

wget -N –no-check-certificate https://softs.fun/Bash/socat.sh && chmod +x socat.sh && bash socat.sh

备用下载地址(上面的链接无法下载,就用这个):

wget -N –no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/socat.sh && chmod +x socat.sh && bash socat.sh

下载并运行脚本后,会自动检测并开始安装。

使用方法

# 添加Socat
bash socat.sh add

删除/停止Socat

bash socat.sh del

查看Socat列表

bash socat.sh list

查看Socat日志

bash socat.sh tail

卸载Socat

bash socat.sh uninstall

使用 bash socat.sh add 后,会提示你依次输入 本地监听端口、欲转发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

使用 bash socat.sh list 后,会显示如下:

当前有 2 个Socat转发进程。

  1. 进程PID: 32288 类型: TCP4 监听端口: 10000 转发IP和端口: 2.2.2.2:10000
  2. 进程PID: 32289 类型: UDP4 监听端口: 10000 转发IP和端口: 2.2.2.2:10000

使用 bash socat.sh del 后,也会显示列表,然后让你选择要终止的 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 “softs.fun” 之类的错误

这是无法解析域名,多半是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://softs.fun/Bash/sources/us.sources.list
rm -rf /etc/apt/sources.list
cp /etc/apt/us.sources.list /etc/apt/sources.list