@ -339,6 +339,8 @@ T[E164]="Disconnect the WirePorxy"
T[ C164] = "断开 WirePorxy"
T[ E165] = "WireProxy Solution. A wireguard client that exposes itself as a socks5 proxy or tunnels. Adapted from the mature works of [octeep],[https://github.com/octeep/wireproxy]"
T[ C165] = "WireProxy,让 WARP 在本地建议一个 socks5 代理。改编自 [octeep] 的成熟作品,地址[https://github.com/octeep/wireproxy],请熟知"
T[ E166] = "WireProxy was installed. You can connect/disconnect by [warp y]"
T[ C166] = "WireProxy 已安装,连接/断开 WireProxy 可以用 warp y"
# 自定义字体彩色,read 函数,友道翻译函数
red( ) { echo -e " \033[31m\033[01m $1 \033[0m " ; }
@ -1119,12 +1121,18 @@ EOF
# WGCF 或 WireProxy 安装
install( ) {
# WireProxy 禁止重复安装,自定义 Port
if [ [ $OCTEEP = 1 ] ] ; then
ss -nltp | grep -q wireproxy && red " ${ T [ ${ L } 166 ] } " && exit 1 || input_port
# iptables 方案不适用于 IPv6 only VPS
elif [ [ $ANEMONE = 1 ] ] ; then
[ [ $m = 0 ] ] && red " ${ T [ ${ L } 147 ] } " && exit 1 || CONF = ${ CONF1 [m] }
fi
# 先删除之前安装,可能导致失败的文件
rm -rf /usr/bin/wgcf /usr/bin/wireguard-go wgcf-account.toml wgcf-profile.conf
# 如安装 WireProxy 方案,自定义 Port
[ [ $OCTEEP = 1 ] ] && input_port
# 询问是否有 WARP+ 或 Teams 账户
[ [ -z $LICENSETYPE ] ] && yellow " ${ T [ ${ L } 132 ] } " && reading " ${ T [ ${ L } 50 ] } " LICENSETYPE
case $LICENSETYPE in
@ -1447,7 +1455,9 @@ proxy(){
sleep 2 && [ [ ! $( ss -nltp) = ~ 'warp-svc' ] ] && red " ${ T [ ${ L } 87 ] } " && exit 1 || green " $( eval echo " ${ T [ ${ L } 86 ] } " ) "
}
[ [ $ARCHITECTURE = arm64 ] ] && red " ${ T [ ${ L } 101 ] } " && exit 1
# 禁止安装的情况。重复安装,非 AMD64 CPU 架构,IPv4 是 WARP
[ [ $CLIENT -ge 2 ] ] && red " ${ T [ ${ L } 92 ] } " && exit 1
[ [ $ARCHITECTURE != amd64 ] ] && red " ${ T [ ${ L } 101 ] } " && exit 1
[ [ $TRACE4 != off ] ] && red " ${ T [ ${ L } 95 ] } " && exit 1
# 安装 WARP Linux Client
@ -1509,8 +1519,10 @@ proxy(){
yellow " ${ T [ ${ L } 43 ] } \n " && help
}
# iptables+dnsmasq+ipset 方案
stream( ) {
# iptables+dnsmasq+ipset 方案,IPv6 only 不适用
stream_solution( ) {
[ [ $m = 0 ] ] && red " ${ T [ ${ L } 147 ] } " && exit 1
red "\n=============================================================="
yellow " ${ T [ ${ L } 139 ] } \n "
green " 1. ${ T [ ${ L } 48 ] } "
@ -1520,12 +1532,14 @@ stream(){
case " $IPTABLES " in
1 ) CONF = ${ CONF1 [m] } ; ANEMONE = 1; install; ;
2 ) [ [ $OPTION != e ] ] && menu || exit; ;
* ) red " ${ T [ ${ L } 51 ] } [1-2] " ; sleep 1; stream; ;
* ) red " ${ T [ ${ L } 51 ] } [1-2] " ; sleep 1; stream_solution ; ;
esac
}
# wireproxy 方案
wireproxy_solution( ) {
ss -nltp | grep -q wireproxy && red " ${ T [ ${ L } 166 ] } " && exit 1
red "\n=============================================================="
yellow " ${ T [ ${ L } 165 ] } \n "
green " 1. ${ T [ ${ L } 48 ] } "
@ -1667,7 +1681,7 @@ menu_setting(){
ACTION5( ) { proxy; } ; ACTION6( ) { change_ip; } ; ACTION7( ) { uninstall; } ; ACTION8( ) { plus; } ; ACTION9( ) { bbrInstall; } ; ACTION10( ) { ver; } ;
ACTION11( ) { bash <( curl -sSL https://raw.githubusercontent.com/fscarmen/warp_unlock/main/unlock.sh) -$L ; } ;
ACTION12( ) { [ [ $m = 0 ] ] && red " ${ T [ ${ L } 147 ] } " && exit 1; CONF = ${ CONF1 [m] } ; ANEMONE = 1 ; install; } ;
ACTION12( ) { ANEMONE = 1 ; install; } ;
ACTION13( ) { OCTEEP = 1; install; } ;
ACTION0( ) { exit; }
}
@ -1765,9 +1779,9 @@ case "$OPTION" in
esac
install
fi ; ;
c ) [ [ $CLIENT -ge 2 ] ] && red " ${ T [ ${ L } 92 ] } " && exit 1 || proxy; ;
c ) proxy; ;
a ) update; ;
e ) [ [ $m = 0 ] ] && red " ${ T [ ${ L } 147 ] } " && exit 1 || stream; ;
e ) stream_solution ; ;
w ) wireproxy_solution; ;
* ) menu; ;
esac