#!/bin/bash # WireGuard 管理使用命令 bash wgmtu 短网址: https://git.io/wgmtu # Usage: wget https://git.io/wgmtu && bash wgmtu # 修改mtu数值 setmtu(){ echo -e "${GreenBG}WireGuard 修改服务器端MTU值,提高效率;默认值MTU=1420${Font}" read -p "请输入数字(1200--1500): " num if [[ ${num} -ge 1200 ]] && [[ ${num} -le 1500 ]]; then mtu=$num else mtu=1420 fi ip link set mtu $num up dev wg0 wg-quick save wg0 echo -e "${SkyBlue}:: 服务器端MTU值已经修改!${Font}" } # 修改端口号 setport(){ echo -e "${GreenBG}修改 WireGuard 服务器端端口号,客户端要自行修改${Font}" read -p "请输入数字(100--60000): " num if [[ ${num} -ge 100 ]] && [[ ${num} -le 60000 ]]; then port=$num wg set wg0 listen-port $port wg-quick save wg0 echo -e "${SkyBlue}:: 端口号已经修改, 客户端请手工修改! ${Font}" else echo -e "${Red}:: 没有修改端口号!${Font}" fi } # 显示客户端配置和手机二维码 conf_QRcode(){ echo -e "${Yellow}:: 显示客户端配置和手机二维码 (默认2号),请输入数字${Font}\c" read -p "(2-9): " x if [[ ${x} -ge 2 ]] && [[ ${x} -le 9 ]]; then i=$x else i=2 fi host=$(hostname -s) echo -e "${SkyBlue}:: 客户端配置文件: wg_${host}_$i.conf ${Font}" cat /etc/wireguard/wg_${host}_$i.conf echo -e "${SkyBlue}:: 请使用组合键 Ctrl+Ins 复制文本给Windows客户端使用${Font}" cat /etc/wireguard/wg_${host}_$i.conf | qrencode -o - -t UTF8 echo -e "${Green}:: 配置文件: wg_${host}_$i.conf 生成二维码,请用手机客户端扫描使用${Font}" echo -e "${SkyBlue}:: 安卓手机WireGuard官方APP目前支持纯IPV6连接,是否显示IPV6二维码?${Font}\c" read -p "(Y/N): " key case $key in Y) ipv6_QRcode $i ;; y) ipv6_QRcode $i ;; esac echo -e "${SkyBlue}:: SSH工具推荐Git-Bash 2.20; GCP_SSH(浏览器)字体Courier New 二维码正常${Font}" } # 显示IPV6手机客户端二维码 ipv6_QRcode(){ if [[ $# > 0 ]]; then i="$1" fi get_serverip serveripv6=$(curl -6 ip.sb) if [[ -z $serveripv6 ]]; then echo -e "${Red}:: 获取IPV6地址不正确,你的服务器可能没有IPV6网络支持!${Font}" else cat /etc/wireguard/wg_${host}_$i.conf | sed "s/${serverip}/[${serveripv6}]/g" | qrencode -o - -t UTF8 echo -e "${Green}:: IPV6地址: [${serveripv6}] 请确认服务器和本地网络支持IPV6!${Font}" fi } get_serverip(){ if [ ! -e '/var/ip_addr' ]; then echo -n $(curl -s https://262235.xyz/ip/) > /var/ip_addr fi serverip=$(cat /var/ip_addr) ipv6_range="fd08:620c:4df0:65eb::" } # 重置 WireGuard 客户端配置和数量 wg_clients(){ echo -e "${Red}:: 注意原来的客户端配置都会删除,按 Ctrl+ C 可以紧急撤销 ${Font}" # 转到wg配置文件目录 cd /etc/wireguard cp wg0.conf conf.wg0.bak echo -e "${SkyBlue}:: 输入客户端Peer总数${Font}\c" read -p "(2--200): " num_x if [[ ${num_x} -ge 2 ]] && [[ ${num_x} -le 200 ]]; then wg_num=OK else num_x=3 fi # 服务器 IP 和 端口 port=$(wg show wg0 listen-port) && host=$(hostname -s) get_serverip # 删除原配置,让IP和ID号对应; 保留原来服务器的端口等配置 rm /etc/wireguard/wg_${host}_* >/dev/null 2>&1 line_num=$(cat -n wg0.conf | grep 'AllowedIPs' | head -n 1 | awk '{print $1}') head -n ${line_num} conf.wg0.bak > wg0.conf # 重启wg服务器 wg-quick down wg0 >/dev/null 2>&1 wg-quick up wg0 >/dev/null 2>&1 # 重新生成用户配置数量 for i in `seq 2 200` do ip=10.0.0.${i} ip6=${ipv6_range}${i} wg genkey | tee cprivatekey | wg pubkey > cpublickey wg set wg0 peer $(cat cpublickey) allowed-ips "${ip}/32, ${ip6}" cat <wg_${host}_$i.conf [Interface] PrivateKey = $(cat cprivatekey) Address = $ip/24, $ip6/64 DNS = 8.8.8.8, 2001:4860:4860::8888 [Peer] PublicKey = $(wg show wg0 public-key) Endpoint = $serverip:$port AllowedIPs = 0.0.0.0/0, ::0/0 PersistentKeepalive = 25 EOF cat wg_${host}_$i.conf | qrencode -o wg_${host}_$i.png if [ $i -ge $num_x ]; then break; fi done wg-quick save wg0 clear && display_peer cat /etc/wireguard/wg_${host}_2.conf echo -e "${SkyBlue}:: 使用${GreenBG} bash wg5 ${SkyBlue}命令,可以临时网页下载配置和二维码${Font}" } # 安装 WireGuard+Speeder+Udp2Raw 和 SS+Kcp+Udp2RAW 配置 ss_kcp_udp2raw_wg_speed(){ # 下载/编译 shadowsocks-libev wget -qO- git.io/fhExJ | bash wget -O ~/ss_wg_set_raw git.io/fpKnF >/dev/null 2>&1 bash ~/ss_wg_set_raw rm ~/ss_wg_set_raw } # 常用工具和配置 IP中国地区识别判断 get_tools_conf(){ apt install -y htop tmux curl wget vim psmisc bash-completion ca-certificates locales locate # yum install -y vim htop tmux screen iperf3 >/dev/null 2>&1 cd ~ china=$(curl -s https://262235.xyz/ip/$(curl -s https://262235.xyz/ip/) | grep 中国) if [[ ! -z "${china}" ]]; then wget -O .vimrc --no-check-certificate https://262235.xyz/_vimrc wget -O .bashrc --no-check-certificate https://262235.xyz/_bashrc wget -O .tmux.conf --no-check-certificate https://262235.xyz/_tmux.conf else wget -O .vimrc --no-check-certificate https://raw.githubusercontent.com/hongwenjun/srgb/master/vim/_vimrc wget -O .bashrc --no-check-certificate https://raw.githubusercontent.com/hongwenjun/srgb/master/vim/_bashrc wget -O .tmux.conf --no-check-certificate https://raw.githubusercontent.com/hongwenjun/tmux_for_windows/master/.tmux.conf fi } # 慎用 authorized_keys authorized_keys(){ mkdir -p ~/.ssh && cd ~/.ssh cat <> authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDm5IXhVxCp317F3X+VEKmLPNiIGigbX4eot3EPIizbHHVURVOEXbxlN5tqQPmFt62qex4GhXmOfcMmLcaDwrkci7A3dPlnjRukYBDK3jQtzjVexTvNqcblTKj2aEpZg5Z8Z5vCOVrOfCdXOngqi/NkItvsid2DLzqi7KTpdFpgZGSwpV2h3E3U0N18uBLQwDj3ag2mUT7X2kx4t4DYbQDWyGt+bbivnTHV0k/BZJPwqnPD2tpyH19lKWvL3fm3gjoMkTtxDzEXHpTmTe95Z1AKzOfY1reEZ+dHAWy0wHmCA1by1XJtagoeTVqa+IS1wfOimwJE/oIofhDjSNjsMk63 root ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB1yzgEUtS0t5GUW2lVeZpWEn6YDI8x3nIMzjQscIL3Z9QDvyONohC58t6kHQtgj7+/5pQnzaPOz0qFuDolqQOp9D8tiUJIEYHc8PA7WGxRKwS7L2j0ia7FleGAKyhi9tR6TqY4T9Vny9g8VetRBzaMz+WAv8FHYDLfQq+Wcrx1GJgYiiNp0UWEMWrY50K1vub6rtk7xNUhiDGlfEsLxgKTaDUwQ/sEcyu/ZTEIlaaSPLsIuaWKJvIrnicmYIP7jZ3S4k7De/UZo87EXo6PQGhyJCDBYWXPd0Ng7XavXbm8MoRb5+Go9zn04f8oBHuqLJhSyrLFIFhPmEogKvpJ/Xd vip@cloudshell EOF } # 主菜单输入数字 88 # 隐藏功能:从源VPS克隆服务端配置,获得常用工具和配置 scp_conf(){ echo -e "${RedBG}:: 警告: 警告: 警告:${Yellow} VPS服务器已经被GFW防火墙关照,按 Ctrl+ C 可以紧急逃离! ${Font}" # echo_SkyBlue ":: 隐藏功能: 从源VPS克隆服务端配置,共用客户端配置" # read -p ":: 请输入源VPS的IP地址(域名):" vps_ip # cmd="scp root@${vps_ip}:/etc/wireguard/* /etc/wireguard/. " # echo -e "${GreenBG}# ${cmd} ${Font} 现在运行scp命令,按提示输入yes,源vps的root密码" # ${cmd} # wg-quick down wg0 >/dev/null 2>&1 # wg-quick up wg0 >/dev/null 2>&1 # echo -e "${RedBG} 我真不知道WG服务器端是否已经使用源vps的配置启动! ${Font}" authorized_keys get_tools_conf } # DEBIAN LOCALE LANGUAGE SETTINGS en_US() { cat </etc/default/locale LANG=en_US.UTF-8 EOF echo -e "Please log in again on Debian tty1" } zh_CN() { cat </etc/default/locale # 中文显示 LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" EOF echo -e ":: 仅支持本身中文系统切换回中文!" echo -e "Please log in again on Debian tty1" } ipinfo(){ echo_GreenBG ":: 统计自己电信服务商IP动态变化 ::" echo -e "${Green}" # 应用: 统计自己电信服务商IP动态变化 cat /var/log/udp2raw.log \ | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort | uniq -c| sort -nrk 1 echo -e echo_RedBG ":: 抠脚大叔在窥视你的小鸡 ::" echo -e "${Red}" # 统计哪些IP在扫描你的vps cat /var/log/auth.log \ | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort | uniq -c| sort -nrk 1 echo -e echo_GreenBG ":: 查询IP信息和物理地址 https://www.ipip.net/ipquery.html" echo -e echo_Yellow ":: 当前${RedBG} 服务器IP: ${Yellow} $(cat /var/ip_addr) ${Font} ::" } # 创建容器: qbittorrent docker_qb(){ docker run --name=qbittorrent \ -e PUID=1000 -e PGID=1000 \ -e TZ=Asia/ShangHai \ -e UMASK_SET=022 -e \ WEBUI_PORT=8080 \ -p 59902:59902 \ -p 59902:59902/udp \ -p 8080:8080 \ -v /mnt/config:/config \ -v /mnt/downloads:/downloads \ --restart unless-stopped \ -d linuxserver/qbittorrent # 浏览器中输入网址管理 echo -e http://$(curl -s https://262235.xyz/ip/):8080 echo -e "${GreenBG}:: qbittorrent 网页管理地址和密码 ${Yellow}" echo -e "${SkyBlue}:: 默认用户名 ${RedBG} admin ${SkyBlue} 密码 ${RedBG} adminadmin ${Font} " echo -e ":: 请登陆配置Peer端口(59902)和密码, 重启命令: ${GreenBG} docker restart qbittorrent ${Font}" } # 安装tcping tcping_install(){ wget https://github.com/cloverstd/tcping/releases/download/v0.1.1/tcping-linux-amd64-v0.1.1.tar.gz tar xf tcping-linux-amd64-v0.1.1.tar.gz mv tcping /usr/bin/tcping tcping 1.1.1.1 53 rm tcping-linux-amd64-v0.1.1.tar.gz } # 安装 autopt 自动PT autopt_install(){ wget git.io/autopt.sh && bash autopt.sh } # 一键 WordPress 博客安装脚本 lnmp_install(){ wget git.io/lnmp.sh && bash lnmp.sh } # 安装Docker可视化界面Portainer portainer_install(){ docker run --name Portainer \ --restart=always -d -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /opt/portainer_data:/data \ portainer/portainer # 浏览器中输入网址管理 echo -e "${GreenBG}:: Docker可视化界面Portainer 管理地址 ${Yellow}" echo -e http://$(curl -s https://262235.xyz/ip/):9000 } # 部署 nginx-php 和 php 相册 photo_install(){ downloads=/mnt/downloads docker run -d -p 80:80 -p 443:443 \ --cpus 0.6 --restart=always \ -v ${downloads}:/var/www/html \ --name nginx-php \ hongwenjun/nginx-php cd ${downloads} wget https://github.com/hongwenjun/srgb/raw/master/files.photo.gallery/index.php mkdir -p _files chown -R www-data:www-data _files chmod 0777 _files/ echo -e "${GreenBG}:: 部署nginx-php和php相册,挂载目录: ${SkyBlue} ${downloads} ${Font}" echo -e http://$(curl -s https://262235.xyz/ip/) } # 定义文字颜色 Green="\033[32m" && Red="\033[31m" && GreenBG="\033[42;37m" && RedBG="\033[41;37m" Font="\033[0m" && Yellow="\033[0;33m" && SkyBlue="\033[0;36m" echo_SkyBlue(){ echo -e "${SkyBlue}$1${Font}" } echo_Yellow(){ echo -e "${Yellow}$1${Font}" } echo_GreenBG(){ echo -e "${GreenBG}$1${Font}" } echo_RedBG(){ echo -e "${RedBG}$1${Font}" } # Vps_Setup 一键脚本 藏经阁 onekey_plus(){ echo_RedBG " 一键安装设置全家桶 by 蘭雅sRGB " echo_GreenBG " 开源项目:https://github.com/hongwenjun/vps_setup " echo_SkyBlue " # 一键安装 WireGuard Shadowsocks V2Ray 服务端三合一脚本" echo_Yellow " bash <(curl -L -s https://git.io/vps.sh)" echo_SkyBlue " # 下载 IPTABLES 设置防火墙规则 脚本 By 蘭雅sRGB" echo_Yellow " wget -qO safe_iptables.sh git.io/fhUSe && bash safe_iptables.sh" echo_SkyBlue " # Google Cloud Platform GCP实例开启密码与root用户登陆" echo_Yellow " wget -qO- git.io/fpQWf | bash" echo_SkyBlue " # 一键安装 vnstat 流量检测 by 蘭雅sRGB" echo_Yellow " bash <(curl -L -s https://git.io/fxxlb) setup" echo_SkyBlue " # 一键安装wireguard 脚本 For Debian_9 Ubuntu Centos_7" echo_Yellow " wget -qO- git.io/fptwc | bash" echo_SkyBlue " # 一键安装 SS+Kcp+Udp2Raw 脚本 快速安装 for Debian 9" echo_Yellow " wget -qO- git.io/fpZIW | bash" echo_SkyBlue " # 一键安装 SS+Kcp+Udp2Raw 脚本 for Debian 9 Ubuntu (编译安装)" echo_Yellow " wget -qO- git.io/fx6UQ | bash" echo_SkyBlue " # Telegram 代理 MTProxy Go版 一键脚本(源:逗比网)" echo_Yellow " wget -qO mtproxy_go.sh git.io/fpWo4 && bash mtproxy_go.sh" echo_SkyBlue " # linux下golang环境搭建自动脚本 by 蘭雅sRGB" echo_Yellow " wget -qO- https://git.io/fp4jf | bash" echo_SkyBlue " # SuperBench.sh 一键测试服务器的基本参数" echo_Yellow " wget -qO- git.io/superbench.sh | bash" echo_SkyBlue " # 使用BestTrace查看VPS的去程和回程" echo_Yellow " wget -qO- git.io/fp5lf | bash" echo_SkyBlue " # 挂载GD网盘 安装rclone官方脚本" echo_Yellow " curl https://rclone.org/install.sh | sudo bash" echo_SkyBlue " # 安装Docker软件一键脚本" echo_Yellow " curl -fsSLo- get.docker.com | /bin/sh" echo_SkyBlue " # 另一个Linux服务器基准脚本" echo_Yellow " curl -sL yabs.sh | bash" } safe_iptables(){ # IPTABLES 设置防火墙规则 脚本 By 蘭雅sRGB 特别感谢 TaterLi 指导 wget -qO safe_iptables.sh git.io/fhUSe && bash safe_iptables.sh } # 更新wgmtu脚本 update_self(){ # 安装 bash wgmtu 脚本用来设置服务器 wget -O ~/wgmtu https://git.io/wgmtu >/dev/null 2>&1 } # 更新 WireGuard wireguard_update(){ yum update -y wireguard-dkms wireguard-tools >/dev/null 2>&1 apt update -y wireguard-dkms wireguard-tools >/dev/null 2>&1 echo -e "${RedBG} 更新完成 ${Font}" } # 卸载 WireGuard wireguard_remove(){ wg-quick down wg0 yum remove -y wireguard-dkms wireguard-tools >/dev/null 2>&1 apt remove -y wireguard-dkms wireguard-tools >/dev/null 2>&1 rm -rf /etc/wireguard/ echo -e "${RedBG} 卸载完成 ${Font}" } # 更新/安装 UDP2RAW KCPTUN UDPspeeder 工具 udp2raw_update() { systemctl stop rc-local # 下载 UDP2RAW udp2raw_ver=$(wget --no-check-certificate -qO- https://api.github.com/repos/wangyu-/udp2raw-tunnel/releases/latest | grep 'tag_name' | cut -d\" -f4) wget https://github.com/wangyu-/udp2raw-tunnel/releases/download/${udp2raw_ver}/udp2raw_binaries.tar.gz tar xf udp2raw_binaries.tar.gz mv udp2raw_amd64 /usr/bin/udp2raw rm udp2raw* -rf rm version.txt # 下载 KCPTUN kcp_ver=$(wget --no-check-certificate -qO- https://api.github.com/repos/xtaci/kcptun/releases/latest | grep 'tag_name' | cut -d\" -f4) kcp_gz_ver=${kcp_ver:1:8} kcptun_tar_gz=kcptun-linux-amd64-${kcp_gz_ver}.tar.gz wget https://github.com/xtaci/kcptun/releases/download/${kcp_ver}/$kcptun_tar_gz tar xf $kcptun_tar_gz mv server_linux_amd64 /usr/bin/kcp-server rm $kcptun_tar_gz rm client_linux_amd64 # 下载 UDPspeeder udpspeeder_ver=$(wget --no-check-certificate -qO- https://api.github.com/repos/wangyu-/UDPspeeder/releases/latest | grep 'tag_name' | cut -d\" -f4) wget https://github.com/wangyu-/UDPspeeder/releases/download/${udpspeeder_ver}/speederv2_binaries.tar.gz tar xf speederv2_binaries.tar.gz mv speederv2_amd64 /usr/bin/speederv2 rm speederv2* -rf rm version.txt systemctl restart rc-local ps aux | grep -e kcp -e udp -e speed -e ss-server ss-server -h | head -2 && kcp-server -v && udp2raw -h | head -2 && speederv2 -h | head -2 } rc-local_remove(){ echo -e "${RedBG} 卸载Udp2Raw套接服务配置 /etc/rc.local ${Font}" systemctl stop rc-local rm /usr/bin/udp2raw /usr/bin/kcp-server /usr/bin/speederv2 ps aux | grep -e kcp -e udp -e speed mv /etc/rc.local ~/rc.local echo -e "${RedBG} 卸载完成,备份在 /root/rc.local ${Font}" } update_remove_menu(){ echo -e "${RedBG} 更新/卸载 WireGuard服务端和Udp2Raw ${Font}" echo -e "${Green}> 1. 更新 WireGuard 服务端" echo -e "> 2. 卸载 WireGuard 服务端" echo -e "> 3. 更新 Udp2Raw KCPTUN UDPspeeder 软件" echo -e "> 4. 卸载 Udp2Raw KCPTUN UDPspeeder 服务套件" echo -e "> 5. 退出${Font}" echo read -p "请输入数字(1-5):" num_x case "$num_x" in 1) wireguard_update ;; 2) wireguard_remove ;; 3) udp2raw_update ;; 4) rc-local_remove ;; 5) exit 1 ;; *) ;; esac } # 删除末尾的Peer del_last_peer(){ peer_key=$(wg show wg0 allowed-ips | tail -1 | awk '{print $1}') wg set wg0 peer $peer_key remove wg-quick save wg0 echo -e "${SkyBlue}:: 删除客户端 peer: ${Yellow} ${peer_key} ${SkyBlue} 完成.${Font}" } # 显示激活Peer表 display_peer(){ # peer和ip表写临时文件 wg show wg0 allowed-ips > /tmp/peer_list # 显示 peer和ip表 echo -e "${RedBG} ID ${GreenBG} Peer: ${SkyBlue} IP_Addr: ${Font}" i=1 while read -r line || [[ -n $line ]]; do peer=$(echo $line | awk '{print $1}') ip=$(echo $line | awk '{print $2}') line="> ${Red}${i} ${Yellow}${peer}${Font} ${ip}" echo -e $line && let i++ done < /tmp/peer_list } # 选择删除Peer客户端 del_peer(){ display_peer echo echo -e "${RedBG}请选择 IP_Addr 对应 ID 号码,指定客户端配置将删除! ${Font}" read -p "请输入ID号数字(1-X):" x peer_cnt=$(cat /tmp/peer_list | wc -l) if [[ ${x} -ge 1 ]] && [[ ${x} -le ${peer_cnt} ]]; then i=$x peer_key=$(cat /tmp/peer_list | head -n $i | tail -1 | awk '{print $1}') wg set wg0 peer $peer_key remove wg-quick save wg0 echo -e "${SkyBlue}:: 删除客户端 peer: ${Yellow} ${peer_key} ${SkyBlue} 完成.${Font}" else echo -e "${SkyBlue}:: 命令使用: ${GreenBG} wg set wg0 peer remove ${Font}" fi rm /tmp/peer_list } # 添加新的客户端peer add_peer(){ # 服务器 IP 端口 ,新客户端 序号和IP port=$(wg show wg0 listen-port) get_serverip && host=$(hostname -s) && cd /etc/wireguard wg genkey | tee cprivatekey | wg pubkey > cpublickey ipnum=$(wg show wg0 allowed-ips | tail -1 | awk '{print $2}' | awk -F '[./]' '{print $4}') i=$((10#${ipnum}+1)) && ip=10.0.0.${i} ip6=${ipv6_range}${i} # 生成客户端配置文件 cat <wg_${host}_$i.conf [Interface] PrivateKey = $(cat cprivatekey) Address = $ip/24, $ip6/64 DNS = 8.8.8.8, 2001:4860:4860::8888 [Peer] PublicKey = $(wg show wg0 public-key) Endpoint = $serverip:$port AllowedIPs = 0.0.0.0/0, ::0/0 PersistentKeepalive = 25 EOF # 在wg服务器中生效客户端peer wg set wg0 peer $(cat cpublickey) allowed-ips "${ip}/32, ${ip6}" wg-quick save wg0 # 显示客户端 cat /etc/wireguard/wg_${host}_$i.conf | qrencode -o wg_${host}_$i.png cat /etc/wireguard/wg_${host}_$i.conf | qrencode -o - -t UTF8 echo -e "${SkyBlue}:: 新客户端peer添加完成; 文件:${Yellow} /etc/wireguard/wg_${host}_$i.conf ${Font}" cat /etc/wireguard/wg_${host}_$i.conf } wg_clients_menu(){ echo -e "${RedBG} 添加/删除 WireGuard Peer 客户端管理 ${Font}" echo -e "${Green}> 1. 添加一个 WireGuard Peer 客户端配置" echo -e "> 2. 删除末尾 WireGuard Peer 客户端配置" echo -e "> 3. 指定删除 WireGuard Peer 客户端配置" echo "------------------------------------------------------" echo -e "${SkyBlue}> 4. 退出" echo -e "> 5.${RedBG} 重置 WireGuard 客户端 Peer 数量 ${Font}" echo read -p "请输入数字(1-5):" num_x case "$num_x" in 1) add_peer ;; 2) del_last_peer ;; 3) del_peer ;; 4) display_peer exit 1 ;; 5) wg_clients ;; *) ;; esac } # 设置菜单 start_menu(){ clear echo -e "${RedBG} 一键安装 WireGuard 脚本 For Debian_9 Ubuntu Centos_7 ${Font}" echo -e "${GreenBG} 开源项目: https://github.com/hongwenjun/vps_setup ${Font}" echo -e "${Green}> 1. 显示客户端配置和二维码 (手机支持纯IPV6,稳定性有待测试)" echo -e "> 2. 修改 WireGuard 服务器端 MTU 值" echo -e "> 3. 修改 WireGuard 端口号" echo -e "> 4. 安装 WireGuard+Speeder+Udp2Raw 和 SS+Kcp+Udp2RAW 一键脚本" echo "----------------------------------------------------------" echo -e "${SkyBlue}> 5. 添加/删除 WireGuard Peer 客户端管理" echo -e "> 6. 更新/卸载 WireGuard服务端和Udp2Raw" echo -e "> 7. Replace the Script itself with Simplified Chinese to English" echo -e "> 8. ${RedBG} IPTABLES 防火墙设置脚本 ${Font}" echo echo_SkyBlue "Usage: ${GreenBG} bash wgmtu ${SkyBlue} [ setup | remove | vps | bench | -U ] " echo_SkyBlue " [ v2ray | vnstat | log | trace | -h ] " echo_SkyBlue " [ tr|qb | docker |rclone|ip|en |yabs] " echo_SkyBlue " [ tcping|autopt|portainer|photo|lnmp] " echo read -p "请输入数字(1-8):" num case "$num" in 1) conf_QRcode ;; 2) setmtu ;; 3) setport ;; 4) ss_kcp_udp2raw_wg_speed ;; 5) wg_clients_menu ;; 6) update_remove_menu update_self exit 1 ;; 7) wget -O ~/wgmtu https://raw.githubusercontent.com/hongwenjun/vps_setup/english/wgmtu.sh bash wgmtu exit 1 ;; 777) # Vps_Setup 一键脚本 藏经阁 onekey_plus ;; 8) safe_iptables ;; ip) ipinfo ;; tr) # Debian 安装 Transmission 一键脚本 wget https://raw.githubusercontent.com/hongwenjun/vps_setup/master/rclone/transmission.sh bash transmission.sh ;; qb) docker_qb ;; autopt) autopt_install ;; lnmp) lnmp_install ;; portainer) portainer_install ;; photo) photo_install ;; tcping) tcping_install ;; # 菜单输入 管理命令 bash wgmtu 命令行参数 setup) ss_kcp_udp2raw_wg_speed ;; remove) wireguard_remove rc-local_remove ;; 88) scp_conf ;; 9999) bash <(curl -L -s https://git.io/fpnQt) 9999 ;; -U) update_self ;; -h) wgmtu_help ;; vps) bash <(curl -L -s https://git.io/vps.sh) ;; docker) curl -fsSLo- get.docker.com | /bin/sh ;; rclone) curl https://rclone.org/install.sh | bash ;; en) en_US ;; cn) zh_CN ;; vnstat) bash <(curl -L -s https://git.io/fxxlb) setup ;; bench) wget -qO- git.io/superbench.sh | bash ;; yabs) curl -sL yabs.sh | bash ;; trace) wget -qO- git.io/fp5lf | bash ;; v2ray) bash <(curl -L -s https://git.io/v2ray.ss) ;; log) cat vps_setup.log ;; *) display_peer ;; esac } wgmtu_help(){ echo_SkyBlue "Usage: ${GreenBG} bash wgmtu ${SkyBlue} [ setup | remove | vps | bench | -U ] " echo_SkyBlue " [ v2ray | vnstat | log | trace | -h ] " echo_SkyBlue " [ tr|qb | docker |rclone|ip|en |yabs] " echo_SkyBlue " [ tcping|autopt|portainer|photo|lnmp] " echo echo_Yellow "[setup 惊喜 | remove 卸载 | vps 脚本 | bench 基准测试 | -U 更新]" echo_Yellow "[v2ray 你懂 | vnstat 流量 | log 信息 | trace 网络回程 | -h 帮助]" echo_Yellow "[tr|qb PT下载 | docker 容器安装 | rclone G D网盘 | yabs 测试]" echo_Yellow "[tcping工具|autopt 自动PT|portainer 管理|photo相册 |lnmp wp博客]" } # WireGuard 管理命令 bash wgmtu 命令行参数 if [[ $# > 0 ]]; then key="$1" case $key in setup) ss_kcp_udp2raw_wg_speed ;; remove) wireguard_remove rc-local_remove ;; 88) scp_conf ;; 9999) bash <(curl -L -s https://git.io/fpnQt) 9999 ;; -U) update_self ;; -h) wgmtu_help ;; vps) bash <(curl -L -s https://git.io/vps.sh) ;; ip) ipinfo ;; tr) # Debian 安装 Transmission 一键脚本 wget https://raw.githubusercontent.com/hongwenjun/vps_setup/master/rclone/transmission.sh bash transmission.sh ;; qb) docker_qb ;; docker) curl -fsSLo- get.docker.com | /bin/sh ;; autopt) autopt_install ;; lnmp) lnmp_install ;; portainer) portainer_install ;; photo) photo_install ;; tcping) tcping_install ;; rclone) curl https://rclone.org/install.sh | bash ;; en) en_US ;; cn) zh_CN ;; vnstat) bash <(curl -L -s https://git.io/fxxlb) setup ;; bench) wget -qO- git.io/superbench.sh | bash ;; yabs) curl -sL yabs.sh | bash ;; trace) wget -qO- git.io/fp5lf | bash ;; v2ray) bash <(curl -L -s https://git.io/v2ray.ss) ;; log) cat vps_setup.log ;; esac else start_menu fi