gost批量启动

标签: 小脚本

链接直达 >

自用的一个gost批量管理的小脚本,作用是批量启动转发和关闭转发,依靠文件中的配置循环执行命令实现,可以方便的在NAT服务器上维护gost的状态。

使用事例

每次修改代码都需要手动刷新CDN,这个脚本把多吉云的刷新API写成了shell可以集成到阿里云的云效流水线中实现自动刷新。

cloudflare清理域名所以缓存的shell脚本,可以避免每次登录cloudflare进行清理节省开发效率,也可以加入阿里的云效流程代码发布成功后自动清理CDN缓存。

脚本介绍

gost 是GO语言实现的安全隧道,我们经常会用到流量转发的场景规则多了难免麻烦,搭建一个web GUI又嫌麻烦。这个脚本就是为了方便管理多个gost规则的简易实现。

启动脚本

#!/bin/bash

# 定义端口和地址的组合列表
configurations=(
    "本机外网端口:转发IP:端口""
)

# 遍历所有指定的端口和地址组合
for config in "${configurations[@]}"; do
    # 使用 IFS 分割字符串为端口和地址
    IFS=':' read -r port addr <<< "$config"
    echo "启动 gost 进程,使用端口 $port,连接到 $addr"
    # 启动 gost 进程并将其放入后台
    nohup ./gost -L tcp://:"$port"/"$addr" > /dev/null 2>&1 &
    # 获取进程ID(PID)
    pid=$!
    echo "gost 进程 PID: $pid"
done

echo "所有 gost 进程已启动。"

批量关闭

#!/bin/bash

# 查找包含 'gost' 的进程并终止
pids=$(pgrep -f gost)

if [ -z "$pids" ]; then
    echo "没有找到运行中的 gost 进程。"
else
    echo "正在终止以下 gost 进程:"
    echo "$pids"
    kill $pids
    echo "所有 gost 进程已被终止。"
fi

本站导航提供的shell脚本都来源于网络,不保证外部链接的准确性安全性和完整性。外部脚本内容可能会有违法违规内容,请用户自行判断。如有侵权或者恶意行为,请联系我们删除。