查看: 19|回复: 0

[分享] 推荐一个一键shadowsocks脚本

[复制链接]
发表于 前天 20:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
想解决的痛点
1.想用的脚本不开源或半开源
2.小鸡建好了还得安装bash、curl等依赖才能再用脚本
3.怀疑用的脚本是不是拉取最新内核
我的脚本不需要

无论你的小鸡是linux哪种分支 直接粘贴readme里的命令 无需手动预装依赖 实现真正的一键 并且拉取最新上游来配置

推荐交互方式使用



一键shadowsocks脚本


一个轻量的 Shadowsocks 安装器:安装时负责下载、校验、配置和启动官方 shadowsocks-rust;安装完成后安装器自动删除,运行期只留下官方 ssserver、配置文件、系统服务和一个 ss-one 管理命令。
目标是解决几个痛点:
  • 官方项目可信,但手动部署麻烦。
  • 第三方一键脚本方便,但常常残留面板、管理进程或不透明下载源。
  • 服务器装好系统后 可能需要先安装bash/curl/wget等依赖才能用其他所谓的“一键”脚本
  • 服务器是外网映射内网的形式 用普通的脚本建好节点后还得手动改成外部ip/ddns和外部端口才能开始使用
本项目的原则:
  • 只使用 github.com/shadowsocks/shadowsocks-rust 官方 release。
  • 下载官方 .sha256 并校验二进制包。
  • 不安装 Docker,不安装面板,不常驻管理进程。
  • NAT 友好,服务端只配置监听端口,外部端口只用于生成可直接复制的 ss:// 链接。
  • 支持 systemd 和 OpenRC,覆盖 Debian/Ubuntu/RHEL 系和 Alpine NAT 小鸡。
  • 默认开启 TCP + UDP,保证节点可用性。
  • 安装脚本默认自删除,减少磁盘占用和残留。
  • 默认保留 ss-one 管理命令,方便后续查看链接、状态、更新、修复、卸载和管理多节点。
  • 多节点使用一个 ssserver 进程监听多个端口,不额外安装面板或管理守护进程。
安装


(推荐)交互安装,按提示设置端口、密码、外部端口等参数:
  1. set -- interactive; URL=https://raw.githubusercontent.com/siri666666/one-click-shadowsocks/main/install.sh; OUT=/tmp/ss-install.sh; dl(){ command -v wget >/dev/null 2>&1 && wget -O "$OUT" "$URL" && return 0; command -v curl >/dev/null 2>&1 && curl -fsSL -o "$OUT" "$URL" && return 0; command -v busybox >/dev/null 2>&1 && busybox wget --help >/dev/null 2>&1 && busybox wget -O "$OUT" "$URL" && return 0; return 1; }; deps(){ command -v apt-get >/dev/null 2>&1 && apt-get update && apt-get install -y ca-certificates wget && return 0; command -v dnf >/dev/null 2>&1 && dnf install -y ca-certificates wget && return 0; command -v microdnf >/dev/null 2>&1 && microdnf install -y ca-certificates wget && return 0; command -v yum >/dev/null 2>&1 && yum install -y ca-certificates wget && return 0; command -v apk >/dev/null 2>&1 && apk add --no-cache ca-certificates wget && return 0; command -v pacman >/dev/null 2>&1 && pacman -Sy --noconfirm ca-certificates wget && return 0; command -v zypper >/dev/null 2>&1 && zypper --non-interactive install ca-certificates wget && return 0; command -v tdnf >/dev/null 2>&1 && tdnf install -y ca-certificates wget && return 0; return 1; }; dl || { deps && dl; } || { echo "no downloader or supported package manager found" >&2; exit 1; }; sh "$OUT" "$@"
复制代码

