#!/bin/bash set -e CONFIG_DIR="/etc/tun2socks" CONFIG_FILE="$CONFIG_DIR/config.yaml" SERVICE_FILE="/etc/systemd/system/tun2socks.service" BINARY_PATH="/usr/local/bin/tun2socks" # 检查 root if [ "$EUID" -ne 0 ]; then echo "请使用 root 运行脚本" exit 1 fi # 安装 tun2socks install_tun2socks() { if ! command -v tun2socks &>/dev/null; then echo "检测到 tun2socks 未安装,正在下载..." REPO="heiher/hev-socks5-tunnel" # 获取系统架构 ARCH=$(uname -m) case "$ARCH" in x86_64) ARCH_TAG="linux-x86_64" ;; aarch64 | arm64) ARCH_TAG="linux-arm64" ;; armv7l) ARCH_TAG="linux-armv7" ;; *) echo "不支持的架构: $ARCH" exit 1 ;; esac DOWNLOAD_URL=$(curl -s https://api.github.com/repos/$REPO/releases/latest \ | grep "browser_download_url" | grep "$ARCH_TAG" | cut -d '"' -f 4) if [ -z "$DOWNLOAD_URL" ]; then echo "无法获取 tun2socks 下载链接,请手动安装" exit 1 fi curl -L -o "$BINARY_PATH" "$DOWNLOAD_URL" chmod +x "$BINARY_PATH" echo "tun2socks 安装完成 ($ARCH)" else echo "tun2socks 已安装" fi } # 配置 Socks5 configure_tun2socks() { mkdir -p "$CONFIG_DIR" read -rp "请输入Socks5服务器地址 [默认127.0.0.1]: " SOCKS_ADDRESS SOCKS_ADDRESS=${SOCKS_ADDRESS:-127.0.0.1} read -rp "请输入Socks5服务器端口 [默认7890]: " SOCKS_PORT SOCKS_PORT=${SOCKS_PORT:-7890} cat > "$CONFIG_FILE" < "$SERVICE_FILE" <