diff --git a/install_shadowsocks.sh b/install_shadowsocks.sh new file mode 100644 index 0000000..017500e --- /dev/null +++ b/install_shadowsocks.sh @@ -0,0 +1,78 @@ +#!/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}"