一键随机,自动生成端口和密码:
  1. set -- install; URL=https://raw.githubusercontent.com/siri666666/one-click-shadowsocks/main/install.sh; OUT=/tmp/ss-install.sh; dl(){ command -v wget >/dev/null 2>&1 && wget -O "$OUT" "$URL" && return 0; command -v curl >/dev/null 2>&1 && curl -fsSL -o "$OUT" "$URL" && return 0; command -v busybox >/dev/null 2>&1 && busybox wget --help >/dev/null 2>&1 && busybox wget -O "$OUT" "$URL" && return 0; return 1; }; deps(){ command -v apt-get >/dev/null 2>&1 && apt-get update && apt-get install -y ca-certificates wget && return 0; command -v dnf >/dev/null 2>&1 && dnf install -y ca-certificates wget && return 0; command -v microdnf >/dev/null 2>&1 && microdnf install -y ca-certificates wget && return 0; command -v yum >/dev/null 2>&1 && yum install -y ca-certificates wget && return 0; command -v apk >/dev/null 2>&1 && apk add --no-cache ca-certificates wget && return 0; command -v pacman >/dev/null 2>&1 && pacman -Sy --noconfirm ca-certificates wget && return 0; command -v zypper >/dev/null 2>&1 && zypper --non-interactive install ca-certificates wget && return 0; command -v tdnf >/dev/null 2>&1 && tdnf install -y ca-certificates wget && return 0; return 1; }; dl || { deps && dl; } || { echo "no downloader or supported package manager found" >&2; exit 1; }; sh "$OUT" "$@"
复制代码
一键预设,只填你想固定的参数,没填的继续自动随机或自动识别:
  1. set -- install --port 12345; URL=https://raw.githubusercontent.com/siri666666/one-click-shadowsocks/main/install.sh; OUT=/tmp/ss-install.sh; dl(){ command -v wget >/dev/null 2>&1 && wget -O "$OUT" "$URL" && return 0; command -v curl >/dev/null 2>&1 && curl -fsSL -o "$OUT" "$URL" && return 0; command -v busybox >/dev/null 2>&1 && busybox wget --help >/dev/null 2>&1 && busybox wget -O "$OUT" "$URL" && return 0; return 1; }; deps(){ command -v apt-get >/dev/null 2>&1 && apt-get update && apt-get install -y ca-certificates wget && return 0; command -v dnf >/dev/null 2>&1 && dnf install -y ca-certificates wget && return 0; command -v microdnf >/dev/null 2>&1 && microdnf install -y ca-certificates wget && return 0; command -v yum >/dev/null 2>&1 && yum install -y ca-certificates wget && return 0; command -v apk >/dev/null 2>&1 && apk add --no-cache ca-certificates wget && return 0; command -v pacman >/dev/null 2>&1 && pacman -Sy --noconfirm ca-certificates wget && return 0; command -v zypper >/dev/null 2>&1 && zypper --non-interactive install ca-certificates wget && return 0; command -v tdnf >/dev/null 2>&1 && tdnf install -y ca-certificates wget && return 0; return 1; }; dl || { deps && dl; } || { echo "no downloader or supported package manager found" >&2; exit 1; }; sh "$OUT" "$@"
复制代码
预设参数可以按需追加,例如 --password 'your-password'、--method chacha20-ietf-poly1305、--tag my-ss、--external-host 1.2.3.4、--external-port 45678。
修复已有安装,不改变端口、密码和加密方式:
  1. wget -O install.sh https://raw.githubusercontent.com/siri666666/one-click-shadowsocks/main/install.sh && sh install.sh repair
复制代码

如果机器已经有 curl 或 wget,也可以用短命令:
  1. curl -fsSL https://raw.githubusercontent.com/siri666666/one-click-shadowsocks/main/install.sh | sh -s -- install
复制代码
如果你已经把 install.sh 放到了机器上,直接执行即可,脚本会自动补齐最小依赖:
  1. sh install.sh install
复制代码
说明:上面的通用命令会自动尝试 wget、curl、BusyBox wget,如果都没有,会用系统包管理器安装 ca-certificates 和 wget 后继续。完全没有下载工具、没有可用包管理器或软件源不可访问的系统,任何远程一键脚本都无法凭空联网下载。
说明:
  • --port 是服务器上 ssserver 实际监听的端口。
  • 如果 --external-host 是 IPv6 地址且没有手动指定 --listen,脚本会自动监听 ::,生成的 ss:// 链接也会使用 [IPv6]:端口 格式。
  • 如果服务商做了端口映射,脚本不需要知道外部端口,服务端仍然只监听 --port。
  • 客户端里把端口改成服务商给你的外部端口即可。
  • 如果想让脚本输出的 ss:// 链接直接使用外部端口,可以额外加 --external-host 和 --external-port。
例如服务商映射 45678 -> 12345,服务端部署:
  1. sh ss-one.sh install --port 12345
复制代码
客户端使用:
  1. 服务器地址:服务商给你的公网地址
  2. 端口:45678
复制代码
如果要让安装结果直接打印外部端口链接:
  1. sh ss-one.sh install --port 12345 --external-host 1.2.3.4 --external-port 45678
