@ -13,38 +13,38 @@ _magenta() { echo -e ${magenta}$*${none}; }
_cyan( ) { echo -e ${ cyan } $* ${ none } ; }
# Root
[ [ $( id -u) != 0 ] ] && echo -e " \n 哎呀……请使用 ${ red } root ${ none } 用户运行 ${ yellow } ~(^_^) ${ none } \n " && exit 1
[ [ $( id -u) != 0 ] ] && echo -e " \n opa... por favor use ${ red } root ${ none } execução do usuário ${ yellow } ~(^_^) ${ none } \n " && exit 1
cmd = "apt-get"
sys_bit = $( uname -m)
case $sys_bit in
# i[36]86 )
# v2ray_bit= "32"
# caddy_arch= "386"
# ; ;
i[ 36] 86 )
v2ray_bit = "32"
caddy_arch = "386"
; ;
'amd64' | x86_64)
v2ray_bit = "64"
caddy_arch = "amd64"
; ;
# *armv6* )
# v2ray_bit= "arm32-v6"
# caddy_arch= "arm6"
# ; ;
# *armv7* )
# v2ray_bit= "arm32-v7a"
# caddy_arch= "arm7"
# ; ;
*armv6* )
v2ray_bit = "arm32-v6"
caddy_arch = "arm6"
; ;
*armv7* )
v2ray_bit = "arm32-v7a"
caddy_arch = "arm7"
; ;
*aarch64* | *armv8*)
v2ray_bit = "arm64-v8a"
caddy_arch = "arm64"
; ;
*)
echo -e "
哈哈……这个 ${ red } 辣鸡脚本${ none } 不支持你的系统。 ${ yellow } ( -_-) ${ none }
Haha... este ${ red } script${ none } não suporta o seu sistema. ${ yellow } ( -_-) ${ none }
备注: 仅支持 Ubuntu 16+ / Debian 8+ / CentOS 7+ 系统
Nota: Suporta apenas sistemas Ubuntu 16+ / Debian 8+ / CentOS 7+
" && exit 1
; ;
esac
@ -61,9 +61,9 @@ if [[ $(command -v apt-get) || $(command -v yum) ]] && [[ $(command -v systemctl
else
echo -e "
哈哈……这个 ${ red } 辣鸡脚本${ none } 不支持你的系统。 ${ yellow } ( -_-) ${ none }
Haha... este ${ red } script${ none } não suporta o seu sistema. ${ yellow } ( -_-) ${ none }
备注: 仅支持 Ubuntu 16+ / Debian 8+ / CentOS 7+ 系统
Nota: Suporta apenas sistemas Ubuntu 16+ / Debian 8+ / CentOS 7+
" && exit 1
fi
@ -132,19 +132,19 @@ _sys_timezone() {
echo
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp true
echo "已将你的主机设置为Asia/Shanghai时区并通过systemd-timesyncd自动同步时间。 "
echo "Seu host foi definido para o fuso horário da Ásia/Xangai e sincronizado automaticamente com o systemd-timesyncd. "
echo
if [ [ $IS_OPENVZ ] ] ; then
echo
echo -e " 你的主机环境为 ${ yellow } Openvz ${ none } ,建议使用 ${ yellow } v2ray mkcp ${ none } 系列协议。 "
echo -e " 注意: ${ yellow } Openvz ${ none } 系统时间无法由虚拟机内程序控制同步。 "
echo -e " 如果主机时间跟实际相差 ${ yellow } 超过90秒 ${ none } ,v2ray将无法正常通信,请发ticket联系vps主机商调整。 "
echo -e " Seu ambiente de host é ${ yellow } Openvz ${ none } , é recomendável usar a série de protocolos ${ yellow } v2ray mkcp ${ none } . "
echo -e " Observação: a hora do sistema ${ yellow } Openvz ${ none } não pode ser sincronizada pelo controle do programa in-vm. "
echo -e " Se a hora do host diferir do host real em ${ yellow } por mais de 90 segundos ${ none } , v2ray não poderá se comunicar normalmente. Por favor, envie um ticket para entrar em contato com o host vps para ajuste. "
fi
}
_sys_time( ) {
echo -e " \n主机时间: ${ yellow } "
echo -e " \n hora do host: ${ yellow } "
timedatectl status | sed -n '1p;4p'
echo -e " ${ none } "
[ [ $IS_OPENV ] ] && pause
@ -153,7 +153,7 @@ v2ray_config() {
# clear
echo
while :; do
echo -e "请选择 " $yellow "V2Ray" $none " 传输协议 [${ magenta } 1- ${# transport [*] } $none ] "
echo -e "Por favor, selecione o protocolo de transporte " $yellow "V2Ray" $none " [ ${ magenta } 1- ${# transport [*] } $none ] "
echo
for ( ( i = 1; i <= ${# transport [*] } ; i++) ) ; do
Stream = " ${ transport [ $i - 1] } "
@ -166,16 +166,16 @@ v2ray_config() {
fi
done
echo
echo "备注1: 含有 [dynamicPort] 的即启用动态端口 .."
echo "备注2: [utp | srtp | wechat-video | dtls | wireguard] 分别伪装成 [BT下载 | 视频通话 | 微信视频通话 | DTLS 1.2 数据包 | WireGuard 数据包 ]"
echo "Nota 1: uma porta dinâmica é habilitada com [dynamicPort] .."
echo "Nota 2: [utp | srtp | wechat-video | dtls | wireguard] respectivamente disfarçados como [BT download | videochamada | WeChat videochamada | DTLS 1.2 packet | WireGuard packet ]"
echo
read -p " $( echo -e " (默认协议 : ${ cyan } TCP $none ) " ) : " v2ray_transport
read -p " $( echo -e " (Protocolo padrão : ${ cyan } TCP $none ) " ) : " v2ray_transport
[ -z " $v2ray_transport " ] && v2ray_transport = 1
case $v2ray_transport in
[ 1-9] | [ 1-2] [ 0-9] | 3[ 0-3] )
echo
echo
echo -e " $yellow V2Ray 传输协议 = $cyan ${ transport [ $v2ray_transport - 1] } $none "
echo -e " $yellow Protocolo de transporte V2Ray = $cyan ${ transport [ $v2ray_transport - 1] } $none "
echo "----------------------------------------------------------------"
echo
break
@ -195,14 +195,14 @@ v2ray_port_config() {
*)
local random = $( shuf -i20001-65535 -n1)
while :; do
echo -e "请输入 " $yellow "V2Ray" $none " 端口 [" $magenta "1-65535" $none "]"
read -p " $( echo -e " (默认端口 : ${ cyan } ${ random } $none ): " ) " v2ray_port
echo -e "Por favor, insira " $yellow "V2Ray" $none " porta [" $magenta "1-65535" $none "]"
read -p " $( echo -e " (porta padrão : ${ cyan } ${ random } $none ): " ) " v2ray_port
[ -z " $v2ray_port " ] && v2ray_port = $random
case $v2ray_port in
[ 1-9] | [ 1-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] [ 0-9] | [ 1-5] [ 0-9] [ 0-9] [ 0-9] [ 0-9] | 6[ 0-4] [ 0-9] [ 0-9] [ 0-9] | 65[ 0-4] [ 0-9] [ 0-9] | 655[ 0-3] [ 0-5] )
echo
echo
echo -e " $yellow V2Ray 端口 = $cyan $v2ray_port $none "
echo -e " $yellow Porta V2Ray = $cyan $v2ray_port $none "
echo "----------------------------------------------------------------"
echo
break
@ -222,21 +222,21 @@ v2ray_port_config() {
v2ray_dynamic_port_start( ) {
while :; do
echo -e "请输入 " $yellow "V2Ray 动态端口开始 " $none "范围 [" $magenta "1-65535" $none "]"
read -p " $( echo -e " (默认开始端口 : ${ cyan } 10000 $none ): " ) " v2ray_dynamic_port_start_input
echo -e "Por favor, digite " $yellow " V2Ray dynamic port start " $none " range [" $magenta "1-65535" $none "]"
read -p " $( echo -e " (Porta inicial padrão : ${ cyan } 10000 $none ): " ) " v2ray_dynamic_port_start_input
[ -z $v2ray_dynamic_port_start_input ] && v2ray_dynamic_port_start_input = 10000
case $v2ray_dynamic_port_start_input in
$v2ray_port )
echo
echo " 不能和 V2Ray 端口一毛一样 ...."
echo " Não pode ser o mesmo que a porta V2Ray ...."
echo
echo -e " 当前 V2Ray 端口 : ${ cyan } $v2ray_port ${ none } "
echo -e " Porta V2Ray atual : ${ cyan } $v2ray_port ${ none } "
error
; ;
[ 1-9] | [ 1-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] [ 0-9] | [ 1-5] [ 0-9] [ 0-9] [ 0-9] [ 0-9] | 6[ 0-4] [ 0-9] [ 0-9] [ 0-9] | 65[ 0-4] [ 0-9] [ 0-9] | 655[ 0-3] [ 0-5] )
echo
echo
echo -e " $yellow V2Ray 动态端口开始 = $cyan $v2ray_dynamic_port_start_input $none "
echo -e " $yellow A porta dinâmica V2Ray é iniciada = $cyan $v2ray_dynamic_port_start_input $none "
echo "----------------------------------------------------------------"
echo
break
@ -257,28 +257,28 @@ v2ray_dynamic_port_start() {
v2ray_dynamic_port_end( ) {
while :; do
echo -e "请输入 " $yellow "V2Ray 动态端口结束 " $none "范围 [" $magenta "1-65535" $none "]"
read -p " $( echo -e " (默认结束端口 : ${ cyan } 20000 $none ): " ) " v2ray_dynamic_port_end_input
echo -e "Por favor, insira " $yellow " V2Ray final da porta dinâmica " $none " intervalo [" $magenta "1-65535" $none "]"
read -p " $( echo -e " (Porta final padrão : ${ cyan } 20000 $none ): " ) " v2ray_dynamic_port_end_input
[ -z $v2ray_dynamic_port_end_input ] && v2ray_dynamic_port_end_input = 20000
case $v2ray_dynamic_port_end_input in
[ 1-9] | [ 1-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] [ 0-9] | [ 1-5] [ 0-9] [ 0-9] [ 0-9] [ 0-9] | 6[ 0-4] [ 0-9] [ 0-9] [ 0-9] | 65[ 0-4] [ 0-9] [ 0-9] | 655[ 0-3] [ 0-5] )
if [ [ $v2ray_dynamic_port_end_input -le $v2ray_dynamic_port_start_input ] ] ; then
echo
echo " 不能小于或等于 V2Ray 动态端口开始范围 "
echo "Não pode ser menor ou igual ao intervalo de início da porta dinâmica V2Ray "
echo
echo -e " 当前 V2Ray 动态端口开始: ${ cyan } $v2ray_dynamic_port_start_input ${ none } "
echo -e " A porta dinâmica atual do V2Ray inicia: ${ cyan } $v2ray_dynamic_port_start_input ${ none } "
error
elif [ $lt_v2ray_port ] && [ [ ${ v2ray_dynamic_port_end_input } -ge $v2ray_port ] ] ; then
echo
echo " V2Ray 动态端口结束范围 不能包括 V2Ray 端口 ..."
echo " O intervalo de extremidade da porta dinâmica V2Ray não pode incluir portas V2Ray ..."
echo
echo -e " 当前 V2Ray 端口: ${ cyan } $v2ray_port ${ none } "
echo -e " Porta V2Ray atual: ${ cyan } $v2ray_port ${ none } "
error
else
echo
echo
echo -e " $yellow V2Ray 动态端口结束 = $cyan $v2ray_dynamic_port_end_input $none "
echo -e " $yellow A porta dinâmica V2Ray termina = $cyan $v2ray_dynamic_port_end_input $none "
echo "----------------------------------------------------------------"
echo
break
@ -298,24 +298,24 @@ tls_config() {
echo
local random = $( shuf -i20001-65535 -n1)
while :; do
echo -e "请输入 " $yellow "V2Ray" $none " 端口 [" $magenta "1-65535" $none "],不能选择 " $magenta "80" $none " 或 " $magenta "443" $none " 端口 "
read -p " $( echo -e " (默认端口 : ${ cyan } ${ random } $none ): " ) " v2ray_port
echo -e "Por favor, insira a porta " $yellow "V2Ray" $none " [" $magenta "1-65535" $none "], não é possível selecionar a porta " $magenta "80" $none " ou " $magenta "443" $none ""
read -p " $( echo -e " (porta padrão : ${ cyan } ${ random } $none ): " ) " v2ray_port
[ -z " $v2ray_port " ] && v2ray_port = $random
case $v2ray_port in
80)
echo
echo " ...都说了不能选择 80 端口了咯.. ..."
echo " ... eles disseram que você não pode escolher a porta 80 ..."
error
; ;
443)
echo
echo " ..都说了不能选择 443 端口了咯.. ..."
echo ".. eles disseram que você não pode mais escolher a porta 443 ..."
error
; ;
[ 1-9] | [ 1-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] [ 0-9] | [ 1-5] [ 0-9] [ 0-9] [ 0-9] [ 0-9] | 6[ 0-4] [ 0-9] [ 0-9] [ 0-9] | 65[ 0-4] [ 0-9] [ 0-9] | 655[ 0-3] [ 0-5] )
echo
echo
echo -e " $yellow V2Ray 端口 = $cyan $v2ray_port $none "
echo -e " $yellow Porta V2Ray = $cyan $v2ray_port $none "
echo "----------------------------------------------------------------"
echo
break
@ -328,29 +328,29 @@ tls_config() {
while :; do
echo
echo -e " 请输入一个 ${ magenta } 正确的域名 ${ none } ,一定一定一定要正确,不!能!出!错! "
read -p "(例如: 233blog.com): " domain
echo -e " Por favor, digite um nome de domínio ${ magenta } correto ${ none } , deve estar correto, não! Sim! Errado! Errado! "
read -p "(Por exemplo: 233blog.com): " domain
[ -z " $domain " ] && error && continue
echo
echo
echo -e " $yellow 你的域名 = $cyan $domain $none "
echo -e " $yellow seu nome de domínio = $cyan $domain $none "
echo "----------------------------------------------------------------"
break
done
get_ip
echo
echo
echo -e " $yellow 请将 $magenta $domain $none $yellow 解析到 : $cyan $ip $none "
echo -e " $yellow por favor $magenta $domain $none $yellow resolver : $cyan $ip $none "
echo
echo -e " $yellow 请将 $magenta $domain $none $yellow 解析到 : $cyan $ip $none "
echo -e " $yellow por favor $magenta $domain $none $yellow resolver : $cyan $ip $none "
echo
echo -e " $yellow 请将 $magenta $domain $none $yellow 解析到 : $cyan $ip $none "
echo -e " $yellow por favor $magenta $domain $none $yellow resolver : $cyan $ip $none "
echo "----------------------------------------------------------------"
echo
while :; do
read -p " $( echo -e " (是否已经正确解析 : [ ${ magenta } Y $none ]): " ) " record
read -p " $( echo -e " (Está analisado corretamente : [ ${ magenta } Y $none ]): " ) " record
if [ [ -z " $record " ] ] ; then
error
else
@ -358,7 +358,7 @@ tls_config() {
domain_check
echo
echo
echo -e " $yellow 域名解析 = ${ cyan } 我确定已经有解析了 $none "
echo -e " $yellow DNS = ${ cyan } Tenho certeza que já foi analisado $none "
echo "----------------------------------------------------------------"
echo
break
@ -373,7 +373,7 @@ tls_config() {
auto_tls_config
else
caddy = true
install_caddy_info = "打开 "
install_caddy_info = "ativado "
fi
if [ [ $caddy ] ] ; then
@ -383,37 +383,37 @@ tls_config() {
auto_tls_config( ) {
echo -e "
安装 Caddy 来实现 自动配置 TLS
Instale o Caddy para configurar automaticamente o TLS
如果你已经安装 Nginx 或 Caddy
Se você tiver o Nginx ou o Caddy instalado
$yellow并且 ..自己能搞定配置 TLS $none
$yellow e.. você mesmo pode configurar o TLS $none
那么就不需要 打开自动配置 TLS
então não há necessidade de ativar o TLS de configuração automática
"
echo "----------------------------------------------------------------"
echo
while :; do
read -p " $( echo -e " (是否自动配置 TLS: [ ${ magenta } Y/N $none ]): " ) " auto_install_caddy
read -p " $( echo -e " (Se configurar automaticamente TLS: [ ${ magenta } Y/N $none ]): " ) " auto_install_caddy
if [ [ -z " $auto_install_caddy " ] ] ; then
error
else
if [ [ " $auto_install_caddy " = = [ Yy] ] ] ; then
caddy = true
install_caddy_info = "打开 "
install_caddy_info = "ativado "
echo
echo
echo -e " $yellow 自动配置 TLS = $cyan $install_caddy_info $none "
echo -e " $yellow Configuração TLS automática = $cyan $install_caddy_info $none "
echo "----------------------------------------------------------------"
echo
break
elif [ [ " $auto_install_caddy " = = [ Nn] ] ] ; then
install_caddy_info = "关闭 "
install_caddy_info = "desativado "
echo
echo
echo -e " $yellow 自动配置 TLS = $cyan $install_caddy_info $none "
echo -e " $yellow Configurar TLS automaticamente = $cyan $install_caddy_info $none "
echo "----------------------------------------------------------------"
echo
break
@ -427,8 +427,8 @@ auto_tls_config() {
path_config_ask( ) {
echo
while :; do
echo -e " 是否开启 网站伪装 和 路径分流 [${ magenta } Y/N $none ] "
read -p " $( echo -e " (默认 : [ ${ cyan } N $none ]): " ) " path_ask
echo -e " Se habilitar o mascaramento do site e o desvio de caminho [${ magenta } Y/N $none ] "
read -p " $( echo -e " (padrão : [ ${ cyan } N $none ]): " ) " path_ask
[ [ -z $path_ask ] ] && path_ask = "n"
case $path_ask in
@ -439,7 +439,7 @@ path_config_ask() {
N | n)
echo
echo
echo -e " $yellow 网站伪装 和 路径分流 = $cyan 不想配置 $none "
echo -e " $yellow Mascaramento de site e divisão de caminho = $cyan não deseja configurar $none "
echo "----------------------------------------------------------------"
echo
break
@ -453,21 +453,21 @@ path_config_ask() {
path_config( ) {
echo
while :; do
echo -e " 请输入想要 ${ magenta } 用来分流的路径 $none , 例如 /233blog , 那么只需要输入 233blog 即可 "
read -p " $( echo -e " (默认 : [ ${ cyan } 233blog $none ]): " ) " path
echo -e " Por favor, digite o caminho que você deseja que ${ magenta } use para desviar $none , como /233blog, então apenas digite 233blog. "
read -p " $( echo -e " (padrão : [ ${ cyan } 233blog $none ]): " ) " path
[ [ -z $path ] ] && path = "233blog"
case $path in
*[ /$] *)
echo
echo -e " 由于这个脚本太辣鸡了..所以分流的路径不能包含 $red / $none或 $red $ $none这两个符号 .... "
echo -e " Porque este script é muito picante.. então o caminho do desvio não pode conter os dois símbolos $red / $none ou $red $ $none ...."
echo
error
; ;
*)
echo
echo
echo -e " $yellow 分流的路径 = ${ cyan } / ${ path } $none "
echo -e " $yellow caminho de desvio = ${ cyan } / ${ path } $none "
echo "----------------------------------------------------------------"
echo
break
@ -480,25 +480,25 @@ path_config() {
proxy_site_config( ) {
echo
while :; do
echo -e " 请输入 ${ magenta } 一个正确的 $none ${ cyan } 网址 $none 用来作为 ${ cyan } 网站的伪装 $none , 例如 https://liyafly.com"
echo -e " 举例...你当前的域名是 $green $domain $none , 伪装的网址的是 https://liyafly.com "
echo -e "然后打开你的域名时候...显示出来的内容就是来自 https://liyafly.com 的内容 "
echo -e "其实就是一个反代...明白就好 ..."
echo -e "如果不能伪装成功...可以使用 v2ray config 修改伪装的网址 "
read -p " $( echo -e " (默认 : [ ${ cyan } https://liyafly.com $none ]): " ) " proxy_site
echo -e " Por favor, insira ${ magenta } um $none ${ cyan } URL $none válido para usar como $none para sites ${ cyan } , por exemplo https://liyafly.com"
echo -e " Exemplo... seu nome de domínio atual é $green $domain $none , o URL falso é https://liyafly.com "
echo -e "Então, quando você abre seu domínio... o conteúdo exibido é o conteúdo de https://liyafly.com "
echo -e "Na verdade, é uma anti-geração... apenas entenda ..."
echo -e "Se você não conseguir disfarçar com sucesso... você pode usar a configuração v2ray para modificar o URL disfarçado "
read -p " $( echo -e " (padrão : [ ${ cyan } https://liyafly.com $none ]): " ) " proxy_site
[ [ -z $proxy_site ] ] && proxy_site = "https://liyafly.com"
case $proxy_site in
*[ #$]*)
echo
echo -e " 由于这个脚本太辣鸡了..所以伪装的网址不能包含 $red # $none或 $red $ $none这两个符号 .... "
echo -e " Como esse script é muito picante, o URL falso não pode conter os símbolos $red # $none ou $red $ $none . … "
echo
error
; ;
*)
echo
echo
echo -e " $yellow 伪装的网址 = ${ cyan } ${ proxy_site } $none "
echo -e " $yellow URL falso = ${ cyan } ${ proxy_site } $none "
echo "----------------------------------------------------------------"
echo
break
@ -510,26 +510,26 @@ proxy_site_config() {
blocked_hosts( ) {
echo
while :; do
echo -e " 是否开启广告拦截(会影响性能 ) [${ magenta } Y/N $none ] "
read -p " $( echo -e " (默认 [ ${ cyan } N $none ]): " ) " blocked_ad
echo -e " Se habilitar o bloqueio de anúncios (afetará o desempenho ) [${ magenta } Y/N $none ] "
read -p " $( echo -e " (padrão [ ${ cyan } N $none ]): " ) " blocked_ad
[ [ -z $blocked_ad ] ] && blocked_ad = "n"
case $blocked_ad in
Y | y)
blocked_ad_info = "开启 "
blocked_ad_info = "ativado "
ban_ad = true
echo
echo
echo -e " $yellow 广告拦截 = $cyan开启 $none "
echo -e " bloqueador de anúncios $yellow = $cyan em $none "
echo "----------------------------------------------------------------"
echo
break
; ;
N | n)
blocked_ad_info = "关闭 "
blocked_ad_info = "desativado "
echo
echo
echo -e " $yellow 广告拦截 = $cyan 关闭 $none "
echo -e " $yellow adblock = $cyan off $none "
echo "----------------------------------------------------------------"
echo
break
@ -545,8 +545,8 @@ shadowsocks_config() {
echo
while :; do
echo -e " 是否配置 ${ yellow } Shadowsocks ${ none } [ ${ magenta } Y/N $none ] "
read -p " $( echo -e " (默认 [ ${ cyan } N $none ]): " ) " install_shadowsocks
echo -e " Quer configurar ${ yellow } Shadowsocks ${ none } [ ${ magenta } Y/N $none ] "
read -p " $( echo -e " (padrão [ ${ cyan } N $none ]): " ) " install_shadowsocks
[ [ -z " $install_shadowsocks " ] ] && install_shadowsocks = "n"
if [ [ " $install_shadowsocks " = = [ Yy] ] ] ; then
echo
@ -566,13 +566,13 @@ shadowsocks_config() {
shadowsocks_port_config( ) {
local random = $( shuf -i20001-65535 -n1)
while :; do
echo -e "请输入 " $yellow "Shadowsocks" $none " 端口 [" $magenta "1-65535" $none "],不能和 " $yellow "V2Ray" $none " 端口相同 "
read -p " $( echo -e " (默认端口 : ${ cyan } ${ random } $none ): " ) " ssport
echo -e "Por favor, insira a porta " $yellow "Shadowsocks" $none " [" $magenta "1-65535" $none "], não pode ser a mesma que a porta " $yellow "V2Ray" $none ""
read -p " $( echo -e " (porta padrão : ${ cyan } ${ random } $none ): " ) " ssport
[ -z " $ssport " ] && ssport = $random
case $ssport in
$v2ray_port )
echo
echo " 不能和 V2Ray 端口一毛一样 ...."
echo " Não pode ser o mesmo que a porta V2Ray ...."
error
; ;
[ 1-9] | [ 1-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] | [ 1-9] [ 0-9] [ 0-9] [ 0-9] | [ 1-5] [ 0-9] [ 0-9] [ 0-9] [ 0-9] | 6[ 0-4] [ 0-9] [ 0-9] [ 0-9] | 65[ 0-4] [ 0-9] [ 0-9] | 655[ 0-3] [ 0-5] )
@ -581,24 +581,24 @@ shadowsocks_port_config() {
fi
if [ [ $tls && $ssport = = "80" ] ] || [ [ $tls && $ssport = = "443" ] ] ; then
echo
echo -e "由于你已选择了 " $green " WebSocket + TLS $none或 $green HTTP/2 " $none " 传输协议 ."
echo -e "Porque você selecionou o transporte " $green " WebSocket + TLS $none ou $green HTTP/2 " $none "."
echo
echo -e "所以不能选择 " $magenta "80" $none " 或 " $magenta "443" $none " 端口 "
echo -e "Assim, as portas " $magenta "80" $none " ou " $magenta "443" $none " não podem ser selecionadas "
error
elif [ [ $v2ray_dynamic_port_start_input = = $ssport || $v2ray_dynamic_port_end_input = = $ssport ] ] ; then
local multi_port = " ${ v2ray_dynamic_port_start_input } - ${ v2ray_dynamic_port_end_input } "
echo
echo " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为 : $multi_port "
echo " Desculpe, esta porta está em conflito com a porta dinâmica V2Ray, o intervalo de porta dinâmica V2Ray atual é : $multi_port "
error
elif [ [ $v2ray_dynamic_port_start_input -lt $ssport && $ssport -le $v2ray_dynamic_port_end_input ] ] ; then
local multi_port = " ${ v2ray_dynamic_port_start_input } - ${ v2ray_dynamic_port_end_input } "
echo
echo " 抱歉,此端口和 V2Ray 动态端口 冲突,当前 V2Ray 动态端口范围为 : $multi_port "
echo " Desculpe, esta porta está em conflito com a porta dinâmica V2Ray, o intervalo de porta dinâmica V2Ray atual é : $multi_port "
error
else
echo
echo
echo -e " $yellow Shadowsocks 端口 = $cyan $ssport $none "
echo -e " $yellow Porta Shadowsocks = $cyan $ssport $none "
echo "----------------------------------------------------------------"
echo
break
@ -616,20 +616,20 @@ shadowsocks_port_config() {
shadowsocks_password_config( ) {
while :; do
echo -e "请输入 " $yellow "Shadowsocks" $none " 密码 "
read -p " $( echo -e " (默认密码 : ${ cyan } 233blog.com $none ) " ) : " sspass
echo -e "Por favor, digite " $yellow "Shadowsocks" $none "password "
read -p " $( echo -e " (senha padrão : ${ cyan } 233blog.com $none ) " ) : " sspass
[ -z " $sspass " ] && sspass = "233blog.com"
case $sspass in
*[ /$] *)
echo
echo -e " 由于这个脚本太辣鸡了..所以密码不能包含 $red / $none或 $red $ $none这两个符号 .... "
echo -e " Como este script é muito picante, a senha não pode conter os dois símbolos $red / $none ou $red $ $none . ... "
echo
error
; ;
*)
echo
echo
echo -e " $yellow Shadowsocks 密码 = $cyan $sspass $none "
echo -e " $yellow Senha do S hadowsocks = $cyan $sspass $none "
echo "----------------------------------------------------------------"
echo
break
@ -643,21 +643,21 @@ shadowsocks_password_config() {
shadowsocks_ciphers_config( ) {
while :; do
echo -e "请选择 " $yellow "Shadowsocks" $none " 加密协议 [${ magenta } 1- ${# ciphers [*] } $none ] "
echo -e "Por favor, selecione o protocolo de criptografia " $yellow "Shadowsocks" $none " [ ${ magenta } 1- ${# ciphers [*] } $none ] "
for ( ( i = 1; i <= ${# ciphers [*] } ; i++) ) ; do
ciphers_show = " ${ ciphers [ $i - 1] } "
echo
echo -e " $yellow $i . $none ${ ciphers_show } "
done
echo
read -p " $( echo -e " (默认加密协议 : ${ cyan } ${ ciphers [1] } $none ) " ) : " ssciphers_opt
read -p " $( echo -e " (Protocolo de criptografia padrão : ${ cyan } ${ ciphers [1] } $none ) " ) : " ssciphers_opt
[ -z " $ssciphers_opt " ] && ssciphers_opt = 2
case $ssciphers_opt in
[ 1-3] )
ssciphers = ${ ciphers [ $ssciphers_opt - 1] }
echo
echo
echo -e " $yellow Shadowsocks 加密协议 = $cyan ${ ssciphers } $none "
echo -e " $yellow Protocolo de criptografia Shadowsocks = $cyan ${ ssciphers } $none "
echo "----------------------------------------------------------------"
echo
break
@ -674,62 +674,62 @@ shadowsocks_ciphers_config() {
install_info( ) {
clear
echo
echo " ....准备安装了咯..看看有毛有配置正确了 ..."
echo " ....Pronto para instalar..Veja se a configuração está correta ..."
echo
echo "---------- 安装信息 -------------"
echo "---------- Informações de instalação -------------"
echo
echo -e " $yellow V2Ray 传输协议 = $cyan ${ transport [ $v2ray_transport - 1] } $none "
echo -e " $yellow Protocolo de transporte V2Ray = $cyan ${ transport [ $v2ray_transport - 1] } $none "
if [ [ $v2ray_transport = = [ 45] || $v2ray_transport = = 33 ] ] ; then
echo
echo -e " $yellow V2Ray 端口 = $cyan $v2ray_port $none "
echo -e " $yellow Porta V2Ray = $cyan $v2ray_port $none "
echo
echo -e " $yellow 你的域名 = $cyan $domain $none "
echo -e " $yellow seu nome de domínio = $cyan $domain $none "
echo
echo -e " $yellow 域名解析 = ${ cyan } 我确定已经有解析了 $none "
echo -e " $yellow DNS = ${ cyan } !!!analisado!!! $none "
echo
echo -e " $yellow 自动配置 TLS = $cyan $install_caddy_info $none "
echo -e " $yellow Configurar TLS automaticamente = $cyan $install_caddy_info $none "
if [ [ $ban_ad ] ] ; then
echo
echo -e " $yellow 广告拦截 = $cyan $blocked_ad_info $none "
echo -e " $yellow bloqueio de anúncios = $cyan $blocked_ad_info $none "
fi
if [ [ $is_path ] ] ; then
echo
echo -e " $yellow 路径分流 = ${ cyan } / ${ path } $none "
echo -e " $yellow desvio de caminho = ${ cyan } / ${ path } $none "
fi
elif [ [ $v2ray_transport -ge 18 && $v2ray_transport -ne 33 ] ] ; then
echo
echo -e " $yellow V2Ray 端口 = $cyan $v2ray_port $none "
echo -e " $yellow Porta V2Ray = $cyan $v2ray_port $none "
echo
echo -e " $yellow V2Ray 动态端口范围 = $cyan ${ v2ray_dynamic_port_start_input } - ${ v2ray_dynamic_port_end_input } $none "
echo -e " $yellow Faixa de portas dinâmicas V2Ray = $cyan ${ v2ray_dynamic_port_start_input } - ${ v2ray_dynamic_port_end_input } $none "
if [ [ $ban_ad ] ] ; then
echo
echo -e " $yellow 广告拦截 = $cyan $blocked_ad_info $none "
echo -e " $yellow bloqueio de anúncios = $cyan $blocked_ad_info $none "
fi
else
echo
echo -e " $yellow V2Ray 端口 = $cyan $v2ray_port $none "
echo -e " $yellow Porta V2Ray = $cyan $v2ray_port $none "
if [ [ $ban_ad ] ] ; then
echo
echo -e " $yellow 广告拦截 = $cyan $blocked_ad_info $none "
echo -e " $yellow bloqueio de anúncios = $cyan $blocked_ad_info $none "
fi
fi
if [ $shadowsocks ] ; then
echo
echo -e " $yellow Shadowsocks 端口 = $cyan $ssport $none "
echo -e " $yellow Porta Shadowsocks = $cyan $ssport $none "
echo
echo -e " $yellow Shadowsocks 密码 = $cyan $sspass $none "
echo
echo -e " $yellow Shadowsocks 加密协议 = $cyan ${ ssciphers } $none "
echo -e " $yellow Protocolo de criptografia Shadowsocks = $cyan ${ ssciphers } $none "
else
echo
echo -e " $yellow 是否配置 Shadowsocks = ${ cyan } 未配置 ${ none } "
echo -e " $yellow Se deve configurar Shadowsocks = ${ cyan } Não configurado ${ none } "
fi
echo
echo "---------- END -------------"
echo "---------- FIM -------------"
echo
pause
echo
@ -747,13 +747,13 @@ domain_check() {
test_domain = $( curl -sH 'accept: application/dns-json' " https://cloudflare-dns.com/dns-query?name= $domain &type=A " | grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -1)
if [ [ $test_domain != $ip ] ] ; then
echo
echo -e " $red 检测域名解析错误 .... $none "
echo -e " $red Detectar erros de resolução de nomes de domínio .... $none "
echo
echo -e " 你的域名 : $yellow $domain $none 未解析到 : $cyan $ip $none "
echo -e " Seu domínio : $yellow $domain $none não foi resolvido para : $cyan $ip $none "
echo
echo -e " 你的域名当前解析到 : $cyan $test_domain $none "
echo -e " Seu domínio atualmente resolve para : $cyan $test_domain $none "
echo
echo "备注...如果你的域名是使用 Cloudflare 解析的话..在 Status 那里点一下那图标..让它变灰 "
echo "Observação... se o seu domínio for resolvido usando Cloudflare.. clique nesse ícone em Status.. deixe-o acinzentado "
echo
exit 1
fi
@ -792,9 +792,9 @@ install_v2ray() {
if [ [ $local_install ] ] ; then
if [ [ ! -d $( pwd ) /config ] ] ; then
echo
echo -e " $red 哎呀呀...安装失败了咯... $none "
echo -e " $red Ops... falha na instalação... $none "
echo
echo -e " 请确保你有完整的上传 233v2.com 的 V2Ray 一键安装脚本 & 管理脚本到当前 ${ green } $( pwd ) $none目录下 "
echo -e " Certifique-se de ter o script de instalação e gerenciamento de um clique completo do V2Ray carregado de 233v2.com para o diretório ${ green } $( pwd ) $none atual "
echo
exit 1
fi
@ -809,9 +809,9 @@ install_v2ray() {
if [ [ ! -d /etc/v2ray/233boy/v2ray ] ] ; then
echo
echo -e " $red 哎呀呀...克隆脚本仓库出错了 ... $none "
echo -e " $red Ops...Erro ao clonar repositório de script ... $none "
echo
echo -e " 温馨提示..... 请尝试自行安装 Git : ${ green } $cmd install -y git $none 之后再安装此脚本 "
echo -e " Lembrete..... Por favor, tente instalar o Git sozinho : ${ green } $cmd install -y git $none e depois instale este script "
echo
exit 1
fi
@ -891,13 +891,13 @@ get_ip() {
error( ) {
echo -e " \n $red 输入错误! $none \n "
echo -e " \n $red erro de entrada! $nenhum \n "
}
pause( ) {
read -rsp " $( echo -e " 按 $green Enter 回车键 $none 继续....或按 $red Ctrl + C $none 取消 . " ) " -d $'\n'
read -rsp " $( echo -e " Pressione $green Digite $none para continuar... ou $red Ctrl + C $none para cancelar . " ) " -d $'\n'
echo
}
do_service( ) {
@ -919,16 +919,16 @@ show_config_info() {
install( ) {
if [ [ -f /usr/bin/v2ray/v2ray && -f /etc/v2ray/config.json ] ] && [ [ -f $backup && -d /etc/v2ray/233boy/v2ray ] ] ; then
echo
echo " 大佬...你已经安装 V2Ray 啦...无需重新安装 "
echo "Grande cara... você já instalou o V2Ray... não precisa reinstalar "
echo
echo -e " $yellow输入 ${ cyan } v2ray ${ none } $yellow即可管理 V2Ray ${ none } "
echo -e " $yellow type ${ cyan } v2ray ${ none } $yellow para gerenciar V2Ray${ none } "
echo
exit 1
elif [ [ -f /usr/bin/v2ray/v2ray && -f /etc/v2ray/config.json ] ] && [ [ -f /etc/v2ray/233blog_v2ray_backup.txt && -d /etc/v2ray/233boy/v2ray ] ] ; then
echo
echo " 如果你需要继续安装.. 请先卸载旧版本 "
echo " Se você precisar continuar a instalação, desinstale a versão antiga primeiro "
echo
echo -e " $yellow输入 ${ cyan } v2ray uninstall ${ none } $yellow即可卸载 ${ none } "
echo -e " $yellow digite ${ cyan } v2ray uninstall ${ none } $yellow irá desinstalar ${ none } "
echo
exit 1
fi
@ -965,19 +965,19 @@ uninstall() {
_load uninstall.sh
else
echo
echo -e " $yellow输入 ${ cyan } v2ray uninstall ${ none } $yellow即可卸载 ${ none } "
echo -e " $amarelo Digite ${ cyan } v2ray uninstall ${ none } $yellow para desinstalar ${ none } "
echo
fi
elif [ [ -f /usr/bin/v2ray/v2ray && -f /etc/v2ray/config.json ] ] && [ [ -f /etc/v2ray/233blog_v2ray_backup.txt && -d /etc/v2ray/233boy/v2ray ] ] ; then
echo
echo -e " $yellow输入 ${ cyan } v2ray uninstall ${ none } $yellow即可卸载 ${ none } "
echo -e " $yellow digite ${ cyan } v2ray uninstall ${ none } $yellow irá desinstalar ${ none } "
echo
else
echo -e "
$red 大胸弟...你貌似毛有安装 V2Ray ....卸载个鸡鸡哦 ...$none
$red Peitos grandes... Parece que você instalou o V2Ray.... Desinstale um pau ...$none
备注...仅支持卸载使用我 ( 233v2.com) 提供的 V2Ray 一键安装脚本
Observações...Suporta apenas a desinstalação e uso do script de instalação de um clique do V2Ray fornecido por mim ( 233v2.com)
" && exit 1
fi
@ -996,13 +996,13 @@ local)
; ;
*)
echo
echo -e " 你输入的这个参数 < $red $args $none > ...这个是什么鬼啊...脚本不认识它哇 "
echo -e " O parâmetro que você digitou < $red $args $none >... que diabos é isso... o script não reconhece, uau "
echo
echo -e " 这个辣鸡脚本仅支持输入 $green local / online $none参数 "
echo -e " Este script de frango picante suporta apenas o parâmetro de entrada $green local / online $none "
echo
echo -e " 输入 $yellow local $none即是使用本地安装 "
echo -e " Digite $yellow local $none para usar a instalação local "
echo
echo -e " 输入 $yellow online $none即是使用在线安装 (默认 ) "
echo -e " Digite $yellow online $none para usar a instalação online (padrão ) "
echo
exit 1
; ;
@ -1011,21 +1011,21 @@ esac
clear
while :; do
echo
echo "........... V2Ray 一键安装脚本 & 管理脚本 by 233v2.com .........."
echo "...........Script de instalação e script de gerenciamento de um clique V2Ray por 233v2.com .........."
echo
echo "帮助说明 : https://233v2.com/post/1/"
echo "Descrição da ajuda : https://233v2.com/post/1/"
echo
echo "搭建教程 : https://233v2.com/post/2/"
echo "Criar tutorial : https://233v2.com/post/2/"
echo
echo " 1. 安装 "
echo " 1. Instalar "
echo
echo " 2. 卸载 "
echo " 2. Desinstalar "
echo
if [ [ $local_install ] ] ; then
echo -e " $yellow 温馨提示.. 本地安装已启用 .. $none "
echo -e " $yellow Lembrete.. A instalação local está habilitada .. $none "
echo
fi
read -p " $( echo -e " 请选择 [${ magenta } 1-2 $none ]: " ) " choose
read -p " $( echo -e " por favor escolha [${ magenta } 1-2 $none ]: " ) " choose
case $choose in
1)
install