1
0
蘭雅sRGB 6 жил өмнө
parent
commit
f1b19ff333
1 өөрчлөгдсөн 75 нэмэгдсэн , 94 устгасан
  1. 75 94
      Wireguard/wg_clients.sh

+ 75 - 94
Wireguard/wg_clients.sh

@@ -1,100 +1,81 @@
 #!/bin/bash
 
-# 定义文字颜色
-Green="\033[32m"  && Red="\033[31m" && GreenBG="\033[42;37m" && RedBG="\033[41;37m" && Font="\033[0m"
-
-# 修改mtu数值
-setmtu(){
-    echo -e "${GreenBG}WireGuard 修改服务器端MTU值,最大效率加大网速,默认值 MTU = 1420 "
-    echo -e "WireGuard 客户端可以MTU参数自动,请修改电脑客户端TunSafe配置把MTU行注释掉。${Font}"
-    read -p "请输入数字(1200--1500): " num
-
-    if [[ ${num} -ge 1200 ]] && [[ ${num} -le 1500 ]]; then
-       mtu=$num
-    else
-       mtu=1420
-    fi
-
-    wg-quick down wg0
-    sed -i "s/MTU = .*$/MTU = ${mtu}/g"  /etc/wireguard/wg0.conf
-
-    wg-quick up wg0
-
-    echo -e "${RedBG}服务器端MTU值已经修改!${Font}"
-
-}
+# 服务器 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"
 
-# 修改端口号
-setport(){
-    echo -e "${GreenBG}修改 WireGuard 服务器端端口号,客户端要自行修改${Font}"
-    read -p "请输入数字(100--60000): " num
-
-    if [[ ${num} -ge 100 ]] && [[ ${num} -le 60000 ]]; then
-       port=$num
-       wg-quick down wg0
-       sed -i "s/ListenPort = .*$/ListenPort = ${port}/g"  /etc/wireguard/wg0.conf
-       wg-quick up wg0
-       echo -e "${RedBG}端口号已经修改!${Font}"
-    else
-       echo -e "${RedBG}没有修改端口号!${Font}"
+#定义提示信息
+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
+
+if [[ ${num} -ge 5 ]] && [[ ${num} -le 200 ]]; then
+ wg_num=OK
+else
+  num=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 ]; then
+        break
     fi
 
-}
-
-wgconf()
-{
-    bash wg5
-}
-
-wg_clients()
-{
-    wget -qO- https://git.io/fp6r0 | bash
-}
-
-udp2raw()
-{
-    wget -qO- https://git.io/fpKnF | bash
-    echo -e "${RedBG}:: WireGuard 使用 Udp2Raw 需要把 MTU 设置成1200-1300  ${Font}"
-    echo -e "${GreenBG}:: 您可以在本脚本基础上,修改成加速脚本!... 你懂的!${Font}"
-}
-
-# 设置菜单
-start_menu(){
-    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. 显示客户端配置文本,临时网页下载客户端"
-    echo -e ">  2. 修改 WireGuard 服务器端 MTU 值"
-    echo -e ">  3. 修改 WireGuard 端口号"
-    echo -e ">  4. 安装Udp2Raw服务TCP伪装 WireGuard 服务端设置"
-    echo -e ">  5. 重置 WireGuard 客户端配置数量,方便修改过端口或者机场大佬"
-    echo -e ">  6. 退出设置${Font}"
-    echo
-    read -p "请输入数字(1-5):" num
-    case "$num" in
-        1)
-        wgconf
-        ;;
-        2)
-        setmtu
-        ;;
-        3)
-        setport
-        ;;
-        4)
-        udp2raw
-        ;;
-        5)
-        wg_clients
-        ;;
-        6)
-        exit 1
-        ;;
-        *)
-        echo
-        echo "请输入正确数字"
-        ;;
-        esac
-}
-
-start_menu
+    ip=10.0.0.${i}
+    wg genkey | tee cprivatekey | wg pubkey > cpublickey
+
+    cat <<EOF >>wg0.conf
+[Peer]
+PublicKey = $(cat cpublickey)
+AllowedIPs = $ip/32
+EOF
+
+    cat <<EOF >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数值或服务端口号"