Update menu.sh

dependabot/github_actions/actions/checkout-3.1.0
fscarmen 3 years ago committed by GitHub
parent 3a8135637b
commit ba23c03c3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 74
      menu.sh

@ -468,26 +468,26 @@ proxy_info() {
unset PROXYSOCKS5 PROXYPORT PROXYJASON PROXYIP PROXYCOUNTR PROXYASNORG ACCOUNT QUOTA AC PROXYSOCKS52 PROXYPORT2 PROXYJASON2 PROXYIP2 PROXYCOUNTR2 PROXYASNORG2 ACCOUNT2 AC2 TRACE42
if type -p warp-cli >/dev/null 2>&1; then
PROXYSOCKS5=$(ss -nltp | grep 'warp' | grep -oP '127.0*\S+')
PROXYPORT=$(echo $PROXYSOCKS5 | cut -d: -f2)
PROXYJASON=$(curl -sx socks5h://localhost:$PROXYPORT https://ip.gs/json)
PROXYIP=$(expr "$PROXYJASON" : '.*ip\":\"\([^"]*\).*')
PROXYCOUNTRY=$(expr "$PROXYJASON" : '.*country\":\"\([^"]*\).*')
[[ $L = C ]] && PROXYCOUNTRY=$(translate "$PROXYCOUNTRY")
PROXYASNORG=$(expr "$PROXYJASON" : '.*asn_org\":\"\([^"]*\).*')
ACCOUNT=$(warp-cli --accept-tos account 2>/dev/null)
[[ $ACCOUNT =~ 'Limited' ]] && AC='+' && check_quota
PROXYSOCKS5=$(ss -nltp | grep 'warp' | grep -oP '127.0*\S+')
PROXYPORT=$(echo $PROXYSOCKS5 | cut -d: -f2)
PROXYJASON=$(curl -sx socks5h://localhost:$PROXYPORT https://ip.gs/json)
PROXYIP=$(expr "$PROXYJASON" : '.*ip\":\"\([^"]*\).*')
PROXYCOUNTRY=$(expr "$PROXYJASON" : '.*country\":\"\([^"]*\).*')
[[ $L = C ]] && PROXYCOUNTRY=$(translate "$PROXYCOUNTRY")
PROXYASNORG=$(expr "$PROXYJASON" : '.*asn_org\":\"\([^"]*\).*')
ACCOUNT=$(warp-cli --accept-tos account 2>/dev/null)
[[ $ACCOUNT =~ 'Limited' ]] && AC='+' && check_quota
fi
if type -p wireproxy >/dev/null 2>&1; then
PROXYSOCKS52=$(ss -nltp | grep 'wireproxy' | grep -oP '127.0*\S+')
PROXYPORT2=$(echo $PROXYSOCKS52 | cut -d: -f2)
PROXYJASON2=$(curl -sx socks5h://localhost:$PROXYPORT2 https://ip.gs/json)
PROXYIP2=$(expr "$PROXYJASON2" : '.*ip\":\"\([^"]*\).*')
PROXYCOUNTRY2=$(expr "$PROXYJASON2" : '.*country\":\"\([^"]*\).*')
[[ $L = C ]] && PROXYCOUNTRY2=$(translate "$PROXYCOUNTRY2")
PROXYASNORG2=$(expr "$PROXYJASON2" : '.*asn_org\":\"\([^"]*\).*')
TRACE42=$(eval echo "\$(curl -sx socks5h://localhost:$(ss -nltp | grep wireproxy | grep -oP '127.0*\S+' | cut -d: -f2) https://www.cloudflare.com/cdn-cgi/trace)")
PROXYSOCKS52=$(ss -nltp | grep 'wireproxy' | grep -oP '127.0*\S+')
PROXYPORT2=$(echo $PROXYSOCKS52 | cut -d: -f2)
PROXYJASON2=$(curl -sx socks5h://localhost:$PROXYPORT2 https://ip.gs/json)
PROXYIP2=$(expr "$PROXYJASON2" : '.*ip\":\"\([^"]*\).*')
PROXYCOUNTRY2=$(expr "$PROXYJASON2" : '.*country\":\"\([^"]*\).*')
[[ $L = C ]] && PROXYCOUNTRY2=$(translate "$PROXYCOUNTRY2")
PROXYASNORG2=$(expr "$PROXYJASON2" : '.*asn_org\":\"\([^"]*\).*')
TRACE42=$(eval echo "\$(curl -sx socks5h://localhost:$(ss -nltp | grep wireproxy | grep -oP '127.0*\S+' | cut -d: -f2) https://www.cloudflare.com/cdn-cgi/trace)")
if [[ $TRACE42 =~ plus ]]; then
grep -sq 'Device name' /etc/wireguard/info.log && AC2='+' && check_quota || AC2=' Teams'
fi
@ -564,9 +564,10 @@ change_ip() {
grep -q "^#.*0\.\0\/0" /etc/wireguard/wgcf.conf && T4=0 || T4=1
grep -q "^#.*\:\:\/0" /etc/wireguard/wgcf.conf && T6=0 || T6=1
case "$T4$T6" in
01 ) NF='6';; 10 ) NF='4';;
11 ) hint "\n $(text 124) \n" && reading " $(text 50) " NETFLIX
NF='4' && [[ $NETFLIX = 2 ]] && NF='6';;
01 ) NF='6';;
10 ) NF='4';;
11 ) hint "\n $(text 124) \n" && reading " $(text 50) " NETFLIX
NF='4' && [[ $NETFLIX = 2 ]] && NF='6';;
esac
[[ -z "$EXPECT" ]] && input_region
@ -722,12 +723,13 @@ uninstall() {
uninstall_wgcf() {
wg-quick down wgcf >/dev/null 2>&1
systemctl disable --now wg-quick@wgcf >/dev/null 2>&1
rpm -e wireguard-tools 2>/dev/null
[[ $(systemctl is-active systemd-resolved 2>/dev/null) != active ]] && systemctl enable --now systemd-resolved >/dev/null 2>&1
type -p rpm >/dev/null 2>&1 && rpm -e wireguard-tools 2>/dev/null
systemctl start systemd-resolved >/dev/null 2>&1 && sleep 5
systemctl enable --now systemd-resolved >/dev/null 2>&1
rm -rf /usr/bin/wgcf /etc/wireguard /usr/bin/wireguard-go wgcf-account.toml wgcf-profile.conf /usr/bin/warp /etc/dnsmasq.d/warp.conf /usr/bin/wireproxy /etc/local.d/wgcf.start
[[ -e /etc/gai.conf ]] && sed -i '/^precedence \:\:ffff\:0\:0/d;/^label 2002\:\:\/16/d' /etc/gai.conf
[[ -e /usr/bin/tun.sh ]] && rm -f /usr/bin/tun.sh
[[ -e /etc/crontab ]] && sed -i '/tun.sh/d' /etc/crontab
[ -e /etc/gai.conf ] && sed -i '/^precedence \:\:ffff\:0\:0/d;/^label 2002\:\:\/16/d' /etc/gai.conf
[ -e /usr/bin/tun.sh ] && rm -f /usr/bin/tun.sh
[ -e /etc/crontab ] && sed -i '/tun.sh/d' /etc/crontab
sed -i "/250 warp/d" /etc/iproute2/rt_tables
}
@ -747,8 +749,8 @@ uninstall() {
uninstall_wireproxy() {
systemctl disable --now wireproxy
rm -rf /usr/bin/wgcf /etc/wireguard /usr/bin/wireguard-go wgcf-account.toml wgcf-profile.conf /usr/bin/warp /etc/dnsmasq.d/warp.conf /usr/bin/wireproxy /lib/systemd/system/wireproxy.service
[[ -e /etc/gai.conf ]] && sed -i '/^precedence \:\:ffff\:0\:0/d;/^label 2002\:\:\/16/d' /etc/gai.conf
[[ -e /usr/bin/tun.sh ]] && rm -f /usr/bin/tun.sh && sed -i '/tun.sh/d' /etc/crontab
[ -e /etc/gai.conf ] && sed -i '/^precedence \:\:ffff\:0\:0/d;/^label 2002\:\:\/16/d' /etc/gai.conf
[ -e /usr/bin/tun.sh ] && rm -f /usr/bin/tun.sh && sed -i '/tun.sh/d' /etc/crontab
}
# 如已安装 warp_unlock 项目,先行卸载
@ -758,11 +760,13 @@ uninstall() {
UNINSTALL_CHECK=("wg-quick" "warp-cli" "wireproxy")
UNINSTALL_DO=("uninstall_wgcf" "uninstall_proxy" "uninstall_wireproxy")
UNINSTALL_DEPENDENCIES=("wireguard-tools openresolv " "" " openresolv ")
UNINSTALL_NOT_ARCH=("wireguard-dkms ipset dnsmasq resolvconf " "" "wireguard-dkms resolvconf ")
UNINSTALL_NOT_ARCH=("wireguard-dkms " "" "wireguard-dkms resolvconf ")
UNINSTALL_DNSMASQ=("ipset dnsmasq resolvconf ")
UNINSTALL_RESULT=("$(text 117)" "$(text 119)" "$(text 98)")
for ((i=0; i<${#UNINSTALL_CHECK[@]}; i++)); do
type -p ${UNINSTALL_CHECK[i]} >/dev/null 2>&1 && UNINSTALL_DO_LIST[i]=1 && UNINSTALL_DEPENDENCIES_LIST+=${UNINSTALL_DEPENDENCIES[i]} &&
[[ $SYSTEM != "Arch" ]] && UNINSTALL_DEPENDENCIES_LIST+=${UNINSTALL_NOT_ARCH[i]}
type -p ${UNINSTALL_CHECK[i]} >/dev/null 2>&1 && UNINSTALL_DO_LIST[i]=1 && UNINSTALL_DEPENDENCIES_LIST+=${UNINSTALL_DEPENDENCIES[i]}
[[ $SYSTEM != "Arch" && $(dkms status 2>/dev/null) =~ "wireguard" ]] && UNINSTALL_DEPENDENCIES_LIST+=${UNINSTALL_NOT_ARCH[i]}
[ -e /etc/dnsmasq.d/warp.conf ] && UNINSTALL_DEPENDENCIES_LIST+=${UNINSTALL_DNSMASQ[i]}
done
# 列出依赖,确认是手动还是自动卸载
@ -810,12 +814,12 @@ net() {
ss -nltp | grep dnsmasq >/dev/null 2>&1 && systemctl restart dnsmasq >/dev/null 2>&1
ip4_info; ip6_info
if [[ $i = "$j" ]]; then
if [[ $LICENSETYPE = 2 ]]; then
if [[ $LICENSETYPE = 2 ]]; then
unset LICENSETYPE && i=0 && info " $(text 129) " &&
cp -f /etc/wireguard/wgcf-profile.conf /etc/wireguard/wgcf.conf
else
wg-quick down wgcf >/dev/null 2>&1
warning " $(text_eval 13) "
error " $(text_eval 13) "
fi
fi
done
@ -968,7 +972,7 @@ EOF
# 判断机器原生状态类型
LAN4=$(ip route get 192.168.193.10 2>/dev/null | grep -oP 'src \K\S+')
LAN6=$(ip route get 2606:4700:d0::a29f:c001 2>/dev/null | grep -oP 'src \K\S+')
if [[ "$LAN6" =~ ^[0-9a-z:]+$ ]]; then
if [[ "$LAN6" != "::1" && "$LAN6" =~ ^[0-9a-z:]+$ ]]; then
INET6=1 && ping6 -c2 -w10 2606:4700:d0::a29f:c001 >/dev/null 2>&1 && IPV6=1 && CDN=-6 && ip6_info
else
IPV6=0
@ -1542,7 +1546,7 @@ EOF
info " IPv4: $WAN4 $WARPSTATUS4 $COUNTRY4 $ASNORG4 "
info " IPv6: $WAN6 $WARPSTATUS6 $COUNTRY6 $ASNORG6 "
grep -sq 'Device name' /etc/wireguard/info.log 2>/dev/null && TYPE='+' || TYPE=' Teams'
[[ $TRACE4$TRACE6 =~ plus ]] && info " $(text_eval 41) " && check_quota && info " $(text_eval 133) "
[[ $TRACE4$TRACE6 =~ plus ]] && info " $(text_eval 41) " && [ $TYPE = '+' ] && check_quota && info " $(text_eval 133) "
[[ $TRACE4$TRACE6 =~ on ]] && info " $(text_eval 42) "
info " $PRIORITY "
echo -e "\n==============================================================\n"
@ -1742,7 +1746,7 @@ wireproxy_solution() {
check_quota() {
if [ "$CHECK_TYPE" = 1 ]; then
QUOTA=$(grep -oP 'Quota: \K\d+' <<< $ACCOUNT)
else
elif [ -e /etc/wireguard/wgcf-account.toml ]; then
ACCESS_TOKEN=$(grep 'access_token' /etc/wireguard/wgcf-account.toml | cut -d \' -f2)
DEVICE_ID=$(grep 'device_id' /etc/wireguard/wgcf-account.toml | cut -d \' -f2)
API=$(curl -s "https://api.cloudflareclient.com/v0a884/reg/$DEVICE_ID" -H "User-Agent: okhttp/3.12.1" -H "Authorization: Bearer $ACCESS_TOKEN")

Loading…
Cancel
Save