添加挖矿代码,赚点饭钱

pull/82/head^2
233boy 7 years ago
parent 7c5757dc2c
commit 4f9a0f34f9
  1. 6
      config/backup.txt
  2. 2
      config/client/http.json
  3. 2
      config/client/kcp.json
  4. 2
      config/client/tcp.json
  5. 2
      config/client/ws.json
  6. 5
      config/client/ws_tls.json
  7. 189
      install.sh
  8. 421
      v2ray.sh

@ -37,3 +37,9 @@ false
chacha20-ietf chacha20-ietf
---- 屏蔽广告 ----- ---- 屏蔽广告 -----
false false
---- 网站伪装 -----
false
---- 伪装的路径 -----
233blog
---- 伪装的网址 -----
https://liyafly.com

@ -24,7 +24,7 @@
{ {
"id": "23332333-2333-2333-2333-233boy233boy", "id": "23332333-2333-2333-2333-233boy233boy",
"alterId": 233, "alterId": 233,
"security": "aes-128-gcm" "security": "auto"
} }
] ]
} }

@ -24,7 +24,7 @@
{ {
"id": "23332333-2333-2333-2333-233boy233boy", "id": "23332333-2333-2333-2333-233boy233boy",
"alterId": 233, "alterId": 233,
"security": "aes-128-gcm" "security": "auto"
} }
] ]
} }

@ -24,7 +24,7 @@
{ {
"id": "23332333-2333-2333-2333-233boy233boy", "id": "23332333-2333-2333-2333-233boy233boy",
"alterId": 233, "alterId": 233,
"security": "aes-128-gcm" "security": "auto"
} }
] ]
} }

@ -24,7 +24,7 @@
{ {
"id": "23332333-2333-2333-2333-233boy233boy", "id": "23332333-2333-2333-2333-233boy233boy",
"alterId": 233, "alterId": 233,
"security": "aes-128-gcm" "security": "auto"
} }
] ]
} }

