-
Notifications
You must be signed in to change notification settings - Fork 96
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e0a89fd
commit 3479be9
Showing
1 changed file
with
102 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,81 +1,113 @@ | ||
#!/bin/bash | ||
# 检查用户是否为root | ||
if [ "$(id -u)" != "0" ]; then | ||
echo -e "${RED}该脚本必须以root身份运行。${NC}" | ||
exit 1 | ||
fi | ||
|
||
#创建一个程序目录 | ||
cd /usr/local/bin | ||
mkdir sublink | ||
cd sublink | ||
|
||
# 获取最新的发行版标签 | ||
latest_release=$(curl --silent "https://api.github.com/repos/gooaclok819/sublinkX/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') | ||
echo "最新版本: $latest_release" | ||
# 检测机器类型 | ||
machine_type=$(uname -m) | ||
|
||
if [ "$machine_type" = "x86_64" ]; then | ||
file_name="sublink_amd64" | ||
elif [ "$machine_type" = "aarch64" ]; then | ||
file_name="sublink_arm64" | ||
else | ||
echo "不支持的机器类型: $machine_type" | ||
exit 1 | ||
fi | ||
|
||
# 下载文件 | ||
curl -LO "https://github.com/gooaclok819/sublinkX/releases/download/$latest_release/$file_name" | ||
|
||
# 设置文件为可执行 | ||
chmod +x $file_name | ||
|
||
# 移动文件到/usr/local/bin | ||
sudo mv $file_name /usr/local/bin/sublink/sublink | ||
|
||
# 创建systemctl服务 | ||
echo "[Unit] | ||
Description=Sublink Service | ||
[Service] | ||
ExecStart=/usr/local/bin/sublink/sublink | ||
WorkingDirectory=/usr/local/bin/sublink | ||
[Install] | ||
WantedBy=multi-user.target" | sudo tee /etc/systemd/system/sublink.service | ||
|
||
# 启动并启用服务 | ||
sudo systemctl start sublink | ||
sudo systemctl enable sublink | ||
sudo systemctl daemon-reload | ||
echo "服务已启动并已设置为开机启动" | ||
echo "默认账号admin密码123456 端口8000" | ||
echo "安装完成已经启动输入sudo sublink可以呼出菜单" | ||
|
||
# 创建sublink_menu.sh脚本 | ||
echo '#!/bin/bash | ||
while true; do | ||
echo "当前版本: 1.6.1" | ||
|
||
# 检查服务状态 | ||
# 获取服务状态 | ||
status=$(systemctl is-active sublink) | ||
echo "当前版本: 1.6" | ||
# 判断服务状态并打印 | ||
if [ "$status" = "active" ]; then | ||
echo "当前运行状态: 已运行" | ||
else | ||
echo "当前运行状态: 未运行" | ||
fi | ||
echo "1. 启动服务" | ||
echo "2. 停止服务" | ||
echo "3. 卸载安装" | ||
echo "4. 查看服务状态" | ||
echo "5. 查看运行目录" | ||
echo "0. 退出" | ||
echo -n "请选择一个选项: " | ||
read option | ||
case $option in | ||
1) | ||
systemctl start sublink | ||
systemctl daemon-reload | ||
;; | ||
2) | ||
systemctl stop sublink | ||
systemctl daemon-reload | ||
;; | ||
3) | ||
systemctl stop sublink | ||
systemctl disable sublink | ||
rm /etc/systemd/system/sublink.service | ||
systemctl daemon-reload | ||
rm /usr/bin/sublink | ||
;; | ||
4) | ||
systemctl status sublink | ||
;; | ||
5) | ||
echo "运行目录: /usr/local/bin/sublink" | ||
echo "需要备份的目录为db,template目录为模版文件可备份可不备份" | ||
;; | ||
0) | ||
exit 0 | ||
;; | ||
*) | ||
echo "无效的选项" | ||
;; | ||
esac | ||
done' > sublink_menu.sh | ||
|
||
# 移动sublink_menu.sh到/usr/bin | ||
|
||
# 菜单选项 | ||
PS3="请选择一个选项: " | ||
options=( | ||
"启动服务" | ||
"停止服务" | ||
"卸载安装" | ||
"查看服务状态" | ||
"查看运行目录" | ||
"修改端口" | ||
"重置账户密码" | ||
"退出" | ||
) | ||
sudo mv sublink_menu.sh /usr/bin/sublink | ||
|
||
select opt in "${options[@]}"; do | ||
case $opt in | ||
"启动服务") | ||
echo "正在启动服务..." | ||
systemctl start sublink && echo "服务已启动" || echo "服务启动失败" | ||
break | ||
;; | ||
"停止服务") | ||
echo "正在停止服务..." | ||
systemctl stop sublink && echo "服务已停止" || echo "停止服务失败" | ||
break | ||
;; | ||
"卸载安装") | ||
echo "正在卸载服务..." | ||
systemctl stop sublink | ||
systemctl disable sublink | ||
rm /etc/systemd/system/sublink.service | ||
systemctl daemon-reload | ||
rm /usr/bin/sublink | ||
echo "服务已卸载" | ||
break | ||
;; | ||
"查看服务状态") | ||
echo "查看服务状态..." | ||
systemctl status sublink | ||
break | ||
;; | ||
"查看运行目录") | ||
echo "运行目录: /usr/local/bin/sublink" | ||
echo "需要备份的目录为 db, template 目录为模版文件可备份可不备份" | ||
break | ||
;; | ||
"修改端口") | ||
echo -n "请输入新的端口号: " | ||
read -r new_port | ||
echo "正在使用新端口启动服务..." | ||
systemctl stop sublink | ||
systemctl start sublink run --port "$new_port" && echo "服务已使用新端口 $new_port 启动" || echo "启动失败" | ||
break | ||
;; | ||
"重置账户密码") | ||
echo "正在重置账户密码为默认值..." | ||
systemctl start sublink setting --username admin --password 123456 && echo "账户密码已重置为默认值:admin/123456" || echo "重置密码失败" | ||
break | ||
;; | ||
"退出") | ||
exit 0 | ||
;; | ||
*) | ||
echo "无效的选项,请重试" | ||
break | ||
;; | ||
esac | ||
done | ||
done | ||
chmod +x /usr/bin/sublink |