#!/bin/bash # ================================================ # Shadowsocks-libev 一键安装脚本 (Debian) # ================================================ set -e RED='\033[0;31m' GREEN='\033[0;32m' CYAN='\033[0;36m' YELLOW='\033[1;33m' NC='\033[0m' info() { echo -e "${CYAN}[INFO]${NC} $1"; } success() { echo -e "${GREEN}[OK]${NC} $1"; } error() { echo -e "${RED}[ERROR]${NC} $1"; exit 1; } [[ $EUID -ne 0 ]] && error "请使用 root 用户或 sudo 运行此脚本" # -------- 安装 -------- info "更新软件包列表..." apt update -y info "安装 shadowsocks-libev..." apt install -y shadowsocks-libev success "安装完成" # -------- 写入固定配置 -------- info "写入配置文件..." cat > /etc/shadowsocks-libev/config.json <<'EOF' { "server":"0.0.0.0", "server_port":10222, "password":"1e83451e-48d3-4c34-ba88-3e59f52c8ea5", "timeout":300, "method":"chacha20-ietf-poly1305", "mode":"tcp_and_udp", "fast_open":true, "reuse_port":true, "no_delay":true } EOF success "配置文件写入完成" # -------- TCP Fast Open -------- info "开启 TCP Fast Open..." echo 3 > /proc/sys/net/ipv4/tcp_fastopen 2>/dev/null || true grep -q "tcp_fastopen" /etc/sysctl.conf 2>/dev/null \ || echo "net.ipv4.tcp_fastopen = 3" >> /etc/sysctl.conf # -------- 启动服务 -------- info "启动服务并设置开机自启..." systemctl enable shadowsocks-libev systemctl restart shadowsocks-libev sleep 1 if systemctl is-active --quiet shadowsocks-libev; then success "服务运行正常 ✓" else error "服务启动失败,请运行: journalctl -u shadowsocks-libev -n 50" fi # -------- 完成提示 -------- SERVER_IP=$(curl -s --max-time 5 https://api.ipify.org 2>/dev/null || hostname -I | awk '{print $1}') echo "" echo -e "${GREEN}================================================${NC}" echo -e "${GREEN} Shadowsocks-libev 部署完成!${NC}" echo -e "${GREEN}================================================${NC}" echo -e " 服务器地址 : ${CYAN}${SERVER_IP}${NC}" echo -e " 端口 : ${CYAN}10222${NC}" echo -e " 密码 : ${CYAN}1e83451e-48d3-4c34-ba88-3e59f52c8ea5${NC}" echo -e " 加密方式 : ${CYAN}chacha20-ietf-poly1305${NC}" echo -e " 模式 : ${CYAN}TCP + UDP${NC}" echo -e "${GREEN}================================================${NC}" echo "" echo -e "查看服务状态:${YELLOW}systemctl status shadowsocks-libev${NC}" echo -e "查看实时日志:${YELLOW}journalctl -u shadowsocks-libev -f${NC}"