diff --git a/public/servers.list b/public/servers.list index e8f27eb..5570593 100644 --- a/public/servers.list +++ b/public/servers.list @@ -8,9 +8,9 @@ 201 wwng2333自建CN源(请勿滥用!) https://mirrors.csgo.ovh/ShellClash 公测版 202 http私人内测源(危险!非必要请勿使用) http://t.jwsc.eu.org 开发版 -401 作者提供,支持vless|hy2 https://sub.jwsc.eu.org -402 肥羊提供(有广告),支持vless|hy2 https://sub.d1.mk -403 肥羊提供(有广告),支持vless|hy2 https://url.v1.mk +401 作者提供,支持vless|hy2 https://sub.jwsc.eu.org ua +402 肥羊提供(有广告),支持vless|hy2 https://sub.d1.mk diyua +403 肥羊提供(有广告),支持vless|hy2 https://url.v1.mk diyua 501 Acl4SSR全能优化版 https://github.com/juewuy/ShellCrash/raw/master/rules/ShellClash.ini (推荐) 502 Acl4SSR精简优化版 https://github.com/juewuy/ShellCrash/raw/master/rules/ShellClash_Mini.ini (推荐) diff --git a/scripts/start.sh b/scripts/start.sh index 7f5367e..fbc7434 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -58,6 +58,17 @@ getconfig() { #读取配置及全局变量 fi } [ -z "$dns_fallback" ] && dns_fallback='1.0.0.1, 8.8.4.4' + #自动生成ua + [ -z "$user_agent" -o "$user_agent" = "auto" ] && { + if [ "$crashcore" = singbox -o "$crashcore" = singboxp ];then + user_agent="sing-box/$core_v" + elif [ "$crashcore" = meta ];then + user_agent="mihomo/$core_v" + else + user_agent="clash" + fi + } + [ "$user_agent" = "none" ] && unset user_agent } setconfig() { #脚本配置工具 #参数1代表变量名,参数2代表变量值,参数3即文件路径 @@ -296,14 +307,13 @@ get_core_config() { #下载内核配置文件 [ -z "$rule_link" ] && rule_link=1 [ -z "$server_link" ] || [ $server_link -gt $(grep -aE '^4' "$CRASHDIR"/configs/servers.list | wc -l) ] && server_link=1 Server=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - [ -n "$(echo $Url | grep -oE 'vless:|hysteria:')" ] && Server=$(grep -aE '^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - [ "$retry" = 4 ] && Server=$(grep -aE '^497' "$CRASHDIR"/configs/servers.list | awk '{print $3}') + Server_ua=$(grep -aE '^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $4}') Config=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $3}') #如果传来的是Url链接则合成Https链接,否则直接使用Https链接 if [ -z "$Https" ]; then #Urlencord转码处理保留字符 Url=$(echo $Url | sed 's/;/\%3B/g; s|/|\%2F|g; s/?/\%3F/g; s/:/\%3A/g; s/@/\%40/g; s/=/\%3D/g; s/&/\%26/g') - Https="${Server}/sub?target=${target}&insert=true&new_name=true&scv=true&udp=true&exclude=${exclude}&include=${include}&url=${Url}&config=${Config}" + Https="${Server}/sub?target=${target}&${Server_ua}=${user_agent}&insert=true&new_name=true&scv=true&udp=true&exclude=${exclude}&include=${include}&url=${Url}&config=${Config}" url_type=true fi #输出 @@ -323,22 +333,15 @@ get_core_config() { #下载内核配置文件 echo ----------------------------------------------- exit 1 else - if [ "$retry" -ge 4 ]; then + if [ "$retry" -ge 3 ]; then logger "无法获取配置文件,请检查链接格式以及网络连接状态!" 31 echo -e "\033[32m也可用浏览器下载以上链接后,使用WinSCP手动上传到/tmp目录后执行crash命令本地导入!\033[0m" exit 1 - elif [ "$retry" = 3 ]; then - retry=4 - logger "配置文件获取失败!将尝试使用http协议备用服务器获取!" 31 - echo -e "\033[32m如担心数据安全,请在3s内使用【Ctrl+c】退出!\033[0m" - sleep 3 - Https="" - get_core_config else retry=$((retry + 1)) logger "配置文件获取失败!" 31 echo -e "\033[32m尝试使用其他服务器获取配置!\033[0m" - logger "正在重试第$retry次/共4次!" 33 + logger "正在重试第$retry次/共3次!" 33 if [ "$server_link" -ge 4 ]; then server_link=0 fi diff --git a/scripts/webget.sh b/scripts/webget.sh index cd45a08..83cde90 100644 --- a/scripts/webget.sh +++ b/scripts/webget.sh @@ -1138,10 +1138,9 @@ set_core_config(){ #配置文件功能 9) echo ----------------------------------------------- echo -e "\033[36m如果6-1或者6-2无法正确获取配置文件时可以尝试使用\033[0m" - echo -e " 1 \033[32mclash.meta\033[0m" - echo -e " 2 \033[33mclash\033[0m" - echo -e " 3 \033[32msing-box\033[0m" - echo -e " 0 \033[33m不使用自定义UA\033[0m" + echo -e " 1 使用自动UA" + echo -e " 2 不使用UA" + echo -e " 3 使用自定义UA:\033[32m$user_agent\033[0m" echo ----------------------------------------------- read -p "请输入对应数字 > " num case "$num" in @@ -1149,13 +1148,14 @@ set_core_config(){ #配置文件功能 user_agent='' ;; 1) - user_agent='clash.meta' + user_agent='auto' ;; 2) - user_agent='clash' + user_agent='none' ;; 3) - user_agent='sing-box' + read -p "请输入自定义UA > " text + [ -n "$text" ] && user_agent="$text" ;; *) errornum