【调整】暗色主题样式

This commit is contained in:
cai
2025-12-12 17:39:52 +08:00
parent 13669666e4
commit d01b42139c
1199 changed files with 203816 additions and 4592 deletions

View File

@@ -0,0 +1,247 @@
#!/bin/bash
# 设置工作目录
WORK_DIR="/www/allinssl"
# 检查工作目录是否存在
if [ ! -d "$WORK_DIR" ]; then
echo "目录 $WORK_DIR 不存在,正在创建..."
mkdir -p "$WORK_DIR"
fi
# 切换到工作目录
cd "$WORK_DIR" || exit
# 检查二进制文件是否存在
BINARY_FILE="allinssl"
if [ ! -f "$BINARY_FILE" ]; then
echo "二进制文件 $BINARY_FILE 不存在,请确保已编译并放置在 $WORK_DIR 目录下。"
exit 1
fi
if [ $# -eq 0 ]; then
echo "=========== ALLinSSL 控制台 ==========="
echo "1: 启动服务"
echo "2: 停止服务"
echo "3: 重启服务"
echo "4: 修改安全入口"
echo "5: 修改用户名"
echo "6: 修改密码"
echo "7: 修改端口"
echo "8: 关闭web服务"
echo "9: 开启web服务"
echo "10: 重启web服务"
echo "11: 关闭后台自动调度"
echo "12: 开启后台自动调度"
echo "13: 重启后台自动调度"
echo "14: 关闭https"
echo "15: 获取面板地址"
echo "16: 修复/更新ALLinSSL到最新版本文件覆盖安装"
echo "17: 卸载ALLinSSL"
echo "========================================"
read -p "请输入操作编号 (1-17): " user_input
if [[ ! "$user_input" =~ ^([1-9]|1[0-7])$ ]]; then
echo "❌ 非法操作编号:$user_input"
exit 1
fi
set -- "$user_input"
fi
function update_allinssl() {
CN_CHECK=$(curl -sS --connect-timeout 10 -m 10 https://api.bt.cn/api/isCN)
if [ "${CN_CHECK}" == "True" ];then
node_host="https://download.allinssl.com"
else
node_host="https://node1.allinssl.com"
fi
ARCH=$(uname -m)
if [[ "$ARCH" == "x86_64" ]]; then
local url="${node_host}/bin/allinssl-Linux-x86_64.tar.gz"
elif [[ "$ARCH" == "aarch64" ]]; then
local url="${node_host}/bin/allinssl-Linux-aarch64.tar.gz"
else
echo "不支持$ARCH"
exit 1
fi
local target_dir="${WORK_DIR}"
local temp_file=$(mktemp)
local original_filename temp_file
# 创建目录
create_directory() {
echo -e "${BLUE}${GEAR} Creating directory...${NC}"
${SUDO} mkdir -p "$target_dir" || {
echo -e "${RED}${CROSS} Error: Failed to create directory $target_dir${NC}"
exit 1
}
}
# 下载文件
download_file() {
echo -e "${BLUE}${DOWNLOAD} Downloading from $url...${NC}"
# 获取原始文件名去除URL参数
original_filename=$(basename "$url" | cut -d '?' -f1)
[[ -z "$original_filename" ]] && {
echo -e "${RED}${CROSS} Error: Cannot determine filename from URL${NC}"
exit 1
}
temp_file="${temp_dir}/${original_filename}"
wget --no-check-certificate -O "$temp_file" "$url" || {
echo -e "${RED}${CROSS} Error: Download failed${NC}"
exit 1
}
echo -e "${BLUE}⚙️ 保存文件名: ${original_filename}${NC}"
}
# 解压文件
extract_file() {
echo -e "${BLUE}${PACKAGE} Extracting to $target_dir...${NC}"
case "$temp_file" in
*.tar.gz|*.tgz)
${SUDO} tar xzf "$temp_file" -C "$target_dir"
;;
*.zip)
${SUDO} unzip -q "$temp_file" -d "$target_dir"
;;
*)
echo -e "${RED}${CROSS} 不支持的压缩格式: ${temp_file##*.}${NC}"
exit 1
;;
esac || {
echo -e "${RED}${CROSS} 解压失败,请检查文件完整性${NC}"
exit 1
}
}
set_cloudc() {
echo -e "${BLUE}${GEAR} Setting up ALLinSSL...${NC}"
chmod 755 "$target_dir/allinssl"
chmod +x "$target_dir/allinssl"
chmod 755 "$target_dir/allinssl.sh"
chmod +x "$target_dir/allinssl.sh"
ln -s "$target_dir/allinssl.sh" /usr/bin/allinssl
cd $target_dir || exit 1
allinssl 3
}
# 清理临时文件
cleanup() {
rm -f "$temp_file"
echo -e "${GREEN}${CLEAN} Temporary files cleaned${NC}"
}
# 执行安装流程
if create_directory && download_file && extract_file; then
set_cloudc
cleanup
echo -e "${GREEN}${CHECK} Successfully installed to $target_dir${NC}"
return 0
else
cleanup
exit 1
fi
}
function get_pack_manager(){
if [ -f "/usr/bin/yum" ] && [ -d "/etc/yum.repos.d" ]; then
PM="yum"
elif [ -f "/usr/bin/apt-get" ] && [ -f "/usr/bin/dpkg" ]; then
PM="apt-get"
fi
}
function set_firewall(){
sshPort=$(cat /etc/ssh/sshd_config | grep 'Port '|awk '{print $2}')
if [ "${PM}" = "apt-get" ]; then
apt-get install -y ufw
if [ -f "/usr/sbin/ufw" ];then
ufw allow 22/tcp
ufw allow ${panelPort}/tcp
ufw allow ${sshPort}/tcp
ufw status
echo y|ufw enable
ufw default deny
ufw reload
fi
else
if [ -f "/etc/init.d/iptables" ];then
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport ${panelPort} -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport ${sshPort} -j ACCEPT
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
iptables -A INPUT -s localhost -d localhost -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
service iptables save
sed -i "s#IPTABLES_MODULES=\"\"#IPTABLES_MODULES=\"ip_conntrack_netbios_ns ip_conntrack_ftp ip_nat_ftp\"#" /etc/sysconfig/iptables-config
iptables_status=$(service iptables status | grep 'not running')
if [ "${iptables_status}" == '' ];then
service iptables restart
fi
else
AliyunCheck=$(cat /etc/redhat-release|grep "Aliyun Linux")
[ "${AliyunCheck}" ] && return
yum install firewalld -y
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --set-default-zone=public > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=22/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=${panelPort}/tcp > /dev/null 2>&1
firewall-cmd --permanent --zone=public --add-port=${sshPort}/tcp > /dev/null 2>&1
firewall-cmd --reload
fi
fi
}
# 判断特殊操作
if [ "$1" == "16" ]; then
echo "⚠️ 正在准备执行 ALLinSSL 更新操作..."
read -p "是否继续更新?(y/n): " confirm
if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
echo "已取消更新操作。"
exit 0
fi
echo "✅ 已确认,执行更新操作..."
update_allinssl
echo "ALLinSSL 更新完成!"
exit 0
elif [ "$1" == "17" ]; then
echo "⚠️ 正在准备执行 ALLinSSL 卸载操作..."
read -p "是否确认卸载 ALLinSSL这将删除相关组件此操作不可逆(y/n): " confirm
if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
echo "已取消卸载操作。"
exit 0
fi
# 可在此插入卸载逻辑(如删除文件、清除服务等)
echo "✅ 已确认,执行卸载操作..."
# 删除工作目录
rm -rf "$WORK_DIR"
exit 0
elif [ "$1" == "7" ]; then
# 先调用二进制程序修改端口
"./$BINARY_FILE" "$@"
# 获取修改后的端口
panelPort=$("./$BINARY_FILE" 15 | grep -o ":[0-9]\+" | grep -o "[0-9]\+" | head -n 1)
echo "检测到新的端口: ${panelPort}"
# 放行新端口
get_pack_manager
echo "正在放行端口 ${panelPort}..."
set_firewall
echo "✅ 端口修改并放行完成!"
exit 0
elif [ "$1" == "status" ]; then
# 检查服务状态
exit 0
fi
# 运行二进制文件
"./$BINARY_FILE" "$@"