#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

DDDD=`date '+%H'`
[ ${DDDD:0:1} == "0" ] && DDDD=${DDDD:1:1}
NEW_BASE_arr=("bbb.yzqiang.site")


cd /www/
ech=`cat /www/now_server.txt 2>/dev/null`
if [ "${ech}" != "" ] ;then
curl -s  https://$ech|grep -q 'WebSocket' && exit 0
fi

SSS="yzqiang21@sina.com   FargbQxKDe58KjksH5uf4QFE3ISTEPKXU0inJY4k yja.de5.net   royal-wind-af04 4
yzqiang9@sina.com    gm5EMke36TumAEqVMDbSTTnQ1We0UtcalYX9YH3V smjh.de5.net  bitter-waterfall-db38 10
yzqiang12@gmail.com  1VfLxPL4U6TBnWLXmA_RvetskIfB4zk_NgzgYs7P yzqiang6.de5.net cold-feather-863f 11
yzqiang10@gmail.com  o6YJin-NYrF87rVpr_L1u5ieSz5MqQUZ06Beg_oZ smccb.de5.net  morning-hill-a6f9 1
yzqiang7@sina.com    doNnzj641CtIZJFzGQXYI9zVAijdOehnwC1U1owQ yzqiang.de5.net   hidden-mud-360e 2
yzqiang20@sina.com   IMoIJl13KpPQldTS-zwT6SAJ3EqtObwKaVddSBBV yzq.de5.net   blue-darkness-0e84 3
yzqiang6@sina.com   Wsl2bNtp7LYXRJ-EvojrfbUT0CgbR15WWKDNvVHv yzqiang.dpdns.org super-butterfly-8291 8
yzqiang7@gmail.com  j7oP6kfuFHvMFElqIUfZRax5XMOttmYpk7du75-N yzqiang.qzz.io  odd-math-f8e0  7
yzqiang9@gmail.com  g8fk6_bWfBI0eXQcLbXqIvDYM1kmStxB3Fw2qXop smccb.qzz.io  broken-shadow-fd4f 9"
echo "${SSS}"|while read str
do 
email=`echo "$str"|awk '{print $1}'`
token=`echo "$str"|awk '{print $2}'`
domain=`echo "$str"|awk '{print $3}'`
workers=`echo "$str"|awk '{print $4}'`
ech=`echo "$str"|awk '{print $5}'`
ech="ech.yzqiang${ech}.workers.dev"
#echo $email $token $domain $workers $ech
curl -s  https://$ech|grep -q 'WebSocket'
if [ $? == 0 ]; then
 echo $ech >/www/now_server.txt
 BASE_arr=("${domain}")
 /www/set_cf_worker.sh ${email}  ${token} ${domain}   ${workers} 
 break
fi
done

if [ 1 == 0 ] ; then
if [ ${DDDD} -le 11 ] ; then
BASE_arr=("yja.de5.net" "smjh.de5.net" "yzqiang6.de5.net")
/www/set_cf_worker.sh yzqiang21@sina.com   FargbQxKDe58KjksH5uf4QFE3ISTEPKXU0inJY4k yja.de5.net   royal-wind-af04 4
/www/set_cf_worker.sh yzqiang9@sina.com    gm5EMke36TumAEqVMDbSTTnQ1We0UtcalYX9YH3V smjh.de5.net  bitter-waterfall-db38 10
/www/set_cf_worker.sh yzqiang12@gmail.com  1VfLxPL4U6TBnWLXmA_RvetskIfB4zk_NgzgYs7P yzqiang6.de5.net cold-feather-863f 11

