79 lines
2.5 KiB
Bash
79 lines
2.5 KiB
Bash
#!/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}"
|