2024-04-27 10:04:39 +00:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# 检查是否以root用户运行脚本
|
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
|
|
|
echo "此脚本需要以root用户权限运行。"
|
|
|
|
|
echo "请尝试使用 'sudo -i' 命令切换到root用户,然后再次运行此脚本。"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2024-04-27 10:58:00 +00:00
|
|
|
|
# 节点安装功能
|
2024-04-27 10:04:39 +00:00
|
|
|
|
function install_node() {
|
|
|
|
|
|
|
|
|
|
# 更新系统包列表
|
|
|
|
|
sudo apt update
|
2024-04-27 12:33:53 +00:00
|
|
|
|
apt install screen -y
|
2024-04-27 10:04:39 +00:00
|
|
|
|
|
|
|
|
|
# 检查 Docker 是否已安装
|
|
|
|
|
if ! command -v docker &> /dev/null
|
|
|
|
|
then
|
|
|
|
|
# 如果 Docker 未安装,则进行安装
|
|
|
|
|
echo "未检测到 Docker,正在安装..."
|
|
|
|
|
sudo apt-get install ca-certificates curl gnupg lsb-release
|
|
|
|
|
|
|
|
|
|
# 添加 Docker 官方 GPG 密钥
|
|
|
|
|
sudo mkdir -p /etc/apt/keyrings
|
|
|
|
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
|
|
|
|
|
|
|
|
# 设置 Docker 仓库
|
|
|
|
|
echo \
|
|
|
|
|
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
|
|
|
|
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
|
|
|
|
|
|
|
|
# 授权 Docker 文件
|
|
|
|
|
sudo chmod a+r /etc/apt/keyrings/docker.gpg
|
|
|
|
|
sudo apt-get update
|
|
|
|
|
|
|
|
|
|
# 安装 Docker 最新版本
|
2024-04-27 12:33:53 +00:00
|
|
|
|
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
|
2024-04-27 10:04:39 +00:00
|
|
|
|
else
|
|
|
|
|
echo "Docker 已安装。"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
#获取运行文件
|
2024-04-27 10:30:51 +00:00
|
|
|
|
read -p "请输入你的key device id: " your_device_id
|
|
|
|
|
|
|
|
|
|
keyid="$your_device_id"
|
|
|
|
|
|
|
|
|
|
# 下载PINGPONG程序
|
2024-04-27 15:03:53 +00:00
|
|
|
|
wget -O PINGPONG https://pingpong-build.s3.ap-southeast-1.amazonaws.com/linux/latest/PINGPONG
|
2024-04-27 10:30:51 +00:00
|
|
|
|
|
|
|
|
|
if [ -f "./PINGPONG" ]; then
|
|
|
|
|
chmod +x ./PINGPONG
|
|
|
|
|
screen -dmS pingpong bash -c "./PINGPONG --key \"$keyid\""
|
|
|
|
|
else
|
|
|
|
|
echo "下载PINGPONG失败,请检查网络连接或URL是否正确。"
|
|
|
|
|
fi
|
2024-04-27 10:04:39 +00:00
|
|
|
|
|
|
|
|
|
echo "节点已经启动,请使用screen -r pingpong 查看日志或使用脚本功能2"
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function check_service_status() {
|
2024-04-27 10:30:51 +00:00
|
|
|
|
screen -r pingpong
|
2024-04-27 10:04:39 +00:00
|
|
|
|
}
|
|
|
|
|
|
2024-04-27 14:46:27 +00:00
|
|
|
|
function reboot_pingpong() {
|
|
|
|
|
read -p "请输入你的key device id: " your_device_id
|
|
|
|
|
keyid="$your_device_id"
|
|
|
|
|
screen -dmS pingpong bash -c "./PINGPONG --key \"$keyid\""
|
|
|
|
|
}
|
2024-04-27 10:04:39 +00:00
|
|
|
|
|
2024-07-06 05:10:23 +00:00
|
|
|
|
function start_0g_pingpong() {
|
|
|
|
|
read -p "请输入你的0g私钥: " your_0g_key
|
|
|
|
|
keyid="$your_0g_key"
|
|
|
|
|
screen -dmS pingpong-0g bash -c "./PINGPONG config set --0g=$your_0g_key && ./PINGPONG start --depins=0g"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function start_aioz() {
|
|
|
|
|
read -p "请输入你的aioz私钥: " your_aioz_key
|
|
|
|
|
keyid="$your_aioz_key"
|
|
|
|
|
screen -dmS pingpong-aioz bash -c "./PINGPONG config set --aioz=$your_aioz_key && ./PINGPONG start --depins=aioz"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function start_grass() {
|
|
|
|
|
read -p "请输入你的grass私钥: " your_grass_key
|
|
|
|
|
keyid="$your_grass_key"
|
|
|
|
|
screen -dmS pingpong-grass bash -c "./PINGPONG config set --aioz=$your_grass_key && ./PINGPONG start --depins=grass"
|
|
|
|
|
}
|
2024-04-27 10:04:39 +00:00
|
|
|
|
|
|
|
|
|
# 主菜单
|
|
|
|
|
function main_menu() {
|
|
|
|
|
clear
|
|
|
|
|
echo "脚本以及教程由推特用户大赌哥 @y95277777 编写,免费开源,请勿相信收费"
|
|
|
|
|
echo "================================================================"
|
|
|
|
|
echo "节点社区 Telegram 群组:https://t.me/niuwuriji"
|
|
|
|
|
echo "节点社区 Telegram 频道:https://t.me/niuwuriji"
|
|
|
|
|
echo "节点社区 Discord 社群:https://discord.gg/GbMV5EcNWF"
|
|
|
|
|
echo "请选择要执行的操作:"
|
|
|
|
|
echo "1. 安装节点"
|
|
|
|
|
echo "2. 查看节点日志"
|
2024-04-27 14:46:27 +00:00
|
|
|
|
echo "3. 重启pingpong"
|
2024-07-06 05:10:23 +00:00
|
|
|
|
echo "4. 启动pingpong-0g(需要自备私钥)"
|
|
|
|
|
echo "5. 启动pingpong-aioz(需要自备私钥)"
|
|
|
|
|
echo "6. 启动pingpong-grass(需要自备userid)"
|
|
|
|
|
read -p "请输入选项(1-6): " OPTION
|
2024-04-27 10:04:39 +00:00
|
|
|
|
|
|
|
|
|
case $OPTION in
|
|
|
|
|
1) install_node ;;
|
|
|
|
|
2) check_service_status ;;
|
2024-04-27 14:46:27 +00:00
|
|
|
|
3) reboot_pingpong ;;
|
2024-07-06 05:10:23 +00:00
|
|
|
|
4) start_0g_pingpong ;;
|
|
|
|
|
5) start_aioz ;;
|
|
|
|
|
6) start_grass ;;
|
2024-04-27 10:04:39 +00:00
|
|
|
|
*) echo "无效选项。" ;;
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# 显示主菜单
|
|
|
|
|
main_menu
|