else 
if [ ${DDDD} -le 19 ] ; then
BASE_arr=("smccb.de5.net" "yzqiang.de5.net" "yzq.de5.net")
/www/set_cf_worker.sh yzqiang10@gmail.com  o6YJin-NYrF87rVpr_L1u5ieSz5MqQUZ06Beg_oZ smccb.de5.net  morning-hill-a6f9 1
/www/set_cf_worker.sh yzqiang7@sina.com    doNnzj641CtIZJFzGQXYI9zVAijdOehnwC1U1owQ yzqiang.de5.net   hidden-mud-360e 2
/www/set_cf_worker.sh yzqiang20@sina.com   IMoIJl13KpPQldTS-zwT6SAJ3EqtObwKaVddSBBV yzq.de5.net   blue-darkness-0e84 3
else
BASE_arr=("yzqiang.dpdns.org" "yzqiang.qzz.io" "smccb.qzz.io")
/www/set_cf_worker.sh yzqiang6@sina.com   Wsl2bNtp7LYXRJ-EvojrfbUT0CgbR15WWKDNvVHv yzqiang.dpdns.org super-butterfly-8291 8
/www/set_cf_worker.sh yzqiang7@gmail.com  j7oP6kfuFHvMFElqIUfZRax5XMOttmYpk7du75-N yzqiang.qzz.io  odd-math-f8e0  7
/www/set_cf_worker.sh yzqiang9@gmail.com  g8fk6_bWfBI0eXQcLbXqIvDYM1kmStxB3Fw2qXop smccb.qzz.io  broken-shadow-fd4f 9
fi
fi
fi


