diff --git a/Quilibrium.sh b/Quilibrium.sh index 7b8b049..de7d428 100644 --- a/Quilibrium.sh +++ b/Quilibrium.sh @@ -1,36 +1,73 @@ #!/bin/bash +# 脚本保存路径 +SCRIPT_PATH="$HOME/Quilibrium.sh" -# 检查是否为root用户执行脚本 +# 自动设置快捷键的功能 +function check_and_set_alias() { + local alias_name="quili" + local shell_rc="$HOME/.bashrc" + + # 对于Zsh用户,使用.zshrc + if [ -n "$ZSH_VERSION" ]; then + shell_rc="$HOME/.zshrc" + elif [ -n "$BASH_VERSION" ]; then + shell_rc="$HOME/.bashrc" + fi + + # 检查快捷键是否已经设置 + if ! grep -q "$alias_name" "$shell_rc"; then + echo "设置快捷键 '$alias_name' 到 $shell_rc" + echo "alias $alias_name='bash $SCRIPT_PATH'" >> "$shell_rc" + # 添加提醒用户激活快捷键的信息 + echo "快捷键 '$alias_name' 已设置。请运行 'source $shell_rc' 来激活快捷键,或重新打开终端。" + else + # 如果快捷键已经设置,提供一个提示信息 + echo "快捷键 '$alias_name' 已经设置在 $shell_rc。" + echo "如果快捷键不起作用,请尝试运行 'source $shell_rc' 或重新打开终端。" + fi +} + +# 节点安装功能 +function install_node() { + + +# 检查是否以root用户执行脚本 if [ "$(id -u)" != "0" ]; then echo "该脚本必须以root权限运行" 1>&2 exit 1 fi -# 向 /etc/sysctl.conf 文件追加内容 +# 增加swap空间 +sudo mkdir /swap +sudo fallocate -l 24G /swap/swapfile +sudo chmod 600 /swap/swapfile +sudo mkswap /swap/swapfile +sudo swapon /swap/swapfile +echo '/swap/swapfile swap swap defaults 0 0' >> /etc/fstab + +# 向/etc/sysctl.conf文件追加内容 echo -e "\n# 自定义最大接收和发送缓冲区大小" >> /etc/sysctl.conf echo "net.core.rmem_max=600000000" >> /etc/sysctl.conf echo "net.core.wmem_max=600000000" >> /etc/sysctl.conf -echo "配置已添加到 /etc/sysctl.conf" +echo "配置已添加到/etc/sysctl.conf" # 重新加载sysctl配置以应用更改 sysctl -p -echo "sysctl 配置已重新加载" +echo "sysctl配置已重新加载" -# Update and Upgrade Ubuntu Packages without any prompts +# 更新并升级Ubuntu软件包 sudo apt update && sudo apt -y upgrade -# Install wget, screen, and git without any prompts +# 安装wget、screen和git等组件 sudo apt install git ufw bison screen binutils gcc make -y - -# Install GVM +# 安装GVM bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) source /root/.gvm/scripts/gvm - gvm install go1.4 -B gvm use go1.4 export GOROOT_BOOTSTRAP=$GOROOT @@ -40,11 +77,48 @@ export GOROOT_BOOTSTRAP=$GOROOT gvm install go1.20.2 gvm use go1.20.2 -# Clone the repository +# 克隆仓库 git clone https://github.com/quilibriumnetwork/ceremonyclient -# Navigate to ceremonyclient/node directory +# 进入ceremonyclient/node目录 cd ceremonyclient/node -# Create a screen session and run the command -screen -dmS Quili bash -c 'GOEXPERIMENT=arenas go run ./...' +# 赋予执行权限 +chmod +x poor_mans_cd.sh + +# 创建一个screen会话并运行命令 +screen -dmS Quili bash -c './poor_mans_cd.sh' + +} + +# 查看节点日志 +function check_service_status() { + screen -r Quili + +} + + + +# 主菜单 +function main_menu() { + clear + echo "脚本以及教程由推特用户大赌哥 @y95277777 编写,免费开源,请勿相信收费" + echo "================================================================" + echo "节点社区 Telegram 群组:https://t.me/niuwuriji" + echo "节点社区 Telegram 频道:https://t.me/niuwuriji" + echo "请选择要执行的操作:" + echo "1. 安装节点" + echo "2. 查看节点日志" + echo "3. 设置快捷键的功能" + read -p "请输入选项(1-3): " OPTION + + case $OPTION in + 1) install_node ;; + 2) check_service_status ;; + 3) check_and_set_alias ;; + *) echo "无效选项。" ;; + esac +} + +# 显示主菜单 +main_menu