Update serv00keep.sh
This commit is contained in:
+80
-85
@@ -82,38 +82,6 @@ curl -sk "http://${snb}.${USERNAME}.serv00.net/up" > /dev/null 2>&1
|
||||
sleep 5
|
||||
}
|
||||
|
||||
read_ip(){
|
||||
ym=("$HOSTNAME" "cache$nb.serv00.com" "web$nb.serv00.com")
|
||||
rm -rf ip.txt
|
||||
for host in "${ym[@]}"; do
|
||||
response=$(curl -sL --connect-timeout 5 --max-time 7 "https://ss.fkj.pp.ua/api/getip?host=$host")
|
||||
if [[ "$response" =~ (unknown|not|error) ]]; then
|
||||
dig @8.8.8.8 +time=5 +short $host | sort -u >> ip.txt
|
||||
sleep 1
|
||||
else
|
||||
while IFS='|' read -r ip status; do
|
||||
if [[ $status == "Accessible" ]]; then
|
||||
echo "$ip: 可用" >> ip.txt
|
||||
else
|
||||
echo "$ip: 被墙 (Argo与CDN回源节点、proxyip依旧有效)" >> ip.txt
|
||||
fi
|
||||
done <<< "$response"
|
||||
fi
|
||||
done
|
||||
if [[ ! "$response" =~ (unknown|not|error) ]]; then
|
||||
grep ':' $WORKDIR/ip.txt | sort -u -o $WORKDIR/ip.txt
|
||||
fi
|
||||
if [[ -z "$IP" ]]; then
|
||||
IP=$(grep -m 1 "可用" ip.txt | awk -F ':' '{print $1}')
|
||||
if [ -z "$IP" ]; then
|
||||
IP=$(okip)
|
||||
if [ -z "$IP" ]; then
|
||||
IP=$(head -n 1 ip.txt | awk -F ':' '{print $1}')
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
okip(){
|
||||
IP_LIST=($(devil vhost list | awk '/^[0-9]+/ {print $1}'))
|
||||
API_URL="https://status.eooce.com/api"
|
||||
@@ -233,7 +201,86 @@ get_argodomain() {
|
||||
fi
|
||||
}
|
||||
|
||||
download_and_run_singbox() {
|
||||
|
||||
if [ ! -f serv00keep.sh ]; then
|
||||
curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta1/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh
|
||||
echo '#!/bin/bash
|
||||
red() { echo -e "\e[1;91m$1\033[0m"; }
|
||||
green() { echo -e "\e[1;32m$1\033[0m"; }
|
||||
yellow() { echo -e "\e[1;33m$1\033[0m"; }
|
||||
purple() { echo -e "\e[1;35m$1\033[0m"; }
|
||||
USERNAME=$(whoami | tr '\''[:upper:]'\'' '\''[:lower:]'\'')
|
||||
WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs"
|
||||
snb=$(hostname | awk -F '\''.'\'' '\''{print $1}'\'')
|
||||
' > webport.sh
|
||||
declare -f resallport >> webport.sh
|
||||
declare -f check_port >> webport.sh
|
||||
echo 'resallport' >> webport.sh
|
||||
chmod +x webport.sh
|
||||
green "开始安装多功能主页,请稍等……"
|
||||
devil www del ${snb}.${USERNAME}.serv00.net > /dev/null 2>&1
|
||||
devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1
|
||||
devil www add ${snb}.${USERNAME}.serv00.net nodejs /usr/local/bin/node18 > /dev/null 2>&1
|
||||
ln -fs /usr/local/bin/node18 ~/bin/node > /dev/null 2>&1
|
||||
ln -fs /usr/local/bin/npm18 ~/bin/npm > /dev/null 2>&1
|
||||
mkdir -p ~/.npm-global
|
||||
npm config set prefix '~/.npm-global'
|
||||
echo 'export PATH=~/.npm-global/bin:~/bin:$PATH' >> $HOME/.bash_profile && source $HOME/.bash_profile
|
||||
rm -rf $HOME/.npmrc > /dev/null 2>&1
|
||||
cd "$keep_path"
|
||||
npm install basic-auth express dotenv axios --silent > /dev/null 2>&1
|
||||
rm $HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs/public/index.html > /dev/null 2>&1
|
||||
devil www restart ${snb}.${USERNAME}.serv00.net
|
||||
green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net"
|
||||
fi
|
||||
|
||||
if [[ "$resport" =~ ^[Yy]$ ]]; then
|
||||
portlist=$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//')
|
||||
if [[ -z "$portlist" ]]; then
|
||||
yellow "无端口"
|
||||
else
|
||||
while read -r line; do
|
||||
port=$(echo "$line" | awk '{print $1}')
|
||||
port_type=$(echo "$line" | awk '{print $2}')
|
||||
yellow "删除端口 $port ($port_type)"
|
||||
devil port del "$port_type" "$port"
|
||||
done <<< "$portlist"
|
||||
fi
|
||||
check_port
|
||||
fi
|
||||
rm -rf $HOME/domains/${snb}.${USERNAME}.serv00.net/logs/*
|
||||
|
||||
|
||||
cd $WORKDIR
|
||||
ym=("$HOSTNAME" "cache$nb.serv00.com" "web$nb.serv00.com")
|
||||
rm -rf ip.txt
|
||||
for host in "${ym[@]}"; do
|
||||
response=$(curl -sL --connect-timeout 5 --max-time 7 "https://ss.fkj.pp.ua/api/getip?host=$host")
|
||||
if [[ "$response" =~ (unknown|not|error) ]]; then
|
||||
dig @8.8.8.8 +time=5 +short $host | sort -u >> ip.txt
|
||||
sleep 1
|
||||
else
|
||||
while IFS='|' read -r ip status; do
|
||||
if [[ $status == "Accessible" ]]; then
|
||||
echo "$ip: 可用" >> ip.txt
|
||||
else
|
||||
echo "$ip: 被墙 (Argo与CDN回源节点、proxyip依旧有效)" >> ip.txt
|
||||
fi
|
||||
done <<< "$response"
|
||||
fi
|
||||
done
|
||||
if [[ ! "$response" =~ (unknown|not|error) ]]; then
|
||||
grep ':' $WORKDIR/ip.txt | sort -u -o $WORKDIR/ip.txt
|
||||
fi
|
||||
if [[ -z "$IP" ]]; then
|
||||
IP=$(grep -m 1 "可用" ip.txt | awk -F ':' '{print $1}')
|
||||
if [ -z "$IP" ]; then
|
||||
IP=$(okip)
|
||||
if [ -z "$IP" ]; then
|
||||
IP=$(head -n 1 ip.txt | awk -F ':' '{print $1}')
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "$UUID" ]]; then
|
||||
UUID=$(uuidgen -r)
|
||||
@@ -1164,57 +1211,5 @@ EOF
|
||||
cat list.txt
|
||||
sleep 2
|
||||
rm -rf sb.log core tunnel.yml tunnel.json fake_useragent_0.2.0.json
|
||||
}
|
||||
|
||||
if [ ! -f serv00keep.sh ]; then
|
||||
curl -sSL https://raw.githubusercontent.com/yonggekkk/sing-box-yg/beta1/serv00keep.sh -o serv00keep.sh && chmod +x serv00keep.sh
|
||||
echo '#!/bin/bash
|
||||
red() { echo -e "\e[1;91m$1\033[0m"; }
|
||||
green() { echo -e "\e[1;32m$1\033[0m"; }
|
||||
yellow() { echo -e "\e[1;33m$1\033[0m"; }
|
||||
purple() { echo -e "\e[1;35m$1\033[0m"; }
|
||||
USERNAME=$(whoami | tr '\''[:upper:]'\'' '\''[:lower:]'\'')
|
||||
WORKDIR="${HOME}/domains/${USERNAME}.serv00.net/logs"
|
||||
snb=$(hostname | awk -F '\''.'\'' '\''{print $1}'\'')
|
||||
' > webport.sh
|
||||
declare -f resallport >> webport.sh
|
||||
declare -f check_port >> webport.sh
|
||||
echo 'resallport' >> webport.sh
|
||||
chmod +x webport.sh
|
||||
green "开始安装多功能主页,请稍等……"
|
||||
devil www del ${snb}.${USERNAME}.serv00.net > /dev/null 2>&1
|
||||
devil www add ${USERNAME}.serv00.net php > /dev/null 2>&1
|
||||
devil www add ${snb}.${USERNAME}.serv00.net nodejs /usr/local/bin/node18 > /dev/null 2>&1
|
||||
ln -fs /usr/local/bin/node18 ~/bin/node > /dev/null 2>&1
|
||||
ln -fs /usr/local/bin/npm18 ~/bin/npm > /dev/null 2>&1
|
||||
mkdir -p ~/.npm-global
|
||||
npm config set prefix '~/.npm-global'
|
||||
echo 'export PATH=~/.npm-global/bin:~/bin:$PATH' >> $HOME/.bash_profile && source $HOME/.bash_profile
|
||||
rm -rf $HOME/.npmrc > /dev/null 2>&1
|
||||
cd "$keep_path"
|
||||
npm install basic-auth express dotenv axios --silent > /dev/null 2>&1
|
||||
rm $HOME/domains/${snb}.${USERNAME}.serv00.net/public_nodejs/public/index.html > /dev/null 2>&1
|
||||
devil www restart ${snb}.${USERNAME}.serv00.net
|
||||
green "安装完毕,多功能主页地址:http://${snb}.${USERNAME}.serv00.net"
|
||||
fi
|
||||
|
||||
if [[ "$resport" =~ ^[Yy]$ ]]; then
|
||||
portlist=$(devil port list | grep -E '^[0-9]+[[:space:]]+[a-zA-Z]+' | sed 's/^[[:space:]]*//')
|
||||
if [[ -z "$portlist" ]]; then
|
||||
yellow "无端口"
|
||||
else
|
||||
while read -r line; do
|
||||
port=$(echo "$line" | awk '{print $1}')
|
||||
port_type=$(echo "$line" | awk '{print $2}')
|
||||
yellow "删除端口 $port ($port_type)"
|
||||
devil port del "$port_type" "$port"
|
||||
done <<< "$portlist"
|
||||
fi
|
||||
check_port
|
||||
fi
|
||||
rm -rf $HOME/domains/${snb}.${USERNAME}.serv00.net/logs/*
|
||||
|
||||
cd $WORKDIR
|
||||
read_ip
|
||||
download_and_run_singbox
|
||||
cd
|
||||
|
||||
Reference in New Issue
Block a user