#!/bin/bash # 服务器 IP 和 端口 port=$(wg | grep 'listening port:' | awk '{print $3}') serverip=$(curl -4 icanhazip.com) host=$(hostname -s) #定义文字颜色 Green="\033[32m" && Red="\033[31m" && GreenBG="\033[42;37m" && RedBG="\033[41;37m" && Font="\033[0m" #定义提示信息 Info="${Green}[信息]${Font}" && OK="${Green}[OK]${Font}" && Error="${Red}[错误]${Font}" # 转到wg配置文件目录 cd /etc/wireguard cp wg0.conf conf.wg0.bak echo -e "${RedBG} 设置 WireGuard 客户端数量脚本 ${Font}" echo -e "${GreenBG} 开源项目:https://github.com/hongwenjun/vps_setup ${Font}" echo echo -e "# ${Info} 使用${GreenBG} bash wg5 ${Font} 命令,可以临时网页下载配置和二维码" echo -e "# ${Info} 使用${GreenBG} bash wgmtu ${Font} 命令,设置服务器端MTU数值或服务端口号" echo echo -e "${GreenBG} 请输入客户端配置数量 ${Font}" read -p "请输入数字(5--200): " num_x if [[ ${num} -ge 5 ]] && [[ ${num} -le 200 ]]; then wg_num=OK else num_x=10 fi # 删除原1号配置,让IP和配置号对应; 保留原来服务器的端口等配置 rm /etc/wireguard/wg_${host}_1.* head -n 13 conf.wg0.bak > wg0.conf # 修改用户配置数量 for i in `seq 2 250` do if [ $i -ge $num_x ]; then break fi ip=10.0.0.${i} wg genkey | tee cprivatekey | wg pubkey > cpublickey cat <>wg0.conf [Peer] PublicKey = $(cat cpublickey) AllowedIPs = $ip/32 EOF cat <wg_${host}_$i.conf [Interface] PrivateKey = $(cat cprivatekey) Address = $ip/24 DNS = 8.8.8.8 [Peer] PublicKey = $(cat spublickey) Endpoint = $serverip:$port AllowedIPs = 0.0.0.0/0, ::0/0 PersistentKeepalive = 25 EOF cat /etc/wireguard/wg_${host}_$i.conf| qrencode -o wg_${host}_$i.png done # 重启wg服务器 wg-quick down wg0 wg-quick up wg0 wg cat /etc/wireguard/client.conf cat /etc/wireguard/wg_${host}_2.conf cat /etc/wireguard/wg_${host}_3.conf cat /etc/wireguard/wg_${host}_4.conf echo -e "${RedBG} 一键安装 WireGuard 脚本 For Debian_9 Ubuntu Centos_7 ${Font}" echo -e "${GreenBG} 开源项目:https://github.com/hongwenjun/vps_setup ${Font}" echo echo -e "# ${Info} 使用${GreenBG} bash wg5 ${Font} 命令,可以临时网页下载配置和二维码" echo -e "# ${Info} 使用${GreenBG} bash wgmtu ${Font} 命令,设置服务器端MTU数值或服务端口号"