侧边栏壁纸
博主头像
煮鸡试界

行动起来,活在当下

  • 累计撰写 2 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

告别折腾:Debian/Ubuntu 一键部署超轻量 SOCKS5 代理 (MicroSOCKS)

最近在给一台 Debian 13 (Trixie) 的 VPS 搭建 SOCKS5 代理时,踩了不少坑。网上一搜一大把的“Dante 一键安装脚本”,要么还在用古老的源码编译导致依赖报错,要么因为没适配 systemd 导致服务根本跑不起来。最让人头疼的是,部分新系统的官方 APT 源里甚至直接移除了 dante-server 包。

折腾了一圈后我发现,对于个人开发者和小微需求来说,我们根本不需要 Dante 这种笨重的“重型卡车”。我们需要的只是一个能快速跑起来、资源占用极小的轻量级代理。

今天,给大家分享一个基于 MicroSOCKS 的通用一键部署脚本,完美解决上述所有痛点。

🌟 为什么选择 MicroSOCKS?

相比老牌的 Dante,MicroSOCKS 有着不可替代的优势:

  • 极致轻量: 纯 C 语言编写,运行内存通常只有 1MB - 3MB,几乎不占用 CPU,非常适合 RackNerd、搬瓦工等小内存 VPS。

  • 配置极简: 抛弃了繁琐的 .conf 配置文件,直接通过命令行参数启动,告别“标点符号填错导致服务启动失败”的噩梦。

  • 系统包管: 完美存在于 Debian/Ubuntu 的官方仓库中,直接 apt install 即可,后续更新和卸载极其干净。

兼容性说明: 本脚本已经过严格测试,完美支持以下系统架构(Systemd + APT)不支持CentOS

  • Ubuntu: 20.04 / 22.04 / 24.04

  • Debian: 11 / 12 / 13

🚀 一键部署脚本

请使用 root 用户登录你的服务器,依次执行以下命令:

github一键安装:

bash <(curl -sSL https://raw.githubusercontent.com/RocGP/microsocks-installer/main/install.sh)

大陆机器github不通可按照以下方式直接创建脚本文件:

1. 创建脚本文件

nano socks.sh

2. 贴入核心代码

将以下代码完整复制并粘贴到编辑器中(如果使用 nano,粘贴后按 Ctrl+O 保存,Enter 确认,Ctrl+X 退出):

#!/bin/bash

# 检查root权限
if [ "$EUID" -ne 0 ]; then
  echo "❌ 权限错误: 请使用 root 身份运行此脚本 (可以尝试 sudo bash socks.sh)"
  exit 1
fi

echo "=========================================================="
echo "  Debian/Ubuntu 通用版 SOCKS5 (MicroSOCKS) 自动部署"
echo "  支持: Debian 11-13 | Ubuntu 20.04/22.04/24.04"
echo "=========================================================="

# 配置端口和用户名密码
read -p "请输入 SOCKS5 监听端口 [默认 1080]: " PORT
PORT=${PORT:-1080}

read -p "请输入 SOCKS5 认证用户名 [默认 socksuser]: " SOCKS_USER
SOCKS_USER=${SOCKS_USER:-socksuser}

read -p "请输入 SOCKS5 认证密码 [默认随机生成]: " SOCKS_PASS
if [ -z "$SOCKS_PASS" ]; then
    SOCKS_PASS=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 12)
    echo "✅ 已自动生成安全密码: $SOCKS_PASS"
fi

echo "⏳ 正在更新软件源并安装 MicroSOCKS..."
# 防止因为弹窗导致安装卡顿,加入非交互环境变量
export DEBIAN_FRONTEND=noninteractive
apt-get update -y
apt-get install -y microsocks

# 写入系统服务配置
cat > /etc/systemd/system/microsocks.service <<EOF
[Unit]
Description=MicroSOCKS SOCKS5 Proxy Server
After=network.target

[Service]
Type=simple
User=nobody
# 允许非root用户绑定端口
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/microsocks -i 0.0.0.0 -p ${PORT} -u ${SOCKS_USER} -P ${SOCKS_PASS}
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target
EOF

# 启动服务并设置开机自启
echo "⏳ 正在配置并启动后台服务..."
systemctl daemon-reload
systemctl enable microsocks
systemctl restart microsocks

# 防火墙配置 (自动适配UFW)
if command -v ufw &> /dev/null; then
    if ufw status | grep -q "Status: active"; then
        ufw allow $PORT/tcp >/dev/null 2>&1
        echo "✅ UFW 防火墙已放行 $PORT (TCP) 端口"
    else
        echo "⚠️ UFW 已安装但未开启,跳过防火墙配置。"
    fi
else
    echo "⚠️ 系统未安装 UFW 防火墙,请确保云服务商(如存在)的安全组已开放 $PORT 端口。"
fi

# 获取公网IP
PUBLIC_IP=$(curl -s --connect-timeout 5 ifconfig.me || echo "你的公网IP")

echo ""
echo "=========================================================="
echo "🎉 通用版 SOCKS5 代理安装完成!"
echo "=========================================================="
echo "🌐 代理地址 (IP) : $PUBLIC_IP"
echo "🔌 代理端口 (Port): $PORT"
echo "👤 认证用户 (User): $SOCKS_USER"
echo "🔑 认证密码 (Pass): $SOCKS_PASS"
echo "=========================================================="
echo "🔍 查看运行状态: systemctl status microsocks"
echo "=========================================================="

3. 赋予权限并执行

chmod +x socks.sh
./socks.sh

运行后,脚本会交互式地引导你输入监听端口、用户名和密码(直接回车可使用安全默认值),一分钟内即可部署完成!

🛠️ 本地连通性测试

部署完成后,你可以在你的电脑(或手机终端)上使用 curl 命令测试代理是否通畅:

# 请替换为你自己的 用户名、密码、IP 和 端口
curl --socks5-hostname username:password@你的服务器IP:端口 https://www.google.com -v

如果返回了网页源码或者 HTTP/2 200,说明代理已经完美运行!

💡 进阶使用技巧

1. 如何修改用户名或密码?

由于 MicroSOCKS 没有独立的配置文件,账号密码是直接写在 Systemd 启动参数里的。修改方法如下:

打开服务文件:

sudo nano /etc/systemd/system/microsocks.service

找到 ExecStart= 这一行,修改里面对应的 -u 用户名-P 密码。保存退出后,重启服务即可生效:

sudo systemctl daemon-reload
sudo systemctl restart microsocks

2. 脚本安全机制解读

这个脚本在设计时充分考虑了安全性:

  • 服务降权运行: 脚本中配置了 User=nobody,这意味着代理服务是以系统极低权限运行的。即使代理软件存在漏洞被攻破,攻击者也无法获取你的 root 权限。

  • 自动防卡顿: 加入了 DEBIAN_FRONTEND=noninteractive,有效避免了 Ubuntu 安装软件包时烦人的紫色确认弹窗。

  • 云厂商安全组提醒: 如果你的服务器在阿里云、AWS、腾讯云等厂商,切记去网页控制台的安全组规则中,放行你设置的 TCP 端口,否则即使系统防火墙关了,外网依然连不上。

3. 如何彻底卸载?

由于使用了标准的系统包管理,卸载非常干净,只需一行命令:

apt-get purge -y microsocks && rm -f /etc/systemd/system/microsocks.service && systemctl daemon-reload

如果你只是需要一个稳定、省心、低耗的个人代理服务端,MicroSOCKS 绝对是目前的最佳选择。祝大家折腾愉快!

1

评论区