-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy paths5proxy.sh
More file actions
75 lines (61 loc) · 1.72 KB
/
s5proxy.sh
File metadata and controls
75 lines (61 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/bash
set -e
### ===== 可修改参数 =====
PORT=31338
VERSION="0.9.5"
### ======================
CONF_DIR="/etc/3proxy/conf"
CFG_FILE="${CONF_DIR}/3proxy.cfg"
ARCH="$(uname -m)"
if [[ "$ARCH" == "x86_64" ]]; then
DEB="3proxy-${VERSION}.x86_64.deb"
elif [[ "$ARCH" == "aarch64" || "$ARCH" == "arm64" ]]; then
DEB="3proxy-${VERSION}.arm64.deb"
else
echo "不支持的架构: $ARCH"
exit 1
fi
echo "[1/6] 安装依赖"
apt update -y
apt install -y wget curl openssl
echo "[2/6] 检查并安装 3proxy"
if ! command -v 3proxy >/dev/null 2>&1; then
cd /tmp
rm -f ${DEB}
wget -q https://github.com/3proxy/3proxy/releases/download/${VERSION}/${DEB}
dpkg -i ${DEB} || apt --fix-broken install -y
else
echo "3proxy 已安装,跳过安装"
fi
echo "[3/6] 创建配置文件目录"
mkdir -p "${CONF_DIR}"
echo "[4/6] 创建 pid 文件目录"
mkdir -p /run/3proxy
chown root:root /run/3proxy
chmod 755 /run/3proxy
echo "[5/6] 写入配置文件(覆盖)"
cat > "${CFG_FILE}" <<EOF
maxconn 1024
nscache 65536
auth none
allow *
socks -p${PORT}
EOF
echo "[6/6] 重启并设置开机启动"
systemctl daemon-reexec
systemctl enable 3proxy >/dev/null 2>&1 || true
systemctl restart 3proxy
### 获取公网 IPv4
SERVER_IP=$(curl -4 -s --max-time 5 https://ipv4.icanhazip.com || curl -4 -s --max-time 5 https://ifconfig.me || echo "YOUR_SERVER_IP")
echo
echo "========================================"
echo "3proxy SOCKS5 已部署完成(可重复执行)"
echo "----------------------------------------"
echo
echo "socks5://${SERVER_IP}:${PORT}"
echo
echo "----------------------------------------"
echo "管理命令:"
echo " systemctl status 3proxy"
echo " journalctl -u 3proxy -f"
echo "========================================"