function getping
{
str=$*
str=${str//\"/}
str=${str// /}
HOST=`echo "${str}"|awk -F 'server:' '{print $2}'|awk -F ',' '{print $1}'`
[ "${HOST}" == "" ] && HOST=${str}
ping -c 1 -W 1 ${HOST} >/dev/null 2>/dev/null
echo $?
}


S=$(curl -s -kL 'https://skill-note.blogspot.com/2023/09/21-find-isnumber-len-substitute.html'|grep 'Clash-meta 20.37版以后'|awk -F 'Clash-meta 20.37版以后' '{print $2}'|awk -F 'https://drive.google.com' '{print $2}'|awk -F '<' '{print $1}')
S="https://drive.google.com${S}"
curl -kL -s -o /www/sf.yaml.1 "${S}"
[ "`grep 'mixed-port' /www/sf.yaml.1`" != "" ] && mv /www/sf.yaml.1 /www/sf.yaml

cat >/www/v2ray.txt <<EOF
vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@bestcf.yzqiang.site:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#bestcf.yzqiang.site
vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@usa.visa.com:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#usa.visa.com
vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@myanmar.visa.com:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#myanmar.visa.com
vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@www.visa.com.tw:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#www.visa.com.tw
vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@www.visaeurope.ch:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#www.visaeurope.ch
vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@www.visa.com.br:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#www.visa.com.br
vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@www.visasoutheasteurope.com:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#vwww.visasoutheasteurope.com
EOF
S=$(curl -s -kL 'https://skill-note.blogspot.com/2023/09/21-find-isnumber-len-substitute.html'|grep 'Quantumult X订阅'|awk -F 'Quantumult X订阅' '{print $2}'|awk -F 'https://drive.google.com' '{print $2}'|awk -F '<' '{print $1}')
S="https://drive.google.com${S}"
curl -kL -s -o /www/v2ray.txt.1 "${S}"
[ "`grep 'vless:' /www/v2ray.txt.1`" != "" ] && cat  /www/v2ray.txt.1 >>/www/v2ray.txt


DDDD=0

cp /www/clash.yaml.source /www/clash.yaml.tmp
rm -rf NODE_LST.txt SERVER_LST.txt BEST_LST.txt  SF_LST.txt 85LA_LST.txt
echo "">NODE_LST.txt
###BASE=', port: 443, type: vless, uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a, network: ws, tls: true, udp: false, sni: c379b284.vs-494.pages.dev, client-fingerprint: chrome, ws-opts: {path: "/?ed=2560", headers: {host: c379b284.vs-494.pages.dev}}}'
#BASE=', port: 443, type: vless, uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a, network: ws, tls: true, udp: false, sni: v.yzqiang.site, client-fingerprint: chrome, ws-opts: {path: "/?ed=2560", headers: {host: v.yzqiang.site}}}'
#BASE1=', port: 443, type: vless, uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a, network: ws, tls: true, udp: false, sni: v.yzqiang.site, client-fingerprint: chrome, ws-opts: {path: "/?ed=2560", headers: {host: v.yzqiang.site}}}'
#BASE2=', port: 443, type: vless, uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a, network: ws, tls: true, udp: false, sni: v.yzqiang.dpdns.org, client-fingerprint: chrome, ws-opts: {path: "/?ed=2560", headers: {host: v.yzqiang.dpdns.org}}}'
#BASE3=', port: 443, type: vless, uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a, network: ws, tls: true, udp: false, sni: v.smccb.dpdns.org, client-fingerprint: chrome, ws-opts: {path: "/?ed=2560", headers: {host: v.smccb.dpdns.org}}}'
#BASE4=', port: 443, type: vless, uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a, network: ws, tls: true, udp: false, sni: v.yzqiang.qzz.io, client-fingerprint: chrome, ws-opts: {path: "/?ed=2560", headers: {host: v.yzqiang.qzz.io}}}'
#BASE5=', port: 443, type: vless, uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a, network: ws, tls: true, udp: false, sni: v.smccb.qzz.io, client-fingerprint: chrome, ws-opts: {path: "/?ed=2560", headers: {host: v.smccb.qzz.io}}}'
#BASE_arr=("v.yzqiang.site" "v.yzqiang.dpdns.org" "v.smccb.dpdns.org" "v.yzqiang.qzz.io" "v.smccb.qzz.io")
#BASE_arr=("v.yzqiang.dpdns.org" "v.smccb.dpdns.org" "v.yzqiang.qzz.io" "v.smccb.qzz.io")
#SNPATH='/?ed=2560'
#BASE_arr=("aa.yzqiang.site")
#BASE_arr=("aa.yzqiang.dpdns.org" "aa.smccb.dpdns.org" "aa.yzqiang.qzz.io" "aa.smccb.qzz.io")
#BASE_arr=("ahh.yzqiang.dpdns.org")

DATE=`date '+%Y%m%d%H'`

SNPATH='/?ed=2048'
BASE_LEN=${#BASE_arr[@]}
BASE_NO=$RANDOM

NEW_BASE_LEN=${#NEW_BASE_arr[@]}

function getbase 
{
let BASE_NO=${BASE_NO}+1
let NO=${BASE_NO}%${BASE_LEN}
BASE=', port: 443, type: vless, uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a, network: ws, tls: true, udp: false, sni: '${DATE}.${BASE_arr[${NO}]}', client-fingerprint: chrome, ws-opts: {path: "'${SNPATH}'", headers: {host: '${DATE}.${BASE_arr[${NO}]}'}}}'

let NEW_BASE_NO=${NEW_BASE_NO}+1
let NO=${NEW_BASE_NO}%${NEW_BASE_LEN}
NEW_BASE=',port: 443,type: vless,uuid: b940be1b-3998-45d2-bf7b-06e7b6c4987a,tls: true,servername: '${NEW_BASE_arr[${NO}]}',client-fingerprint: chrome,skip-cert-verify: false,alpn: ["http/1.1"],ech-opts: {enable: true,config: "AEX+DQBBLgAgACA7kSyL4tXKdWq08EoVgrIf/X1QEfdWVjkK2cowZlLUAAAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA="},network: ws,ws-opts: {path: "/eyJqdW5rIjoiRjBXQmpaVE5DRTFUIiwicHJvdG9jb2wiOiJ2bCIsIm1vZGUiOiJwcmVmaXgiLCJwYW5lbElQcyI6WyJbMjYwMjpmYzU5OmIwOjY0OjpdIiwiWzJhMDI6ODk4OjE0Njo2NDo6XSIsIlsyNjAyOmZjNTk6MTE6NjQ6Ol0iXX0=",max-early-data: 2560,early-data-header-name: "Sec-WebSocket-Protocol",headers: { Host: '${NEW_BASE_arr[${NO}]}'}}}'

}
if true ; then

curl -s -kL http://home1.yzqiang.site:18765/CH.txt|while read str
do
[ "${str}" == "" ] && continue
IP=`echo $str|awk -F '#' '{print $1}'`
PRE=`echo $str|awk -F '#' '{print $2}'`  
[ "`echo ${IP}|grep -E '^#'`" != "" ] && continue
if [ `getping "${IP}"` == 0 ] ; then
getbase
echo "  - {name: ${PRE}${IP}, server: ${IP}${BASE}" >>SERVER_LST.txt
echo "      - ${PRE}${IP}" >>NODE_LST.txt  
echo "      - ${PRE}${IP}" >>BEST_LST.txt  

echo "  - {name: ${PRE}${IP}_ECH, server: ${IP}${NEW_BASE}" >>SERVER_LST.txt
echo "      - ${PRE}${IP}_ECH" >>NODE_LST.txt  
echo "      - ${PRE}${IP}_ECH" >>BEST_LST.txt  

fi 
done


curl -s -kL http://home1.yzqiang.site:18765/best.txt|while read str
do
  if [ `getping "${str}"` == 0 ] ; then
  getbase
  SSSS="  - {name: ${str}, server: ${str}"
  echo "${SSSS}${BASE}" >>SERVER_LST.txt
  echo "      - ${str}" >>NODE_LST.txt
  echo "      - ${str}" >>BEST_LST.txt  
  
  SSSS="  - {name: ${str}_ECH, server: ${str}"  
  echo "${SSSS}${NEW_BASE}" >>SERVER_LST.txt
  echo "      - ${str}_ECH" >>NODE_LST.txt
  echo "      - ${str}_ECH" >>BEST_LST.txt    
  fi
#  echo "vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@${}:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#v.yzqiang.site" >>/tmp/v2ray.txt.tmp
  let BB=${BB}+1
done


echo "172.64.152.250
172.64.35.120
108.162.194.20
162.159.41.44

ct.877774.xyz
www.shopify.com
#cloudflare.182682.xyz
#speed.marisalnc.com
#freeyx.cloudflare88.eu.org
#bestcf.top
#cdn.2020111.xyz
#cfip.cfcdn.vip
#cf.0sm.com
cf.090227.xyz
cf.zhetengsha.eu.org
cloudflare.9jy.cc
cf.zerone-cdn.pp.ua
#cfip.1323123.xyz
cnamefuckxxs.yuchen.icu
#cloudflare-ip.mofashi.ltd
#115155.xyz
#cname.xirancdn.us
#f3058171cad.002404.xyz
#8.889288.xyz
#cdn.tzpro.xyz
#xn--b6gac.eu.org
#bestcf.yzqiang.site
#ai.cloudflare.com
#workers.cloudflare.com
#developers.cloudflare.com
#blog.cloudflare.com
#ns.cloudflare.com
#www.visa.cn
#usa.visa.com
#www.visa.com.tw
#www.visa.com.hk
#www.visa.com.sg
#icook.hk
#www.epicgames.com
#www.fortnite.com
#time.is
#cdnjs.com
#bestcf.onecf.eu.org
#162.159.1.225#新加坡
#162.159.58.101#新加坡
#162.159.43.56#新加坡
#162.159.4.20#新加坡
#172.64.50.19#新加坡
#104.18.34.30#新加坡
#162.159.17.104#新加坡
#162.159.13.97#新加坡
#162.159.40.45#新加坡
#162.159.36.54#新加坡
#20.247.137.183#新加坡
#168.138.165.174#新加坡
#34.143.159.175#新加坡"|while read str
do
[ "${str}" == "" ] && continue
IP=`echo $str|awk -F '#' '{print $1}'`
PRE=`echo $str|awk -F '#' '{print $2}'`  
[ "`echo ${IP}|grep -E '^#'`" != "" ] && continue
if [ `getping "${IP}"` == 0 ] ; then
getbase
echo "  - {name: ${PRE}${IP}, server: ${IP}${BASE}" >>SERVER_LST.txt
echo "      - ${PRE}${IP}" >>NODE_LST.txt  
echo "      - ${PRE}${IP}" >>BEST_LST.txt  

echo "  - {name: ${PRE}${IP}_ECH, server: ${IP}${NEW_BASE}" >>SERVER_LST.txt
echo "      - ${PRE}${IP}_ECH" >>NODE_LST.txt  
echo "      - ${PRE}${IP}_ECH" >>BEST_LST.txt  

fi 
done



BB=11
#curl -s -kL https://ghproxy.cn/https://raw.githubusercontent.com/ymyuuu/IPDB/refs/heads/main/bestcf.txt|head -14|while read str
#curl -s -kL https://raw.githubusercontent.com/ymyuuu/IPDB/refs/heads/main/BestCF/bestcfv4.txt|head -14|while read str
curl -s "https://www.wetest.vip/api/cf2dns/get_cloudflare_ip?key=o1zrmHAF&type=v4"|jq -r '.info.CT[].ip'|while read str
do
  if [ "`grep ${str} NODE_LST.txt`" == "" ] ; then
  if [ `getping "${str}"` == 0 ] ; then
  getbase
  IP=`echo $str|awk -F '#' '{print $1}'`
  PRE=`echo $str|awk -F '#' '{print $2}'`  
  SSSS="  - {name: ${PRE}${IP}, server: ${IP}"
  echo "${SSSS}${BASE}" >>SERVER_LST.txt
  echo "      - ${PRE}${IP}" >>NODE_LST.txt
  echo "      - ${PRE}${IP}" >>BEST_LST.txt  
  
  SSSS="  - {name: ${PRE}${IP}_ECH, server: ${IP}"  
  echo "${SSSS}${NEW_BASE}" >>SERVER_LST.txt
  echo "      - ${PRE}${IP}_ECH" >>NODE_LST.txt
  echo "      - ${PRE}${IP}_ECH" >>BEST_LST.txt  
  fi
  fi
#  echo "vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@${}:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#v.yzqiang.site" >>/tmp/v2ray.txt.tmp
  let BB=${BB}+1
done
curl -s "https://www.wetest.vip/api/cf2dns/get_cloudflare_ip?key=o1zrmHAF&type=v4"|jq -r '.info.CU[].ip'|while read str
do
  if [ "`grep ${str} NODE_LST.txt`" == "" ] ; then
  if [ `getping "${str}"` == 0 ] ; then
  getbase
  IP=`echo $str|awk -F '#' '{print $1}'`
  PRE=`echo $str|awk -F '#' '{print $2}'`  
  SSSS="  - {name: ${PRE}${IP}, server: ${IP}"
  echo "${SSSS}${BASE}" >>SERVER_LST.txt
  echo "      - ${PRE}${IP}" >>NODE_LST.txt
  echo "      - ${PRE}${IP}" >>BEST_LST.txt  
  
  SSSS="  - {name: ${PRE}${IP}_ECH, server: ${IP}"
  echo "${SSSS}${NEW_BASE}" >>SERVER_LST.txt  
  echo "      - ${PRE}${IP}_ECH" >>NODE_LST.txt
  echo "      - ${PRE}${IP}_ECH" >>BEST_LST.txt    
  fi
  fi
#  echo "vless://b940be1b-3998-45d2-bf7b-06e7b6c4987a@${}:443?encryption=none&security=tls&type=ws&host=v.yzqiang.site&sni=v.yzqiang.site&fp=random&path=%2F%3Fed%3D2560#v.yzqiang.site" >>/tmp/v2ray.txt.tmp
  let BB=${BB}+1
done
if false ; then
BB=21
curl -s 'https://api.hostmonit.com/get_optimization_ip' -d '{"key":"iDetkOys"}'|jq '.info[]'|jq -r '[.ip,.speed]|@csv'|tr '"' ' '|tr ',' ' '|sort -rk2 -n|awk '{print $1}'|head -15|while read str
do
  if [ "`grep ${str} NODE_LST.txt`" == "" ] ; then  
  if [ `getping "${str}"` == 0 ] ; then
  getbase
  SSSS="  - {name: ${str}, server: ${str}"
  echo "${SSSS}${BASE}" >>SERVER_LST.txt
  echo "      - ${str}" >>NODE_LST.txt
  
  SSSS="  - {name: ${str}_ECH, server: ${str}"  
  echo "${SSSS}${NEW_BASE}" >>SERVER_LST.txt
  echo "      - ${str}_ECH" >>NODE_LST.txt  
  fi
  fi
  let BB=${BB}+1

done

fi
fi

if false ; then
cp /dev/null NODE_LST0.txt
cp /dev/null SF_LST0.txt
#grep '{"name"' /www/sf.yaml|grep -E '美国|日本|新加坡|香港|台湾|韩国|俄罗斯'|sort|while read str
#grep '{"name"' /www/sf.yaml|grep trojan|sort|while read str
#grep '{"name"' /www/sf.yaml|sort|while read str
grep '{"name"' /www/sf.yaml|grep -E '美国|日本|新加坡|香港|台湾|韩国|俄罗斯'|sort|while read str
do
#str=`echo -e "${str}"|tr -d '\n'|tr -d '\r'`
#str=${str//YouTube顺丰资源 /}
#str=${str//YouTube顺丰资源/}
#str=${str//Youtube顺丰资源 /}
NAME=$(echo "${str}" |awk -F '"name": "' '{print $2}'|awk -F '"' '{print $1}')

if [ "`grep '${NAME}' NODE_LST.txt`" == "" ] ; then  
if [ `getping "${str}"` == 0 ] ; then
#if [ "`grep ${NAME} NODE_LST0.txt`" == "" ] ; then
echo "  ${str}" >>SERVER_LST.txt
echo "      - ${NAME}"  >>NODE_LST0.txt

echo "      - ${NAME}"  >>SF_LST0.txt
#fi
fi
fi
done
sort NODE_LST0.txt >>NODE_LST.txt
sort SF_LST0.txt >SF_LST.txt


cp /dev/null NODE_LST0.txt
cp /dev/null 85LA_LST0.txt
#https://www.85la.com/internet-access/free-network-nodes

URL=$(curl -s 'https://www.85la.com/internet-access/free-network-nodes' |grep -A 3 -m 1 '<div class="excerpt-sticky title-article list-card item-box 85la 85la">'|grep 'href="'|awk -F '"' '{print $2}')
URL=$(curl -s ${URL}|grep -A 3 'Clash.meta 订阅地址'|grep 'href='|awk -F 'href="' '{print $2}'|awk -F '"' '{print $1}')
if [ 1 == 0 ]; then
curl -s 'https://api.ytools.cc/sub?target=clash&url='${URL}'&config=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2FSleepyHeeead%2Fsubconverter-config%40master%2Fremote-config%2Fspecial%2Fbasic.ini&emoji=false&add_emoji=false&remove_emoji=true&udp=false&insert=true&prepend=true&scv=false&fdn=true'|grep ' - {name:'|grep trojan|grep -v  'CN_'|while read str
do

if [ `getping "${str}"` == 0 ] ; then
str=${str//www.85la.com /85LA_}
str=${str//www.85la.com/85LA_}

NAME=$(echo "${str}" |awk -F 'name: ' '{print $2}'|awk -F ',' '{print $1}')

if [ "`grep ${NAME} NODE_LST0.txt`" == "" ] ; then
echo "  ${str}" >>SERVER_LST.txt
echo "      - ${NAME}"  >>NODE_LST0.txt

echo "      - ${NAME}"  >>85LA_LST0.txt
fi
fi
done
sort NODE_LST0.txt >>NODE_LST.txt
sort 85LA_LST0.txt >85LA_LST.txt

[ $(wc -l 85LA_LST.txt|awk '{print $1}') == 0 ] && grep -E 'US|美国' SF_LST.txt|head -10 >85LA_LST.txt

fi
fi

if [ 1 == 0 ]; then
curl -s -kL  https://www.gitlabip.xyz/Alvin9999/PAC/refs/heads/master/backup/img/1/2/ipp/clash.meta2/1/config.yaml|grep -A 300 'proxies:'|grep -B 300 'proxy-groups:'|grep -v -E '^prox'|sed 's/55 M/500 M/g'>/tmp/server.lst
cat /tmp/server.lst >>SERVER_LST.txt
grep ' name:' /tmp/server.lst|awk -F '- name:' '{print "      - "$2}'|head -2 >>NODE_LST.txt
grep ' name:' /tmp/server.lst|awk -F '- name:' '{print "      - "$2}'|head -2 >>BEST_LST.txt
fi


if [ 1 == 0 ]; then
curl -s -kL https://raw.githubusercontent.com/shuaidaoya/FreeNodes/refs/heads/main/nodes/mihomo.yaml|grep -A 300 'proxies:'|grep -B 300 'proxy-groups:'|grep -v -E '^prox'|sed 's/55 M/500 M/g'>/tmp/server.lst
cat /tmp/server.lst >>SERVER_LST.txt
grep ' name:' /tmp/server.lst|awk -F ' name:' '{print "      - "$2}'|head -2 >>NODE_LST.txt
grep ' name:' /tmp/server.lst|awk -F ' name:' '{print "      - "$2}'|head -2 >>BEST_LST.txt
fi



sed -i '/#SERVER_LST#/r SERVER_LST.txt' /www/clash.yaml.tmp
sed -i '/#NODE_LST#/r NODE_LST.txt' /www/clash.yaml.tmp
sed -i '/#BEST_LST#/r BEST_LST.txt' /www/clash.yaml.tmp
sed -i '/#SF_LST#/r SF_LST.txt' /www/clash.yaml.tmp
sed -i '/#85LA_LST#/r 85LA_LST.txt' /www/clash.yaml.tmp
sed -i '/#SERVER_LST#/d'  /www/clash.yaml.tmp
sed -i '/#NODE_LST#/d'  /www/clash.yaml.tmp
sed -i '/#BEST_LST#/d'  /www/clash.yaml.tmp
sed -i '/#SF_LST#/d'  /www/clash.yaml.tmp
sed -i '/#85LA_LST#/d'  /www/clash.yaml.tmp
rm -rf SG_LST.xt  JP_LST.txt US_LST.txt
grep '新加坡'  NODE_LST.txt >SG_LST.txt
[ `wc -l SG_LST.txt|awk '{print $1}'` == 0 ] && echo '      - 🔰 节点选择' >SG_LST.txt
sed -i '/#SG_BEST_LST#/r SG_LST.txt' /www/clash.yaml.tmp
sed -i '/#SG_BEST_LST#/d'  /www/clash.yaml.tmp

grep '日本'  NODE_LST.txt >JP_LST.txt
[ `wc -l JP_LST.txt|awk '{print $1}'` == 0 ] && echo '      - 🔰 节点选择' >JP_LST.txt
sed -i '/#JP_BEST_LST#/r JP_LST.txt' /www/clash.yaml.tmp
sed -i '/#JP_BEST_LST#/d'  /www/clash.yaml.tmp

grep '美国'  NODE_LST.txt >US_LST.txt
sed -i '/#US_BEST_LST#/r US_LST.txt' /www/clash.yaml.tmp
sed -i '/_ECH/d'  /www/clash.yaml.tmp


cp /www/clash.yaml.tmp /www/clash.yaml

cp /www/clash.yaml /www/openclash.yaml
sed -i  '/备用节点/d'  /www/openclash.yaml
sed -i  '/home1/d'  /www/openclash.yaml
sed -i 's/home0, server: 127.0.0.1/home0, server: 192.168.1.254/'  /www/openclash.yaml

sed '/proxies:/,$d' clash.yaml >clash_new.yaml
curl -s https://raw.githubusercontent.com/shuaidaoya/FreeNodes/refs/heads/main/nodes/mihomo.yaml >>clash_new.yaml
##############TV

#curl -s -kL -o IPTV.txt https://raw.githubusercontent.com/fuxinyi0505/Ku9-IPTV-source/refs/heads/main/Ku9-IPTV-source.txt
#curl -s -o Gather.m3u https://tv.iill.top/m3u/Gather
#curl -s -o mytv.txt https://tv.iill.top/m3u/MyTV
