pingpong/pingpong.sh
2024-07-10 17:19:08 +08:00

120 lines
3.7 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 检查是否以root用户运行脚本
if [ "$(id -u)" != "0" ]; then
echo "此脚本需要以root用户权限运行。"
echo "请尝试使用 'sudo -i' 命令切换到root用户然后再次运行此脚本。"
exit 1
fi
# 节点安装功能
function install_node() {
# 更新系统包列表
sudo apt update
apt install screen -y
# 检查 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 最新版本
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
else
echo "Docker 已安装。"
fi
#获取运行文件
read -p "请输入你的key device id: " your_device_id
keyid="$your_device_id"
# 下载PINGPONG程序
wget -O PINGPONG https://pingpong-build.s3.ap-southeast-1.amazonaws.com/linux/latest/PINGPONG
if [ -f "./PINGPONG" ]; then
chmod +x ./PINGPONG
screen -dmS pingpong bash -c "./PINGPONG --key \"$keyid\""
else
echo "下载PINGPONG失败请检查网络连接或URL是否正确。"
fi
echo "节点已经启动请使用screen -r pingpong 查看日志或使用脚本功能2"
}
function check_service_status() {
screen -r pingpong
}
function reboot_pingpong() {
read -p "请输入你的key device id: " your_device_id
keyid="$your_device_id"
screen -dmS pingpong bash -c "./PINGPONG --key \"$keyid\""
}
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 --grass=$your_grass_key && ./PINGPONG start --depins=grass"
}
# 主菜单
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. 查看节点日志"
echo "3. 重启pingpong"
echo "4. 启动pingpong-0g(需要自备私钥)"
echo "5. 启动pingpong-aioz(需要自备私钥)"
echo "6. 启动pingpong-grass(需要自备userid)"
read -p "请输入选项1-6: " OPTION
case $OPTION in
1) install_node ;;
2) check_service_status ;;
3) reboot_pingpong ;;
4) start_0g_pingpong ;;
5) start_aioz ;;
6) start_grass ;;
*) echo "无效选项。" ;;
esac
}
# 显示主菜单
main_menu