复制代码
默认保留文件


安装成功后只保留:
  1. /usr/local/bin/ssserver
  2. /usr/local/bin/ss-one
  3. /etc/shadowsocks-rust/config.json
  4. /etc/shadowsocks-rust/install.env
  5. /etc/shadowsocks-rust/nodes/*.env
  6. /etc/systemd/system/ss-rust.service
复制代码
Alpine/OpenRC 上服务文件是:
  1. /etc/init.d/ss-rust
复制代码
常用命令


安装完成后会保留一个管理命令:
  1. ss-one
复制代码
直接运行 ss-one 会打开交互菜单。也可以使用下面的子命令。
查看分享链接:
  1. ss-one link
复制代码
查看节点列表:
  1. ss-one nodes
复制代码
新增节点:
  1. ss-one node-add --port 23456 --tag hk-2
复制代码
编辑节点:
  1. ss-one node-edit --node hk-2 --external-host 1.2.3.4 --external-port 34567
复制代码
删除节点:
  1. ss-one node-delete --node hk-2
复制代码
查看服务状态:
  1. ss-one status
复制代码
重启服务:
  1. ss-one restart
复制代码
更新到官方最新版:
  1. ss-one update
复制代码
修复服务文件和配置:
  1. ss-one repair
复制代码
卸载:
  1. ss-one uninstall
复制代码
可选参数


  1. --port PORT              ssserver 实际监听端口
  2. --external-host HOST     ss:// 链接里显示的公网 IP 或域名
  3. --external-port PORT     ss:// 链接里显示的端口,不影响服务端监听
  4. --listen ADDR            监听地址,默认 0.0.0.0;外部地址为 IPv6 时自动使用 ::
  5. --password PASS          自定义密码/key
  6. --method METHOD          加密方式,默认 2022-blake3-aes-128-gcm
  7. --version VERSION        指定 shadowsocks-rust 版本
  8. --tag NAME               ss:// 链接名称
  9. --tcp-only               只开 TCP
  10. --udp-only               只开 UDP
  11. --ipv4-first             域名解析优先 IPv4,默认值,适合大多数 NAT 小鸡
  12. --ipv6-first             域名解析优先 IPv6
  13. --download-ipv4          安装器下载强制走 IPv4
  14. --download-ipv6          安装器下载强制走 IPv6
  15. --download-auto          安装器自动检测下载 IP 版本,默认值;无 IPv6 默认路由时自动走 IPv4
  16. --no-install-deps        不自动安装缺失依赖
  17. --no-start               安装后不启动服务
  18. --force                  覆盖已有配置
  19. --no-manager             不安装 /usr/local/bin/ss-one 管理命令
  20. --manager-path PATH      自定义管理命令路径
  21. --keep-installer         安装后保留脚本
复制代码
如果客户端不支持 2022 加密方式,可以使用更兼容的:
  1. sh ss-one.sh install --method chacha20-ietf-poly1305
复制代码
合的机器


这个脚本按低配 NAT VPS 设计。256 MB 内存、小硬盘机器也能用,因为运行期没有面板、Docker、Python、Node.js 或管理守护进程。
  1. Debian / Ubuntu
  2. CentOS / Rocky / Alma / Fedora
  3. Alpine Linux
  4. KVM VPS
  5. NAT VPS
  6. 常规 LXC VPS,前提是允许 systemd 或 OpenRC 服务
复制代码
服务质量相关配置没有为了省资源乱砍:
  • 使用官方 ssserver。
  • 默认 TCP + UDP。
  • systemd 或 OpenRC 自动拉起。
  • OpenRC 下优先使用 supervise-daemon 监控进程,异常退出会自动拉起。
  • 默认 ipv6_first=false,避免无 IPv6 出口的 NAT 小鸡优先访问 IPv6 目标。
  • systemd 下设置 LimitNOFILE=1048576。
  • 默认不碰复杂防火墙和系统网络参数,避免破坏 NAT 环境。
安全说明


这个脚本会以 root 权限写入 systemd 服务、配置文件和 /usr/local/bin/ssserver。建议先下载查看再运行:
  1. wget -O ss-one.sh https://raw.githubusercontent.com/siri666666/one-click-shadowsocks/main/ss-one.sh
  2. less ss-one.sh
  3. sh ss-one.sh install
复制代码
不要把不明来源的一键脚本直接 curl | sh。


楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部