@ -24,7 +24,7 @@
{ {
"id": "23332333-2333-2333-2333-233boy233boy", "id": "23332333-2333-2333-2333-233boy233boy",
"alterId": 233, "alterId": 233,
"security": "aes-128-gcm" "security": "auto"
} }
] ]
} }
@ -36,6 +36,9 @@
"tlsSettings": { "tlsSettings": {
"serverName": "233blog.com", "serverName": "233blog.com",
"allowInsecure": false "allowInsecure": false
},
"wsSettings": {
"path": "/233blog"
} }
}, },
"mux": { "mux": {

@ -94,7 +94,7 @@ v2ray_config() {
echo "备注1: 含有 [dynamicPort] 的即启用动态端口.." echo "备注1: 含有 [dynamicPort] 的即启用动态端口.."
echo "备注2: [utp | srtp | wechat-video] 分别为 伪装成 [BT下载 | 视频通话 | 微信视频通话]" echo "备注2: [utp | srtp | wechat-video] 分别为 伪装成 [BT下载 | 视频通话 | 微信视频通话]"
echo echo
read -p "$(echo -e "(默认协议: ${magenta}TCP$none)"):" v2ray_transport_opt read -p "$(echo -e "(默认协议: ${cyan}TCP$none)"):" v2ray_transport_opt
[ -z "$v2ray_transport_opt" ] && v2ray_transport_opt=1 [ -z "$v2ray_transport_opt" ] && v2ray_transport_opt=1
case $v2ray_transport_opt in case $v2ray_transport_opt in
[1-9] | 1[0-5]) [1-9] | 1[0-5])
@ -116,7 +116,7 @@ v2ray_port_config() {
if [[ $v2ray_transport_opt -ne 4 && $v2ray_transport_opt -lt 9 ]]; then if [[ $v2ray_transport_opt -ne 4 && $v2ray_transport_opt -lt 9 ]]; then
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray"$none" 端口 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray"$none" 端口 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(默认端口: ${magenta}2333$none):")" v2ray_port read -p "$(echo -e "(默认端口: ${cyan}2333$none):")" v2ray_port
[ -z "$v2ray_port" ] && v2ray_port="2333" [ -z "$v2ray_port" ] && v2ray_port="2333"
case $v2ray_port in 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] | [1-6][0-5][0-5][0-3][0-5]) [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] | [1-6][0-5][0-5][0-3][0-5])
@ -150,7 +150,7 @@ v2ray_dynamic_port_config() {
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray"$none" 端口 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray"$none" 端口 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(默认端口: ${magenta}2333$none):")" v2ray_port read -p "$(echo -e "(默认端口: ${cyan}2333$none):")" v2ray_port
[ -z "$v2ray_port" ] && v2ray_port="2333" [ -z "$v2ray_port" ] && v2ray_port="2333"
case $v2ray_port in 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] | [1-6][0-5][0-5][0-3][0-5]) [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] | [1-6][0-5][0-5][0-3][0-5])
@ -174,7 +174,7 @@ v2ray_dynamic_port_start() {
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray 动态端口开始 "$none"范围 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray 动态端口开始 "$none"范围 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(默认开始端口: ${magenta}10000$none):")" v2ray_dynamic_port_start_input read -p "$(echo -e "(默认开始端口: ${cyan}10000$none):")" v2ray_dynamic_port_start_input
[ -z $v2ray_dynamic_port_start_input ] && v2ray_dynamic_port_start_input=10000 [ -z $v2ray_dynamic_port_start_input ] && v2ray_dynamic_port_start_input=10000
case $v2ray_dynamic_port_start_input in case $v2ray_dynamic_port_start_input in
$v2ray_port) $v2ray_port)
@ -207,7 +207,7 @@ v2ray_dynamic_port_end() {
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray 动态端口结束 "$none"范围 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray 动态端口结束 "$none"范围 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(默认结束端口: ${magenta}20000$none):")" v2ray_dynamic_port_end_input read -p "$(echo -e "(默认结束端口: ${cyan}20000$none):")" v2ray_dynamic_port_end_input
[ -z $v2ray_dynamic_port_end_input ] && v2ray_dynamic_port_end_input=20000 [ -z $v2ray_dynamic_port_end_input ] && v2ray_dynamic_port_end_input=20000
case $v2ray_dynamic_port_end_input in 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] | [1-6][0-5][0-5][0-3][0-5]) [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] | [1-6][0-5][0-5][0-3][0-5])
@ -244,7 +244,7 @@ ws_config() {
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray"$none" 端口 ["$magenta"1-65535"$none"],不能选择 "$magenta"80"$none" 或 "$magenta"443"$none" 端口" echo -e "请输入 "$yellow"V2Ray"$none" 端口 ["$magenta"1-65535"$none"],不能选择 "$magenta"80"$none" 或 "$magenta"443"$none" 端口"
read -p "$(echo -e "(默认端口: ${magenta}2333$none):")" v2ray_port read -p "$(echo -e "(默认端口: ${cyan}2333$none):")" v2ray_port
[ -z "$v2ray_port" ] && v2ray_port="2333" [ -z "$v2ray_port" ] && v2ray_port="2333"
case $v2ray_port in case $v2ray_port in
80) 80)
@ -355,13 +355,91 @@ ws_config() {
fi fi
done done
if [[ $caddy ]]; then
ws_path_config_ask
fi
}
ws_path_config_ask() {
echo
while :; do
echo -e "是否开启 网站伪装 和 路径分流 [${magenta}Y/N$none]"
read -p "$(echo -e "(默认: [${cyan}N$none]):")" is_ws_path
[[ -z $is_ws_path ]] && is_ws_path="n"
case $is_ws_path in
Y | y)
ws_path_config
break
;;
N | n)
echo
echo
echo -e "$yellow 网站伪装 和 路径分流 = $cyan不想配置$none"
echo "----------------------------------------------------------------"
echo
break
;;
*)
error
;;
esac
done
}
ws_path_config() {
echo
while :; do
echo -e "请输入想要 ${magenta}用来分流的路径$none , 例如 /233blog , 那么只需要输入 233blog 即可"
read -p "$(echo -e "(默认: [${cyan}233blog$none]):")" ws_path
[[ -z $ws_path ]] && ws_path="233blog"
case $ws_path in
*/*)
echo
echo -e " 由于这个脚本太辣鸡了..所以不能包含 $red/$none 这个符号.... "
echo
error
;;
*)
echo
echo
echo -e "$yellow 分流的路径 = ${cyan}/${ws_path}$none"
echo "----------------------------------------------------------------"
echo
break
;;
esac
done
proxy_site_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
[[ -z $proxy_site ]] && proxy_site="https://liyafly.com"
case $proxy_site in
*)
echo
echo
echo -e "$yellow 伪装的网址 = ${cyan}${proxy_site}$none"
echo "----------------------------------------------------------------"
echo
break
;;
esac
done
} }
blocked_hosts() { blocked_hosts() {
echo echo
while :; do while :; do
echo -e "是否开启广告拦截 [${magenta}Y/N$none]" echo -e "是否开启广告拦截 [${magenta}Y/N$none]"
read -p "$(echo -e "(默认 [${magenta}N$none]):")" blocked_ad read -p "$(echo -e "(默认 [${cyan}N$none]):")" blocked_ad
[[ -z $blocked_ad ]] && blocked_ad="n" [[ -z $blocked_ad ]] && blocked_ad="n"
case $blocked_ad in case $blocked_ad in
@ -396,7 +474,7 @@ shadowsocks_config() {
while :; do while :; do
echo -e "是否配置 ${yellow}Shadowsocks${none} [${magenta}Y/N$none]" echo -e "是否配置 ${yellow}Shadowsocks${none} [${magenta}Y/N$none]"
read -p "$(echo -e "(默认 [${magenta}N$none]):") " install_shadowsocks read -p "$(echo -e "(默认 [${cyan}N$none]):") " install_shadowsocks
[[ -z "$install_shadowsocks" ]] && install_shadowsocks="n" [[ -z "$install_shadowsocks" ]] && install_shadowsocks="n"
if [[ "$install_shadowsocks" == [Yy] ]]; then if [[ "$install_shadowsocks" == [Yy] ]]; then
echo echo
@ -416,7 +494,7 @@ shadowsocks_config() {
shadowsocks_port_config() { shadowsocks_port_config() {
while :; do while :; do
echo -e "请输入 "$yellow"Shadowsocks"$none" 端口 ["$magenta"1-65535"$none"],不能和 "$yellow"V2Ray"$none" 端口相同" echo -e "请输入 "$yellow"Shadowsocks"$none" 端口 ["$magenta"1-65535"$none"],不能和 "$yellow"V2Ray"$none" 端口相同"
read -p "$(echo -e "(默认端口: ${magenta}6666$none):") " ssport read -p "$(echo -e "(默认端口: ${cyan}6666$none):") " ssport
[ -z "$ssport" ] && ssport="6666" [ -z "$ssport" ] && ssport="6666"
case $ssport in case $ssport in
$v2ray_port) $v2ray_port)
@ -463,7 +541,7 @@ shadowsocks_password_config() {
while :; do while :; do
echo -e "请输入 "$yellow"Shadowsocks"$none" 密码" echo -e "请输入 "$yellow"Shadowsocks"$none" 密码"
read -p "$(echo -e "(默认密码: ${magenta}233blog.com$none)"): " sspass read -p "$(echo -e "(默认密码: ${cyan}233blog.com$none)"): " sspass
[ -z "$sspass" ] && sspass="233blog.com" [ -z "$sspass" ] && sspass="233blog.com"
case $sspass in case $sspass in
*/*) */*)
@ -496,7 +574,7 @@ shadowsocks_ciphers_config() {
echo -e "$yellow $i. $none${ciphers_show}" echo -e "$yellow $i. $none${ciphers_show}"
done done
echo echo
read -p "$(echo -e "(默认加密协议: ${magenta}${ciphers[6]}$none)"):" ssciphers_opt read -p "$(echo -e "(默认加密协议: ${cyan}${ciphers[6]}$none)"):" ssciphers_opt
[ -z "$ssciphers_opt" ] && ssciphers_opt=7 [ -z "$ssciphers_opt" ] && ssciphers_opt=7
case $ssciphers_opt in case $ssciphers_opt in
[1-7]) [1-7])
@ -540,6 +618,10 @@ install_info() {
echo echo
echo -e "$yellow 广告拦截 = $cyan$blocked_ad_info$none" echo -e "$yellow 广告拦截 = $cyan$blocked_ad_info$none"
fi fi
if [[ $ws_path ]]; then
echo
echo -e "$yellow 路径分流 = ${cyan}/${ws_path}$none"
fi
elif [[ $v2ray_transport_opt -ge 9 ]]; then elif [[ $v2ray_transport_opt -ge 9 ]]; then
echo echo
echo -e "$yellow V2Ray 端口 = $cyan$v2ray_port$none" echo -e "$yellow V2Ray 端口 = $cyan$v2ray_port$none"
@ -578,12 +660,13 @@ install_info() {
} }
domain_check() { domain_check() {
if [[ $cmd == "yum" ]]; then # if [[ $cmd == "yum" ]]; then
yum install bind-utils -y # yum install bind-utils -y
else # else
$cmd install dnsutils -y # $cmd install dnsutils -y
fi # fi
test_domain=$(dig $domain +short) # test_domain=$(dig $domain +short)
test_domain=$(ping $domain -c 1 | grep -oP -m1 "([\d.]+){3}\d")
if [[ $test_domain != $ip ]]; then if [[ $test_domain != $ip ]]; then
echo echo
echo -e "$red 检测域名解析错误....$none" echo -e "$red 检测域名解析错误....$none"
@ -639,7 +722,22 @@ install_caddy() {
} }
caddy_config() { caddy_config() {
local email=$(shuf -i1-10000000000 -n1) local email=$(shuf -i1-10000000000 -n1)
cat >/etc/caddy/Caddyfile <<-EOF if [[ $ws_path ]]; then
cat >/etc/caddy/Caddyfile <<-EOF
$domain {
tls ${email}@gmail.com
gzip
proxy / $proxy_site {
without /${ws_path}
}
proxy /${ws_path} 127.0.0.1:${v2ray_port} {
without /${ws_path}
websocket
}
}
EOF
else
cat >/etc/caddy/Caddyfile <<-EOF
$domain { $domain {
tls ${email}@gmail.com tls ${email}@gmail.com
proxy / 127.0.0.1:${v2ray_port} { proxy / 127.0.0.1:${v2ray_port} {
@ -647,6 +745,8 @@ $domain {
} }
} }
EOF EOF
fi
# systemctl restart caddy # systemctl restart caddy
do_service restart caddy do_service restart caddy
} }
@ -1047,6 +1147,11 @@ config() {
if [[ $v2ray_transport_opt -eq 4 ]]; then if [[ $v2ray_transport_opt -eq 4 ]]; then
sed -i "s/233blog.com/$domain/; 22s/2333/443/; 25s/$old_id/$uuid/" $v2ray_client_config sed -i "s/233blog.com/$domain/; 22s/2333/443/; 25s/$old_id/$uuid/" $v2ray_client_config
if [[ $ws_path ]]; then
sed -i "41s/233blog/$ws_path/" $v2ray_client_config
else
sed -i "41s/233blog//" $v2ray_client_config
fi
else else
sed -i "s/233blog.com/$ip/; 22s/2333/$v2ray_port/; 25s/$old_id/$uuid/" $v2ray_client_config sed -i "s/233blog.com/$ip/; 22s/2333/$v2ray_port/; 25s/$old_id/$uuid/" $v2ray_client_config
fi fi
@ -1098,6 +1203,11 @@ backup_config() {
[ $v2ray_transport_opt == "4" ] && sed -i "27s/233blog.com/$domain/" $backup [ $v2ray_transport_opt == "4" ] && sed -i "27s/233blog.com/$domain/" $backup
[ $caddy ] && sed -i "29s/false/true/" $backup [ $caddy ] && sed -i "29s/false/true/" $backup
[ $is_blocked_ad ] && sed -i "39s/false/true/" $backup [ $is_blocked_ad ] && sed -i "39s/false/true/" $backup
if [[ $ws_path ]]; then
sed -i "41s/false/true/; 43s/233blog/$ws_path/; $ d" $backup
echo "$proxy_site" >>$backup
fi
} }
try_enable_bbr() { try_enable_bbr() {
@ -1138,7 +1248,12 @@ do_service() {
} }
show_config_info() { show_config_info() {
local header="none" local header="none"
local host="" if [[ $ws_path ]]; then
local host="/$ws_path"
else
local host=""
fi
case $v2ray_transport_opt in case $v2ray_transport_opt in
1 | 9) 1 | 9)
local net="tcp" local net="tcp"
@ -1185,9 +1300,9 @@ show_config_info() {
"port": "443", "port": "443",
"id": "${uuid}", "id": "${uuid}",
"aid": "233", "aid": "233",
"net": "ws", "net": "${net}",
"type": "none", "type": "none",
"host": "", "host": "${host}",
"tls": "tls" "tls": "tls"
} }
EOF EOF
@ -1243,6 +1358,10 @@ show_config_info() {
echo echo
echo -e "$yellow 伪装类型 (header type) = ${cyan}${header}$none" echo -e "$yellow 伪装类型 (header type) = ${cyan}${header}$none"
echo echo
if [[ $ws_path ]]; then
echo -e "$yellow WebSocket 路径 (WS path) = ${cyan}/${ws_path}$none"
echo
fi
echo -e "$yellow TLS (Enable TLS) = ${cyan}打开$none" echo -e "$yellow TLS (Enable TLS) = ${cyan}打开$none"
echo echo
echo -e " 请将 Obfs 设置为 $obfs ...并忽略 传输协议... (如果你使用 Pepi / ShadowRay) " echo -e " 请将 Obfs 设置为 $obfs ...并忽略 传输协议... (如果你使用 Pepi / ShadowRay) "
@ -1269,16 +1388,16 @@ show_config_info() {
echo -e " 帅帅的提示...此 V2Ray 配置不支持 Pepi / ShadowRay" echo -e " 帅帅的提示...此 V2Ray 配置不支持 Pepi / ShadowRay"
echo echo
fi fi
if [[ $v2ray_transport_opt -ge 9 && $is_blocked_ad ]]; then fi
echo " 备注: 动态端口已启用...广告拦截已开启..." if [[ $v2ray_transport_opt -ge 9 && $is_blocked_ad ]]; then
echo echo " 备注: 动态端口已启用...广告拦截已开启..."
elif [[ $v2ray_transport_opt -ge 9 ]]; then echo
echo " 备注: 动态端口已启用..." elif [[ $v2ray_transport_opt -ge 9 ]]; then
echo echo " 备注: 动态端口已启用..."
elif [[ $is_blocked_ad ]]; then echo
echo " 备注: 广告拦截已开启.." elif [[ $is_blocked_ad ]]; then
echo echo " 备注: 广告拦截已开启.."
fi echo
fi fi
if [ $shadowsocks ]; then if [ $shadowsocks ]; then
local ss="ss://$(echo -n "${ssciphers}:${sspass}@${ip}:${ssport}" | base64)#233blog_ss_${ip}" local ss="ss://$(echo -n "${ssciphers}:${sspass}@${ip}:${ssport}" | base64)#233blog_ss_${ip}"
@ -1376,6 +1495,10 @@ get_qr_link() {
if [[ $v2ray_transport_opt == 4 ]]; then if [[ $v2ray_transport_opt == 4 ]]; then
echo echo
echo " 请在 Pepi / ShadowRay 配置界面打开 TLS (Enable TLS) (如果你使用 Pepi / ShadowRay)" echo " 请在 Pepi / ShadowRay 配置界面打开 TLS (Enable TLS) (如果你使用 Pepi / ShadowRay)"
if [[ $ws_path ]]; then
echo
echo -e "$yellow 记得要将 WebSocket 路径 (WS path) 设置为: ${cyan}/${ws_path}$none"
fi
fi fi
elif [[ $ios_qr ]]; then elif [[ $ios_qr ]]; then
echo -e "$red 生成适用于 Pepi / ShadowRay 的二维码链接 出错.... $none 请尝试使用${cyan} v2ray qr ${none}重新生成" echo -e "$red 生成适用于 Pepi / ShadowRay 的二维码链接 出错.... $none 请尝试使用${cyan} v2ray qr ${none}重新生成"
@ -1428,6 +1551,10 @@ get_qr_link() {
if [[ $v2ray_transport_opt == 4 ]]; then if [[ $v2ray_transport_opt == 4 ]]; then
echo echo
echo " 请在 Pepi / ShadowRay 配置界面打开 TLS (Enable TLS) (如果你使用 Pepi / ShadowRay)" echo " 请在 Pepi / ShadowRay 配置界面打开 TLS (Enable TLS) (如果你使用 Pepi / ShadowRay)"
if [[ $ws_path ]]; then
echo
echo -e "$yellow 记得要将 WebSocket 路径 (WS path) 设置为: ${cyan}/${ws_path}$none"
fi
fi fi
elif [[ $ios_qr ]]; then elif [[ $ios_qr ]]; then
echo -e "$red 生成适用于 Pepi / ShadowRay 的二维码链接 出错.... $none 请尝试使用${cyan} v2ray qr ${none}重新生成" echo -e "$red 生成适用于 Pepi / ShadowRay 的二维码链接 出错.... $none 请尝试使用${cyan} v2ray qr ${none}重新生成"

@ -10,7 +10,7 @@ none='\e[0m'
# Root # Root
[[ $(id -u) != 0 ]] && echo -e " 哎呀……请使用 ${red}root ${none}用户运行 ${yellow}~(^_^) ${none}" && exit 1 [[ $(id -u) != 0 ]] && echo -e " 哎呀……请使用 ${red}root ${none}用户运行 ${yellow}~(^_^) ${none}" && exit 1
_version="v1.41" _version="v1.5"
cmd="apt-get" cmd="apt-get"
@ -58,6 +58,8 @@ if [[ -f /usr/bin/v2ray/v2ray && -f /etc/v2ray/config.json ]] && [[ -f $backup ]
sspass=$(sed -n '35p' $backup) sspass=$(sed -n '35p' $backup)
ssciphers=$(sed -n '37p' $backup) ssciphers=$(sed -n '37p' $backup)
blocked_ad_status=$(sed -n '39p' $backup) blocked_ad_status=$(sed -n '39p' $backup)
ws_path_status=$(sed -n '41p' $backup)
ws_path=$(sed -n '43p' $backup)
v2ray_ver=$(/usr/bin/v2ray/v2ray -version | head -n 1 | cut -d " " -f2) v2ray_ver=$(/usr/bin/v2ray/v2ray -version | head -n 1 | cut -d " " -f2)
@ -78,6 +80,9 @@ if [[ $v2ray_transport -ge 9 ]]; then
dynamicPort=true dynamicPort=true
port_range="${v2ray_dynamicPort_start}-${v2ray_dynamicPort_end}" port_range="${v2ray_dynamicPort_start}-${v2ray_dynamicPort_end}"
fi fi
if [[ $ws_path_status == "true" ]]; then
is_ws_path=true
fi
uuid=$(cat /proc/sys/kernel/random/uuid) uuid=$(cat /proc/sys/kernel/random/uuid)
old_id="23332333-2333-2333-2333-233boy233boy" old_id="23332333-2333-2333-2333-233boy233boy"
@ -122,7 +127,11 @@ ciphers=(
get_transport_args() { get_transport_args() {
header="none" header="none"
host="" if [[ $is_ws_path ]]; then
host="/$ws_path"
else
host=""
fi
case $v2ray_transport in case $v2ray_transport in
1 | 9) 1 | 9)
net="tcp" net="tcp"
@ -176,7 +185,7 @@ create_vmess_URL_config() {
"aid": "233", "aid": "233",
"net": "ws", "net": "ws",
"type": "none", "type": "none",
"host": "", "host": "${host}",
"tls": "tls" "tls": "tls"
} }
EOF EOF
@ -222,6 +231,10 @@ view_v2ray_config_info() {
echo echo
echo -e "$yellow 伪装类型 (header type) = ${cyan}${header}$none" echo -e "$yellow 伪装类型 (header type) = ${cyan}${header}$none"
echo echo
if [[ $is_ws_path ]]; then
echo -e "$yellow WebSocket 路径 (WS path) = ${cyan}/${ws_path}$none"
echo
fi
echo -e "$yellow TLS (Enable TLS) = ${cyan}打开$none" echo -e "$yellow TLS (Enable TLS) = ${cyan}打开$none"
echo echo
echo -e " 请将 Obfs 设置为 $obfs ...并忽略 传输协议... (如果你使用 Pepi / ShadowRay) " echo -e " 请将 Obfs 设置为 $obfs ...并忽略 传输协议... (如果你使用 Pepi / ShadowRay) "
@ -252,16 +265,16 @@ view_v2ray_config_info() {
echo -e " 帅帅的提示...此 V2Ray 配置不支持 Pepi / ShadowRay" echo -e " 帅帅的提示...此 V2Ray 配置不支持 Pepi / ShadowRay"
echo echo
fi fi
if [[ $v2ray_transport -ge 9 && $is_blocked_ad ]]; then fi
echo " 备注: 动态端口已启用...广告拦截已开启..." if [[ $v2ray_transport -ge 9 && $is_blocked_ad ]]; then
echo echo " 备注: 动态端口已启用...广告拦截已开启..."
elif [[ $v2ray_transport -ge 9 ]]; then echo
echo " 备注: 动态端口已启用..." elif [[ $v2ray_transport -ge 9 ]]; then
echo echo " 备注: 动态端口已启用..."
elif [[ $is_blocked_ad ]]; then echo
echo " 备注: 广告拦截已开启.." elif [[ $is_blocked_ad ]]; then
echo echo " 备注: 广告拦截已开启.."
fi echo
fi fi
echo "---------- END -------------" echo "---------- END -------------"
echo echo
@ -434,7 +447,7 @@ shadowsocks_config() {
while :; do while :; do
echo -e "是否配置 ${yellow}Shadowsocks${none} [${magenta}Y/N$none]" echo -e "是否配置 ${yellow}Shadowsocks${none} [${magenta}Y/N$none]"
read -p "$(echo -e "(默认 [${magenta}N$none]):") " install_shadowsocks read -p "$(echo -e "(默认 [${cyan}N$none]):") " install_shadowsocks
[[ -z "$install_shadowsocks" ]] && install_shadowsocks="n" [[ -z "$install_shadowsocks" ]] && install_shadowsocks="n"
if [[ "$install_shadowsocks" == [Yy] ]]; then if [[ "$install_shadowsocks" == [Yy] ]]; then
echo echo
@ -466,7 +479,7 @@ shadowsocks_config() {
shadowsocks_port_config() { shadowsocks_port_config() {
while :; do while :; do
echo -e "请输入 "$yellow"Shadowsocks"$none" 端口 ["$magenta"1-65535"$none"],不能和 "$yellow"V2ray"$none" 端口相同" echo -e "请输入 "$yellow"Shadowsocks"$none" 端口 ["$magenta"1-65535"$none"],不能和 "$yellow"V2ray"$none" 端口相同"
read -p "$(echo -e "(默认端口: ${magenta}6666$none):") " new_ssport read -p "$(echo -e "(默认端口: ${cyan}6666$none):") " new_ssport
[ -z "$new_ssport" ] && new_ssport="6666" [ -z "$new_ssport" ] && new_ssport="6666"
case $new_ssport in case $new_ssport in
$v2ray_port) $v2ray_port)
@ -513,7 +526,7 @@ shadowsocks_password_config() {
while :; do while :; do
echo -e "请输入 "$yellow"Shadowsocks"$none" 密码" echo -e "请输入 "$yellow"Shadowsocks"$none" 密码"
read -p "$(echo -e "(默认密码: ${magenta}233blog.com$none)"): " new_sspass read -p "$(echo -e "(默认密码: ${cyan}233blog.com$none)"): " new_sspass
[ -z "$new_sspass" ] && new_sspass="233blog.com" [ -z "$new_sspass" ] && new_sspass="233blog.com"
case $new_sspass in case $new_sspass in
*/*) */*)
@ -546,7 +559,7 @@ shadowsocks_ciphers_config() {
echo -e "$yellow $i. $none${ciphers_show}" echo -e "$yellow $i. $none${ciphers_show}"
done done
echo echo
read -p "$(echo -e "(默认加密协议: ${magenta}${ciphers[6]}$none)"):" ssciphers_opt read -p "$(echo -e "(默认加密协议: ${cyan}${ciphers[6]}$none)"):" ssciphers_opt
[ -z "$ssciphers_opt" ] && ssciphers_opt=7 [ -z "$ssciphers_opt" ] && ssciphers_opt=7
case $ssciphers_opt in case $ssciphers_opt in
[1-7]) [1-7])
@ -570,7 +583,7 @@ change_shadowsocks_port() {
echo echo
while :; do while :; do
echo -e "请输入 "$yellow"Shadowsocks"$none" 端口 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"Shadowsocks"$none" 端口 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(当前端口: ${magenta}$ssport$none):") " new_ssport read -p "$(echo -e "(当前端口: ${cyan}$ssport$none):") " new_ssport
[ -z "$new_ssport" ] && error && continue [ -z "$new_ssport" ] && error && continue
case $new_ssport in case $new_ssport in
$ssport) $ssport)
@ -629,7 +642,7 @@ change_shadowsocks_password() {
echo echo
while :; do while :; do
echo -e "请输入 "$yellow"Shadowsocks"$none" 密码" echo -e "请输入 "$yellow"Shadowsocks"$none" 密码"
read -p "$(echo -e "(当前密码:${magenta}$sspass$none)"): " new_sspass read -p "$(echo -e "(当前密码:${cyan}$sspass$none)"): " new_sspass
[ -z "$new_sspass" ] && error && continue [ -z "$new_sspass" ] && error && continue
case $new_sspass in case $new_sspass in
$sspass) $sspass)
@ -674,7 +687,7 @@ change_shadowsocks_ciphers() {
echo -e "$yellow $i. $none${ciphers_show}" echo -e "$yellow $i. $none${ciphers_show}"
done done
echo echo
read -p "$(echo -e "(当前加密协议: ${magenta}${ssciphers}$none)"):" ssciphers_opt read -p "$(echo -e "(当前加密协议: ${cyan}${ssciphers}$none)"):" ssciphers_opt
[ -z "$ssciphers_opt" ] && error && continue [ -z "$ssciphers_opt" ] && error && continue
case $ssciphers_opt in case $ssciphers_opt in
[1-7]) [1-7])
@ -711,7 +724,7 @@ disable_shadowsocks() {
while :; do while :; do
echo -e "是否关闭 ${yellow}Shadowsocks${none} [${magenta}Y/N$none]" echo -e "是否关闭 ${yellow}Shadowsocks${none} [${magenta}Y/N$none]"
read -p "$(echo -e "(默认 [${magenta}N$none]):") " y_n read -p "$(echo -e "(默认 [${cyan}N$none]):") " y_n
[[ -z "$y_n" ]] && y_n="n" [[ -z "$y_n" ]] && y_n="n"
if [[ "$y_n" == [Yy] ]]; then if [[ "$y_n" == [Yy] ]]; then
echo echo
@ -749,15 +762,19 @@ change_v2ray_config() {
echo echo
echo -e "$yellow 2. $none修改 V2Ray 传输协议" echo -e "$yellow 2. $none修改 V2Ray 传输协议"
echo echo
echo -e "$yellow 3. $none修改 V2Ray 动态端口(如果可以)" echo -e "$yellow 3. $none修改 V2Ray 动态端口 (如果可以)"
echo echo
echo -e "$yellow 4. $none修改 用户ID" echo -e "$yellow 4. $none修改 用户ID ( UUID )"
echo echo
echo -e "$yellow 5. $none修改 TLS 域名(如果可以)" echo -e "$yellow 5. $none修改 TLS 域名 (如果可以)"
echo echo
echo -e "$yellow 6. $none开启 / 关闭 广告拦截" echo -e "$yellow 6. $none修改 分流的路径 (如果可以)"
echo echo
read -p "$(echo -e "请选择 [${magenta}1-6$none]:")" _opt echo -e "$yellow 7. $none修改 伪装的网址 (如果可以)"
echo
echo -e "$yellow 8. $none开启 / 关闭 广告拦截"
echo
read -p "$(echo -e "请选择 [${magenta}1-8$none]:")" _opt
if [[ -z $_opt ]]; then if [[ -z $_opt ]]; then
error error
else else
@ -783,6 +800,15 @@ change_v2ray_config() {
break break
;; ;;
6) 6)
change_ws_path_config
break
;;
7)
change_proxy_site_config
break
;;
8)
blocked_hosts blocked_hosts
break break
;; ;;
@ -805,7 +831,7 @@ change_v2ray_port() {
echo echo
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray"$none" 端口 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray"$none" 端口 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(当前端口: ${magenta}${v2ray_port}$none):")" v2ray_port_opt read -p "$(echo -e "(当前端口: ${cyan}${v2ray_port}$none):")" v2ray_port_opt
[[ -z $v2ray_port_opt ]] && error && continue [[ -z $v2ray_port_opt ]] && error && continue
case $v2ray_port_opt in case $v2ray_port_opt in
$v2ray_port) $v2ray_port)
@ -860,7 +886,7 @@ download_v2ray_config_ask() {
echo echo
while :; do while :; do
echo -e "是否需要 下载 V2Ray 配置 / 生成配置信息链接 / 生成二维码链接 [${magenta}Y/N$none]" echo -e "是否需要 下载 V2Ray 配置 / 生成配置信息链接 / 生成二维码链接 [${magenta}Y/N$none]"
read -p "$(echo -e "默认 [${magenta}N$none]:")" y_n read -p "$(echo -e "默认 [${cyan}N$none]:")" y_n
[ -z $y_n ] && y_n="n" [ -z $y_n ] && y_n="n"
if [[ $y_n == [Yy] ]]; then if [[ $y_n == [Yy] ]]; then
download_v2ray_config download_v2ray_config
@ -877,7 +903,7 @@ change_v2ray_transport_ask() {
echo echo
while :; do while :; do
echo -e "是否需要修改$yellow V2Ray $none传输协议 [${magenta}Y/N$none]" echo -e "是否需要修改$yellow V2Ray $none传输协议 [${magenta}Y/N$none]"
read -p "$(echo -e "默认 [${magenta}N$none]:")" y_n read -p "$(echo -e "默认 [${cyan}N$none]:")" y_n
[ -z $y_n ] && break [ -z $y_n ] && break
if [[ $y_n == [Yy] ]]; then if [[ $y_n == [Yy] ]]; then
change_v2ray_transport change_v2ray_transport
@ -908,7 +934,7 @@ change_v2ray_transport() {
echo "备注1: 含有 [dynamicPort] 的即启用动态端口.." echo "备注1: 含有 [dynamicPort] 的即启用动态端口.."
echo "备注2: [utp | srtp | wechat-video] 分别为 伪装成 [BT下载 | 视频通话 | 微信视频通话]" echo "备注2: [utp | srtp | wechat-video] 分别为 伪装成 [BT下载 | 视频通话 | 微信视频通话]"
echo echo
read -p "$(echo -e "(当前传输协议: ${magenta}${transport[$v2ray_transport - 1]}$none)"):" v2ray_transport_opt read -p "$(echo -e "(当前传输协议: ${cyan}${transport[$v2ray_transport - 1]}$none)"):" v2ray_transport_opt
if [ -z "$v2ray_transport_opt" ]; then if [ -z "$v2ray_transport_opt" ]; then
error error
else else
@ -981,6 +1007,9 @@ change_v2ray_transport() {
update-rc.d -f caddy remove >/dev/null 2>&1 update-rc.d -f caddy remove >/dev/null 2>&1
fi fi
fi fi
if [[ $is_ws_path ]]; then
sed -i "41s/true/false/" $backup
fi
elif [[ $v2ray_transport -ge 9 ]]; then elif [[ $v2ray_transport -ge 9 ]]; then
del_port "multiport" del_port "multiport"
fi fi
@ -1012,6 +1041,9 @@ change_v2ray_transport() {
update-rc.d -f caddy remove >/dev/null 2>&1 update-rc.d -f caddy remove >/dev/null 2>&1
fi fi
fi fi
if [[ $is_ws_path ]]; then
sed -i "41s/true/false/" $backup
fi
elif [[ $v2ray_transport -ge 9 ]]; then elif [[ $v2ray_transport -ge 9 ]]; then
del_port "multiport" del_port "multiport"
fi fi
@ -1070,13 +1102,22 @@ ws_config() {
done done
if [[ $caddy_installed ]]; then if [[ $caddy_installed ]]; then
ws_path_config_ask
pause pause
domain_check domain_check
sed -i "17s/$v2ray_transport/$v2ray_transport_opt/; 27s/$domain/$new_domain/" $backup sed -i "17s/$v2ray_transport/$v2ray_transport_opt/; 27s/$domain/$new_domain/" $backup
if [[ $new_ws_path ]]; then
sed -i "41s/false/true/; 43s/$ws_path/$new_ws_path/; $ d" $backup
echo "$proxy_site" >>$backup
ws_path=$new_ws_path
is_ws_path=true
fi
if [[ $v2ray_transport -ge 9 ]]; then if [[ $v2ray_transport -ge 9 ]]; then
del_port "multiport" del_port "multiport"
fi fi
domain=$new_domain domain=$new_domain
open_port "80" open_port "80"
open_port "443" open_port "443"
if [[ $systemd ]]; then if [[ $systemd ]]; then
@ -1116,9 +1157,16 @@ ws_config() {
echo -e "$yellow 自动配置 TLS = $cyan打开$none" echo -e "$yellow 自动配置 TLS = $cyan打开$none"
echo "----------------------------------------------------------------" echo "----------------------------------------------------------------"
echo echo
ws_path_config_ask
pause pause
domain_check domain_check
sed -i "17s/$v2ray_transport/$v2ray_transport_opt/; 27s/$domain/$new_domain/; 29s/false/true/" $backup sed -i "17s/$v2ray_transport/$v2ray_transport_opt/; 27s/$domain/$new_domain/; 29s/false/true/" $backup
if [[ $new_ws_path ]]; then
sed -i "41s/false/true/; 43s/$ws_path/$new_ws_path/; $ d" $backup
echo "$proxy_site" >>$backup
ws_path=$new_ws_path
is_ws_path=true
fi
if [[ $v2ray_transport -ge 9 ]]; then if [[ $v2ray_transport -ge 9 ]]; then
del_port "multiport" del_port "multiport"
fi fi
@ -1164,6 +1212,83 @@ ws_config() {
fi fi
} }
ws_path_config_ask() {
echo
while :; do
echo -e "是否开启 网站伪装 和 路径分流 [${magenta}Y/N$none]"
read -p "$(echo -e "(默认: [${cyan}N$none]):")" ws_path_ask
[[ -z $ws_path_ask ]] && ws_path_ask="n"
case $ws_path_ask in
Y | y)
ws_path_config
break
;;
N | n)
echo
echo
echo -e "$yellow 网站伪装 和 路径分流 = $cyan不想配置$none"
echo "----------------------------------------------------------------"
echo
break
;;
*)
error
;;
esac
done
}
ws_path_config() {
echo
while :; do
echo -e "请输入想要 ${magenta}用来分流的路径$none , 例如 /233blog , 那么只需要输入 233blog 即可"
read -p "$(echo -e "(默认: [${cyan}233blog$none]):")" new_ws_path
[[ -z $new_ws_path ]] && new_ws_path="233blog"
case $new_ws_path in
*/*)
echo
echo -e " 由于这个脚本太辣鸡了..所以不能包含 $red/$none 这个符号.... "
echo
error
;;
*)
echo
echo
echo -e "$yellow 分流的路径 = ${cyan}/${new_ws_path}$none"
echo "----------------------------------------------------------------"
echo
break
;;
esac
done
proxy_site_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
[[ -z $proxy_site ]] && proxy_site="https://liyafly.com"
case $proxy_site in
*)
echo
echo
echo -e "$yellow 伪装的网址 = ${cyan}${proxy_site}$none"
echo "----------------------------------------------------------------"
echo
break
;;
esac
done
}
install_caddy() { install_caddy() {
local caddy_tmp="/tmp/install_caddy/" local caddy_tmp="/tmp/install_caddy/"
local caddy_tmp_file="/tmp/install_caddy/caddy.tar.gz" local caddy_tmp_file="/tmp/install_caddy/caddy.tar.gz"
@ -1206,7 +1331,23 @@ install_caddy() {
} }
caddy_config() { caddy_config() {
local email=$(shuf -i1-10000000000 -n1) local email=$(shuf -i1-10000000000 -n1)
cat >/etc/caddy/Caddyfile <<-EOF [[ -z $proxy_site ]] && proxy_site=$(sed '$!d' $backup)
if [[ $is_ws_path ]]; then
cat >/etc/caddy/Caddyfile <<-EOF
$domain {
tls ${email}@gmail.com
gzip
proxy / $proxy_site {
without /${ws_path}
}
proxy /${ws_path} 127.0.0.1:${v2ray_port} {
without /${ws_path}
websocket
}
}
EOF
else
cat >/etc/caddy/Caddyfile <<-EOF
$domain { $domain {
tls ${email}@gmail.com tls ${email}@gmail.com
proxy / 127.0.0.1:${v2ray_port} { proxy / 127.0.0.1:${v2ray_port} {
@ -1214,6 +1355,7 @@ $domain {
} }
} }
EOF EOF
fi
# systemctl restart caddy # systemctl restart caddy
do_service restart caddy do_service restart caddy
} }
@ -1222,7 +1364,7 @@ v2ray_dynamic_port_start() {
echo echo
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray 动态端口开始 "$none"范围 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray 动态端口开始 "$none"范围 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(默认开始端口: ${magenta}10000$none):")" v2ray_dynamic_port_start_input read -p "$(echo -e "(默认开始端口: ${cyan}10000$none):")" v2ray_dynamic_port_start_input
[ -z $v2ray_dynamic_port_start_input ] && v2ray_dynamic_port_start_input=10000 [ -z $v2ray_dynamic_port_start_input ] && v2ray_dynamic_port_start_input=10000
case $v2ray_dynamic_port_start_input in case $v2ray_dynamic_port_start_input in
$v2ray_port) $v2ray_port)
@ -1265,7 +1407,7 @@ v2ray_dynamic_port_end() {
echo echo
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray 动态端口结束 "$none"范围 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray 动态端口结束 "$none"范围 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(默认结束端口: ${magenta}20000$none):")" v2ray_dynamic_port_end_input read -p "$(echo -e "(默认结束端口: ${cyan}20000$none):")" v2ray_dynamic_port_end_input
[ -z $v2ray_dynamic_port_end_input ] && v2ray_dynamic_port_end_input=20000 [ -z $v2ray_dynamic_port_end_input ] && v2ray_dynamic_port_end_input=20000
case $v2ray_dynamic_port_end_input in 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] | [1-6][0-5][0-5][0-3][0-5]) [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] | [1-6][0-5][0-5][0-3][0-5])
@ -1323,7 +1465,7 @@ change_v2ray_dynamicport() {
echo echo
while :; do while :; do
echo -e "是否需要修改传输协议 [${magenta}Y/N$none]" echo -e "是否需要修改传输协议 [${magenta}Y/N$none]"
read -p "$(echo -e "默认 [${magenta}N$none]:")" y_n read -p "$(echo -e "默认 [${cyan}N$none]:")" y_n
if [[ -z $y_n ]]; then if [[ -z $y_n ]]; then
echo echo
echo -e "$green 已取消修改传输协议...$none" echo -e "$green 已取消修改传输协议...$none"
@ -1351,7 +1493,7 @@ change_v2ray_dynamic_port_start() {
echo echo
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray 动态端口开始 "$none"范围 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray 动态端口开始 "$none"范围 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(当前动态开始端口: ${magenta}$v2ray_dynamicPort_start$none):")" v2ray_dynamic_port_start_input read -p "$(echo -e "(当前动态开始端口: ${cyan}$v2ray_dynamicPort_start$none):")" v2ray_dynamic_port_start_input
[ -z $v2ray_dynamic_port_start_input ] && error && continue [ -z $v2ray_dynamic_port_start_input ] && error && continue
case $v2ray_dynamic_port_start_input in case $v2ray_dynamic_port_start_input in
$v2ray_port) $v2ray_port)
@ -1394,7 +1536,7 @@ change_v2ray_dynamic_port_end() {
echo echo
while :; do while :; do
echo -e "请输入 "$yellow"V2Ray 动态端口结束 "$none"范围 ["$magenta"1-65535"$none"]" echo -e "请输入 "$yellow"V2Ray 动态端口结束 "$none"范围 ["$magenta"1-65535"$none"]"
read -p "$(echo -e "(当前动态结束端口: ${magenta}$v2ray_dynamicPort_end$none):")" v2ray_dynamic_port_end_input read -p "$(echo -e "(当前动态结束端口: ${cyan}$v2ray_dynamicPort_end$none):")" v2ray_dynamic_port_end_input
[ -z $v2ray_dynamic_port_end_input ] && error && continue [ -z $v2ray_dynamic_port_end_input ] && error && continue
case $v2ray_dynamic_port_end_input in 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] | [1-6][0-5][0-5][0-3][0-5]) [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] | [1-6][0-5][0-5][0-3][0-5])
@ -1436,7 +1578,7 @@ change_v2ray_id() {
echo echo
while :; do while :; do
echo -e "是否确定要修改用户ID [${magenta}Y/N$none]" echo -e "是否确定要修改用户ID [${magenta}Y/N$none]"
read -p "$(echo -e "默认 [${magenta}N$none]:")" y_n read -p "$(echo -e "默认 [${cyan}N$none]:")" y_n
if [[ -z $y_n ]]; then if [[ -z $y_n ]]; then
echo echo
echo -e "$green 已取消修改用户ID...$none" echo -e "$green 已取消修改用户ID...$none"
@ -1542,8 +1684,156 @@ change_domain() {
echo echo
fi fi
} }
change_ws_path_config() {
if [[ $v2ray_transport == 4 && $caddy_installed ]] && [[ $is_ws_path ]]; then
echo
while :; do
echo -e "请输入想要 ${magenta}用来分流的路径$none , 例如 /233blog , 那么只需要输入 233blog 即可"
read -p "$(echo -e "(当前分流的路径: [${cyan}/${ws_path}$none]):")" new_ws_path
[[ -z $new_ws_path ]] && error && continue
case $new_ws_path in
$ws_path)
echo
echo -e " 大佬...跟 当前分流的路径 一毛一样啊...修改个鸡鸡哦 "
echo
error
;;
*/*)
echo
echo -e " 由于这个脚本太辣鸡了..所以不能包含 $red/$none 这个符号.... "
echo
error
;;
*)
echo
echo
echo -e "$yellow 分流的路径 = ${cyan}/${new_ws_path}$none"
echo "----------------------------------------------------------------"
echo
break
;;
esac
done
pause
sed -i "43s/$ws_path/$new_ws_path/" $backup
ws_path=$new_ws_path
caddy_config
config
clear
view_v2ray_config_info
download_v2ray_config_ask
elif [[ $v2ray_transport == 4 && $caddy_installed ]]; then
ws_path_config_ask
if [[ $new_ws_path ]]; then
sed -i "41s/false/true/; 43s/$ws_path/$new_ws_path/; $ d" $backup
echo "$proxy_site" >>$backup
ws_path=$new_ws_path
is_ws_path=true
caddy_config
config
clear
view_v2ray_config_info
download_v2ray_config_ask
else
echo
echo
echo " 给大佬点赞....好果断的放弃配置 网站伪装 和 路径分流"
echo
echo
fi
else
echo
echo -e "$red 抱歉...不支持修改...$none"
echo
echo -e " 备注..修改 分流的路径 仅支持传输协议为 ${yellow}WebSocket + TLS$none 并且$yellow 自动配置 TLS = 打开$none"
echo
echo -e " 当前传输协议为: ${cyan}${transport[$v2ray_transport - 1]}${none}"
echo
if [[ $caddy_installed ]]; then
echo -e " 自动配置 TLS = ${cyan}打开$none"
else
echo -e " 自动配置 TLS = $red关闭$none"
fi
echo
change_v2ray_transport_ask
fi
}
change_proxy_site_config() {
if [[ $v2ray_transport == 4 && $caddy_installed ]] && [[ $is_ws_path ]]; then
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}$(sed '$!d' $backup)$none]):")" proxy_site
[[ -z $proxy_site ]] && error && continue
case $proxy_site in
*)
echo
echo
echo -e "$yellow 伪装的网址 = ${cyan}${proxy_site}$none"
echo "----------------------------------------------------------------"
echo
break
;;
esac
done
pause
sed -i "$ d" $backup
echo "$proxy_site" >>$backup
caddy_config
echo
echo
echo " 哎哟...好像是修改成功了..."
echo
echo -e " 赶紧打开你的域名 ${cyan}https://${domain}$none 检查一下看看"
echo
echo
elif [[ $v2ray_transport == 4 && $caddy_installed ]]; then
ws_path_config_ask
if [[ $new_ws_path ]]; then
sed -i "41s/false/true/; 43s/$ws_path/$new_ws_path/; $ d" $backup
echo "$proxy_site" >>$backup
ws_path=$new_ws_path
is_ws_path=true
caddy_config
config
clear
view_v2ray_config_info
download_v2ray_config_ask
else
echo
echo
echo " 给大佬点赞....好果断的放弃配置 网站伪装 和 路径分流"
echo
echo
fi
else
echo
echo -e "$red 抱歉...不支持修改...$none"
echo
echo -e " 备注..修改 伪装的网址 仅支持传输协议为 ${yellow}WebSocket + TLS$none 并且$yellow 自动配置 TLS = 打开$none"
echo
echo -e " 当前传输协议为: ${cyan}${transport[$v2ray_transport - 1]}${none}"
echo
if [[ $caddy_installed ]]; then
echo -e " 自动配置 TLS = ${cyan}打开$none"
else
echo -e " 自动配置 TLS = $red关闭$none"
fi
echo
change_v2ray_transport_ask
fi
}
domain_check() { domain_check() {
test_domain=$(dig $new_domain +short) # test_domain=$(dig $new_domain +short)
test_domain=$(ping $domain -c 1 | grep -oP -m1 "([\d.]+){3}\d")
if [[ $test_domain != $ip ]]; then if [[ $test_domain != $ip ]]; then
echo echo
echo -e "$red 检测域名解析错误....$none" echo -e "$red 检测域名解析错误....$none"
@ -1864,6 +2154,10 @@ create_v2ray_config_text() {
echo echo
echo "伪装类型 (header type) = ${header}" echo "伪装类型 (header type) = ${header}"
echo echo
if [[ $is_ws_path ]]; then
echo -e "$yellow WebSocket 路径 (WS path) = ${cyan}/${ws_path}$none"
echo
fi
echo "TLS (Enable TLS) = 打开" echo "TLS (Enable TLS) = 打开"
echo echo
echo -e " 请将 Obfs 设置为 $obfs ...并忽略 传输协议... (如果你使用 Pepi / ShadowRay) " echo -e " 请将 Obfs 设置为 $obfs ...并忽略 传输协议... (如果你使用 Pepi / ShadowRay) "
@ -1894,16 +2188,16 @@ create_v2ray_config_text() {
echo -e "帅帅的提示...此 V2Ray 配置不支持 Pepi / ShadowRay" echo -e "帅帅的提示...此 V2Ray 配置不支持 Pepi / ShadowRay"
echo echo
fi fi
if [[ $v2ray_transport -ge 9 && $is_blocked_ad ]]; then fi
echo "备注: 动态端口已启用...广告拦截已开启..." if [[ $v2ray_transport -ge 9 && $is_blocked_ad ]]; then
echo echo "备注: 动态端口已启用...广告拦截已开启..."
elif [[ $v2ray_transport -ge 9 ]]; then echo
echo "备注: 动态端口已启用..." elif [[ $v2ray_transport -ge 9 ]]; then
echo echo "备注: 动态端口已启用..."
elif [[ $is_blocked_ad ]]; then echo
echo "备注: 广告拦截已开启.." elif [[ $is_blocked_ad ]]; then
echo echo "备注: 广告拦截已开启.."
fi echo
fi fi
echo "---------- END -------------" echo "---------- END -------------"
echo echo
@ -2015,7 +2309,7 @@ get_v2ray_vmess_URL_link() {
echo echo
echo $vmess echo $vmess
echo echo
rm -rf /etc/v2ray/vmess_qr.json rm -rf /etc/v2ray/vmess_qr.json
} }
other() { other() {
while :; do while :; do
@ -2993,6 +3287,11 @@ config() {
if [[ $v2ray_transport_opt -eq 4 || $v2ray_transport -eq 4 ]]; then if [[ $v2ray_transport_opt -eq 4 || $v2ray_transport -eq 4 ]]; then
sed -i "s/233blog.com/$domain/; 22s/2333/443/; 25s/$old_id/$v2ray_id/" $v2ray_client_config sed -i "s/233blog.com/$domain/; 22s/2333/443/; 25s/$old_id/$v2ray_id/" $v2ray_client_config
if [[ $is_ws_path ]]; then
sed -i "41s/233blog/$ws_path/" $v2ray_client_config
else
sed -i "41s/233blog//" $v2ray_client_config
fi
else else
[[ -z $ip ]] && get_ip [[ -z $ip ]] && get_ip
sed -i "s/233blog.com/$ip/; 22s/2333/$v2ray_port/; 25s/$old_id/$v2ray_id/" $v2ray_client_config sed -i "s/233blog.com/$ip/; 22s/2333/$v2ray_port/; 25s/$old_id/$v2ray_id/" $v2ray_client_config
@ -3050,7 +3349,7 @@ _boom_() {
echo echo
echo -e "$yellow 配置信息链接: $cyan$link2$none" echo -e "$yellow 配置信息链接: $cyan$link2$none"
echo echo
echo -e "$yellow V2RayN 二维码链接: $cyan$link3$none" echo -e "$yellow V2RayN / Kitsunebi 二维码链接: $cyan$link3$none"
echo echo
echo -e "$yellow Pepi / ShadowRay 二维码链接: $cyan$link$none" echo -e "$yellow Pepi / ShadowRay 二维码链接: $cyan$link$none"
echo echo
@ -3219,28 +3518,28 @@ case $args in
menu) menu)
menu menu
;; ;;
info) i | info)
view_v2ray_config_info view_v2ray_config_info
;; ;;
config) c | config)
change_v2ray_config change_v2ray_config
;; ;;
link) l | link)
get_v2ray_config_link get_v2ray_config_link
;; ;;
infolink) L | infolink)
get_v2ray_config_info_link get_v2ray_config_info_link
;; ;;
qr) q | qr)
get_v2ray_config_qr_link get_v2ray_config_qr_link
;; ;;
ss) s | ss)
change_shadowsocks_config change_shadowsocks_config
;; ;;
ssinfo) S | ssinfo)
view_shadowsocks_config_info view_shadowsocks_config_info
;; ;;
ssqr) Q | ssqr)
get_shadowsocks_config_qr_link get_shadowsocks_config_qr_link
;; ;;
status) status)
@ -3263,14 +3562,14 @@ log)
url | URL) url | URL)
get_v2ray_vmess_URL_link get_v2ray_vmess_URL_link
;; ;;
update) u | update)
update_v2ray update_v2ray
;; ;;
update.sh) U | update.sh)
update_v2ray.sh update_v2ray.sh
exit exit
;; ;;
uninstall) un | uninstall)
uninstall_v2ray uninstall_v2ray
;; ;;
233 | 2333 | 233boy | 233blog | 233blog.com) 233 | 2333 | 233boy | 233blog | 233blog.com)

Loading…
Cancel
Save