wgmtu.sh 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. #!/bin/bash
  2. # 定义文字颜色
  3. Green="\033[32m" && Red="\033[31m" && GreenBG="\033[42;37m" && RedBG="\033[41;37m" && Font="\033[0m"
  4. # 修改mtu数值
  5. setmtu(){
  6. echo -e "${GreenBG}WireGuard 修改服务器端MTU值,最大效率加大网速,默认值 MTU = 1420 "
  7. echo -e "WireGuard 客户端可以MTU参数自动,请修改电脑客户端TunSafe配置把MTU行注释掉。${Font}"
  8. read -p "请输入数字(1200--1500): " num
  9. if [[ ${num} -ge 1200 ]] && [[ ${num} -le 1500 ]]; then
  10. mtu=$num
  11. else
  12. mtu=1420
  13. fi
  14. wg-quick down wg0
  15. sed -i "s/MTU = .*$/MTU = ${mtu}/g" /etc/wireguard/wg0.conf
  16. wg-quick up wg0
  17. echo -e "${RedBG} 服务器端MTU值已经修改! ${Font}"
  18. }
  19. # 修改端口号
  20. setport(){
  21. echo -e "${GreenBG}修改 WireGuard 服务器端端口号,客户端要自行修改${Font}"
  22. read -p "请输入数字(100--60000): " num
  23. if [[ ${num} -ge 100 ]] && [[ ${num} -le 60000 ]]; then
  24. port=$num
  25. wg-quick down wg0
  26. sed -i "s/ListenPort = .*$/ListenPort = ${port}/g" /etc/wireguard/wg0.conf
  27. wg-quick up wg0
  28. echo -e "${RedBG} 端口号已经修改! ${Font}"
  29. else
  30. echo -e "${RedBG} 没有修改端口号! ${Font}"
  31. fi
  32. }
  33. # 显示手机客户端二维码
  34. wgconf()
  35. {
  36. echo -e "${RedBG}:: 显示手机客户端二维码 (如改端口,请先菜单5重置客户端配置) ${Font}"
  37. read -p "请输入数字(2-9),默认2号: " x
  38. if [[ ${x} -ge 2 ]] && [[ ${x} -le 9 ]]; then
  39. i=$x
  40. else
  41. i=2
  42. fi
  43. host=$(hostname -s)
  44. cat /etc/wireguard/wg_${host}_$i.conf | qrencode -o - -t UTF8
  45. echo -e "${GreenBG}:: 配置文件: wg_${host}_$i.conf 生成二维码,请用手机客户端扫描使用 ${Font}"
  46. echo -e "${RedBG}SSH工具推荐Git-Bash 2.20; GCP_SSH(浏览器)字体Courier New 二维码正常${Font}"
  47. }
  48. # 重置 WireGuard 客户端配置和数量
  49. wg_clients()
  50. {
  51. echo -e "${RedBG}:: 注意原来的客户端配置都会删除,按 Ctrl+ C 可以紧急撤销 ${Font}"
  52. read -p "请任意键继续:" xx
  53. wget -O ~/wg100 https://git.io/fp6r0 >/dev/null 2>&1
  54. bash ~/wg100
  55. }
  56. # 安装Udp2Raw服务TCP伪装,高级的加速伪装脚本以后看情况开源
  57. ss_kcp_udp2raw_wg_speed()
  58. {
  59. # 一键安装 SS+Kcp+Udp2Raw 脚本 第二种编译方式安装速度慢 for debian 9 Ubuntu
  60. wget -qO- git.io/fx6UQ | bash
  61. # 设置 WireGuard + Speeder + Udp2Raw 和 Shadowsocks + Kcp + Udp2RAW 一键脚本
  62. wget -qO- https://git.io/fpKnF | bash
  63. }
  64. # 主菜单输入数字 88
  65. # 隐藏功能:从源VPS克隆服务端配置,共用客户端配置
  66. scp_conf()
  67. {
  68. echo -e "${RedBG}:: 警告: 警告: 警告: VPS服务器已经被GFW防火墙关照,按 Ctrl+ C 可以紧急逃离! ${Font}"
  69. echo "隐藏功能:从源VPS克隆服务端配置,共用客户端配置"
  70. read -p "请输入源VPS的IP地址(域名):" vps_ip
  71. cmd="scp root@${vps_ip}:/etc/wireguard/* /etc/wireguard/. "
  72. echo -e "${GreenBG}# ${cmd} ${Font} 现在运行scp命令,按提示输入yes,源vps的root密码"
  73. ${cmd}
  74. wg-quick down wg0 >/dev/null 2>&1
  75. wg-quick up wg0 >/dev/null 2>&1
  76. echo -e "${RedBG} 我真不知道WG服务器端是否已经使用源vps的配置启动! ${Font}"
  77. }
  78. # 主菜单输入数字 188 隐藏功能: 一键全家桶
  79. onekey_plus()
  80. {
  81. echo -e "${RedBG} 一键安装设置全家桶 by 蘭雅sRGB ${Font}"
  82. cat <<EOF
  83. # Google Cloud Platform GCP实例开启密码与root用户登陆
  84. wget -qO- git.io/fpQWf | bash
  85. # 一键安装 vnstat 流量检测 by 蘭雅sRGB
  86. wget -qO- git.io/fxxlb | bash
  87. # 一键安装wireguard 脚本 Debian 9 (源:逗比网安装笔记)
  88. wget -qO- git.io/fptwc | bash
  89. # 一键 WireGuard 多用户配置共享脚本 by 蘭雅sRGB
  90. wget -qO- https://git.io/fpnQt | bash
  91. # 一键安装 SS+Kcp+Udp2Raw 脚本 快速安装 for Debian 9
  92. wget -qO- git.io/fpZIW | bash
  93. # 一键安装 SS+Kcp+Udp2Raw 脚本 for Debian 9 Ubuntu (编译安装)
  94. wget -qO- git.io/fx6UQ | bash
  95. # Telegram 代理 MTProxy Go版 一键脚本(源:逗比网)
  96. wget -qO mtproxy_go.sh git.io/fpWo4 && bash mtproxy_go.sh
  97. # linux下golang环境搭建自动脚本 by 蘭雅sRGB
  98. wget -qO- https://git.io/fp4jf | bash
  99. # SuperBench.sh 一键测试服务器的基本参数
  100. wget -qO- git.io/superbench.sh | bash
  101. # 使用BestTrace查看VPS的去程和回程
  102. wget -qO- git.io/fp5lf | bash
  103. # qrencode 生成二维码 -o- 参数显示在屏幕 -t utf8 文本格式
  104. cat wg_vultr_5.conf | qrencode -o- -t utf8
  105. EOF
  106. echo -e "${GreenBG} 开源项目:https://github.com/hongwenjun/vps_setup ${Font}"
  107. }
  108. # 更新wgmtu脚本
  109. update()
  110. {
  111. # 安装 bash wgmtu 脚本用来设置服务器
  112. wget -O ~/wgmtu https://raw.githubusercontent.com/hongwenjun/vps_setup/master/Wireguard/wgmtu.sh >/dev/null 2>&1
  113. }
  114. # 设置菜单
  115. start_menu(){
  116. echo -e "${RedBG} 一键安装 WireGuard 脚本 For Debian_9 Ubuntu Centos_7 ${Font}"
  117. echo -e "${GreenBG} 开源项目:https://github.com/hongwenjun/vps_setup ${Font}"
  118. echo -e "${Green}> 1. 显示手机客户端二维码"
  119. echo -e "> 2. 修改 WireGuard 服务器端 MTU 值"
  120. echo -e "> 3. 修改 WireGuard 端口号 (如改端口,菜单5重置客户端配置)"
  121. echo -e "> 4. 安装WireGuard + Speeder + Udp2Raw 和 Shadowsocks + Kcp + Udp2RAW 一键脚本"
  122. echo -e "> 5. 重置 WireGuard 客户端配置和数量,方便修改过端口或者机场大佬"
  123. echo -e "> 6. 退出设置${Font}"
  124. echo
  125. read -p "请输入数字(1-6):" num
  126. case "$num" in
  127. 1)
  128. wgconf
  129. ;;
  130. 2)
  131. setmtu
  132. ;;
  133. 3)
  134. setport
  135. ;;
  136. 4)
  137. ss_kcp_udp2raw_wg_speed
  138. ;;
  139. 5)
  140. wg_clients
  141. ;;
  142. 6)
  143. update
  144. exit 1
  145. ;;
  146. 88)
  147. scp_conf
  148. ;;
  149. 188)
  150. onekey_plus
  151. ;;
  152. *)
  153. echo
  154. echo "请输入正确数字"
  155. ;;
  156. esac
  157. }
  158. start_menu