MENU

Ghost隧道简易搭建教程

November 3, 2024 • • 阅读设置

最近用上了可以自动更换IP的服务器,但后来发现总不能每次联不通我都自己手动去换ip吧,而且Hinet网络的连通状况真的很糟糕,所以还需要添加一个国内的中转服务器来优化线路,并且可以实现自动更换IP

预备:安装路由测试包Nexttrace

curl nxtrace.org/nt |sudo bash

安装GHOST

wget https://github.com/ginuerzh/gost/releases/download/v2.12.0/gost_2.12.0_linux_amd64v3.tar.gz

tar -xzf gost_2.12.0_linux_amd64v3.tar.gz
sudo chmod +x gost
sudo mv gost /usr/local/bin/gost

Ghost 隧道搭建

转发的逻辑是

(中转服务器:连接端口)-> (代理服务器:中转端口,推荐443)->(代理服务器:代理端口)

#中转服务器(国内)
sudo gost -L tcp://:连接端口 -F forward+mtls://代理服务器域名:443
#代理服务器(国外)
sudo gost -L=mtls://:443/127.0.0.1:代理端口

如果想关闭ssh后还持续运行,可以开个screen后运行上述指令

顺带:Crontab定时任务

在中转服务器上监控IP,如果无法连通则使用API指令自动更换IP(这里我用的是PQS的)

crontab -e
# 在最后一行加入下面的,注意修改你的路径
*/30 * * * * /path_to/pqsapi.sh

然后需要提前安装nscd噢

sudo apt install nscd
sudo systemctl status nscd

最后是pqsapi.sh

自动换IP脚本,这里的地址,端口(推荐443),api都改成你自己的

#!/bin/bash
ADDR="你的域名"
TMPSTR=$(ping -c 1 ${ADDR} | sed '1{s/[^(]*(//;s/).*//;q}')
port=443
check_ip=$(nmap $TMPSTR -p $port | grep open | wc -l)

echo "Ping result for ${ADDR}: ${TMPSTR}"

echo "Final IP Address: ${TMPSTR}" 

if [ $check_ip -eq 0 ]; then
  echo "Port ${port} is closed. Initiating update..."
  curl "自动更换IP的api网址"
  systemctl restart nscd
  echo "Update completed."  
fi
Leave a Comment

已有 1 条评论
  1. 哈哈哈,写的太好了https://www.lawjida.com/