diff --git a/config/server/dynamic/http.json b/config/server/dynamic/http.json index bf5f85d..b1815ba 100644 --- a/config/server/dynamic/http.json +++ b/config/server/dynamic/http.json @@ -106,54 +106,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/dynamic/kcp.json b/config/server/dynamic/kcp.json index 5e8fb16..461fc90 100644 --- a/config/server/dynamic/kcp.json +++ b/config/server/dynamic/kcp.json @@ -78,54 +78,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/dynamic/quic.json b/config/server/dynamic/quic.json index 73dda58..90a7d26 100644 --- a/config/server/dynamic/quic.json +++ b/config/server/dynamic/quic.json @@ -80,54 +80,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/dynamic/tcp.json b/config/server/dynamic/tcp.json index 9a8e049..c3b8935 100644 --- a/config/server/dynamic/tcp.json +++ b/config/server/dynamic/tcp.json @@ -65,54 +65,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/dynamic/ws.json b/config/server/dynamic/ws.json index 31ecee3..c984053 100644 --- a/config/server/dynamic/ws.json +++ b/config/server/dynamic/ws.json @@ -68,54 +68,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/h2.json b/config/server/h2.json index fc52a20..c51996c 100644 --- a/config/server/h2.json +++ b/config/server/h2.json @@ -24,15 +24,6 @@ "233blog.com" ], "path": "/233blog" - }, - "security": "tls", - "tlsSettings": { - "certificates": [ - { - "certificateFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.cer", - "keyFile": "/etc/v2ray/233boy/v2ray/config/233blog.com.key" - } - ] } }, "sniffing": { @@ -61,54 +52,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/http.json b/config/server/http.json index 666d313..7056cb5 100644 --- a/config/server/http.json +++ b/config/server/http.json @@ -79,54 +79,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://8.8.8.8/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/kcp.json b/config/server/kcp.json index e282d95..891d0eb 100644 --- a/config/server/kcp.json +++ b/config/server/kcp.json @@ -51,54 +51,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/quic.json b/config/server/quic.json index 61cb30b..0dcde7f 100644 --- a/config/server/quic.json +++ b/config/server/quic.json @@ -52,54 +52,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/tcp.json b/config/server/tcp.json index bfff340..58b06b9 100644 --- a/config/server/tcp.json +++ b/config/server/tcp.json @@ -46,54 +46,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/vless_ws.json b/config/server/vless_ws.json index 32e0263..175ed09 100644 --- a/config/server/vless_ws.json +++ b/config/server/vless_ws.json @@ -48,54 +48,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/config/server/ws.json b/config/server/ws.json index 2fc7813..3058435 100644 --- a/config/server/ws.json +++ b/config/server/ws.json @@ -46,54 +46,28 @@ "protocol": "blackhole", "settings": {}, "tag": "blocked" - }, - { - "protocol": "mtproto", - "settings": {}, - "tag": "tg-out" - } + } //include_out_config // ], "dns": { "servers": [ - "https+local://1.1.1.1/dns-query", - "1.1.1.1", - "1.0.0.1", + "https+local://dns.google/dns-query", "8.8.8.8", - "8.8.4.4", + "1.1.1.1", "localhost" ] }, "routing": { "domainStrategy": "IPOnDemand", "rules": [ - { - "type": "field", - "ip": [ - "0.0.0.0/8", - "10.0.0.0/8", - "100.64.0.0/10", - "127.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "::1/128", - "fc00::/7", - "fe80::/10" - ], - "outboundTag": "blocked" - }, - { - "type": "field", - "inboundTag": ["tg-in"], - "outboundTag": "tg-out" - } + { + "type": "field", + "ip": [ + "geoip:private" + ], + "outboundTag": "blocked" + } //include_ban_xx //include_ban_bt //include_ban_ad diff --git a/src/caddy-config.sh b/src/caddy-config.sh index b7ed92b..77392a4 100644 --- a/src/caddy-config.sh +++ b/src/caddy-config.sh @@ -5,14 +5,12 @@ case $v2ray_transport in if [[ $is_path ]]; then cat >/etc/caddy/Caddyfile <<-EOF $domain { - gzip - timeouts none - proxy / $proxy_site { - except /${path} + reverse_proxy $proxy_site { + header_up Host {upstream_hostport} + header_up X-Forwarded-Host {host} } - proxy /${path} 127.0.0.1:${v2ray_port} { - without /${path} - websocket + handle_path /${path} { + reverse_proxy 127.0.0.1:${v2ray_port} } } import sites/* @@ -20,10 +18,7 @@ import sites/* else cat >/etc/caddy/Caddyfile <<-EOF $domain { - timeouts none - proxy / 127.0.0.1:${v2ray_port} { - websocket - } + reverse_proxy 127.0.0.1:${v2ray_port} } import sites/* EOF @@ -33,28 +28,18 @@ import sites/* if [[ $is_path ]]; then cat >/etc/caddy/Caddyfile <<-EOF $domain { - gzip - timeouts none - proxy / $proxy_site { - except /${path} - } - proxy /${path} https://127.0.0.1:${v2ray_port} { - header_upstream Host {host} - header_upstream X-Forwarded-Proto {scheme} - insecure_skip_verify + reverse_proxy $proxy_site { + header_up Host {upstream_hostport} + header_up X-Forwarded-Host {host} } + reverse_proxy /${path} h2c://127.0.0.1:${v2ray_port} } import sites/* EOF else cat >/etc/caddy/Caddyfile <<-EOF $domain { - timeouts none - proxy / https://127.0.0.1:${v2ray_port} { - header_upstream Host {host} - header_upstream X-Forwarded-Proto {scheme} - insecure_skip_verify - } + reverse_proxy h2c://127.0.0.1:${v2ray_port} } import sites/* EOF diff --git a/src/download-caddy.sh b/src/download-caddy.sh index fe41a0d..dd20bb4 100644 --- a/src/download-caddy.sh +++ b/src/download-caddy.sh @@ -6,7 +6,8 @@ _download_caddy_file() { echo -e "$red 获取 Caddy 下载参数失败!$none" && exit 1 fi # local caddy_download_link="https://caddyserver.com/download/linux/${caddy_arch}?license=personal" - local caddy_download_link="https://github.com/caddyserver/caddy/releases/download/v1.0.4/caddy_v1.0.4_linux_${caddy_arch}.tar.gz" + # local caddy_download_link="https://github.com/caddyserver/caddy/releases/download/v1.0.4/caddy_v1.0.4_linux_${caddy_arch}.tar.gz" + local caddy_download_link="https://github.com/caddyserver/caddy/releases/download/v2.5.1/caddy_2.5.1_linux_${caddy_arch}.tar.gz" mkdir -p $caddy_tmp @@ -27,43 +28,45 @@ _install_caddy_service() { # setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/caddy if [[ $systemd ]]; then - cp -f ${caddy_tmp}init/linux-systemd/caddy.service /lib/systemd/system/ + # cp -f ${caddy_tmp}init/linux-systemd/caddy.service /lib/systemd/system/ # if ! wget https://raw.githubusercontent.com/caddyserver/caddy/master/dist/init/linux-systemd/caddy.service -O /lib/systemd/system/caddy.service; then # echo -e "$red 下载 caddy.service 失败!$none" && exit 1 # fi # sed -i "s/-log-timestamps=false//g" /lib/systemd/system/caddy.service - if [[ ! $(grep "ReadWriteDirectories" /lib/systemd/system/caddy.service) ]]; then - sed -i "/ReadWritePaths/a ReadWriteDirectories=/etc/ssl/caddy" /lib/systemd/system/caddy.service - fi - sed -i "s/www-data/root/g" /lib/systemd/system/caddy.service + # if [[ ! $(grep "ReadWriteDirectories" /lib/systemd/system/caddy.service) ]]; then + # sed -i "/ReadWritePaths/a ReadWriteDirectories=/etc/ssl/caddy" /lib/systemd/system/caddy.service + # fi + # sed -i "s/www-data/root/g" /lib/systemd/system/caddy.service # sed -i "/on-abnormal/a RestartSec=3" /lib/systemd/system/caddy.service # sed -i "s/on-abnormal/always/" /lib/systemd/system/caddy.service #### 。。。。。 Warning.....Warning.......Warning........Warning...... #### 。。。。。 use root user run caddy... - # cat >/lib/systemd/system/caddy.service <<-EOF - # [Unit] - # Description=Caddy HTTP/2 web server - # Documentation=https://caddyserver.com/docs - # After=network.target - # Wants=network.target + cat >/lib/systemd/system/caddy.service <<-EOF +#https://github.com/caddyserver/dist/blob/master/init/caddy.service +[Unit] +Description=Caddy +Documentation=https://caddyserver.com/docs/ +After=network.target network-online.target +Requires=network-online.target - # [Service] - # Restart=always - # RestartSec=3 - # Environment=CADDYPATH=/root/.caddy - # ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp - # ExecReload=/bin/kill -USR1 $MAINPID - # KillMode=mixed - # KillSignal=SIGQUIT - # TimeoutStopSec=5s - # LimitNOFILE=1048576 - # LimitNPROC=512 +[Service] +Type=notify +User=root +Group=root +ExecStart=/usr/local/bin/caddy run --environ --config /etc/caddy/Caddyfile +ExecReload=/usr/local/bin/caddy reload --config /etc/caddy/Caddyfile +TimeoutStopSec=5s +LimitNOFILE=1048576 +LimitNPROC=512 +PrivateTmp=true +ProtectSystem=full +#AmbientCapabilities=CAP_NET_BIND_SERVICE - # [Install] - # WantedBy=multi-user.target - # EOF +[Install] +WantedBy=multi-user.target + EOF systemctl enable caddy else cp -f ${caddy_tmp}init/linux-sysvinit/caddy /etc/init.d/caddy diff --git a/src/download-v2ray.sh b/src/download-v2ray.sh index 770ccb7..554f792 100644 --- a/src/download-v2ray.sh +++ b/src/download-v2ray.sh @@ -50,10 +50,11 @@ Type=simple # More discussion at https://github.com/v2ray/v2ray-core/issues/1011 User=root #User=nobody -CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE -AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +Environment="V2RAY_VMESS_AEAD_FORCED=false" +#CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +#AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE NoNewPrivileges=true -ExecStart=/usr/bin/v2ray/v2ray -config /etc/v2ray/config.json +ExecStart=/usr/bin/env v2ray.vmess.aead.forced=false /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json #Restart=on-failure Restart=always diff --git a/v2ray.sh b/v2ray.sh index 32af270..2608381 100644 --- a/v2ray.sh +++ b/v2ray.sh @@ -10,7 +10,7 @@ none='\e[0m' # Root [[ $(id -u) != 0 ]] && echo -e " 哎呀……请使用 ${red}root ${none}用户运行 ${yellow}~(^_^) ${none}" && exit 1 -_version="v3.45" +_version="v3.55" cmd="apt-get" @@ -89,6 +89,30 @@ v2ray_ver="$(/usr/bin/v2ray/v2ray -version | head -n 1 | cut -d " " -f2)" systemd=true # _test=true +# fix VMessAEAD +if [[ ! $(grep 'v2ray.vmess.aead.forced=false' /lib/systemd/system/v2ray.service) ]]; then + sed -i 's|ExecStart=|ExecStart=/usr/bin/env v2ray.vmess.aead.forced=false |' /lib/systemd/system/v2ray.service + systemctl daemon-reload + systemctl restart v2ray +fi + +# fix caddy2 config +if [[ $caddy ]]; then + /usr/local/bin/caddy version >/dev/null 2>&1 + if [[ $? == 1 ]]; then + echo -e "\n $yellow 警告: 脚本将自动更新 Caddy 版本。 $none \n" + systemctl stop caddy + _load download-caddy.sh + _download_caddy_file + _install_caddy_service + systemctl daemon-reload + _load caddy-config.sh + systemctl restart caddy + echo -e "\n $green 更新 Caddy 版本完成, 要是出问题了你可以重装解决。 $none \n" + exit 0 + fi +fi + if [[ $v2ray_ver != v* ]]; then v2ray_ver="v$v2ray_ver" fi @@ -1730,9 +1754,9 @@ change_proxy_site_config() { } domain_check() { # test_domain=$(dig $new_domain +short) - # test_domain=$(ping $new_domain -c 1 -4 | grep -oE -m1 "([0-9]{1,3}\.){3}[0-9]{1,3}") + test_domain=$(ping $new_domain -c 1 -4 -W 2 | grep -oE -m1 "([0-9]{1,3}\.){3}[0-9]{1,3}") # test_domain=$(wget -qO- --header='accept: application/dns-json' "https://cloudflare-dns.com/dns-query?name=$new_domain&type=A" | grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -1) - test_domain=$(curl -sH 'accept: application/dns-json' "https://cloudflare-dns.com/dns-query?name=$new_domain&type=A" | grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -1) + # test_domain=$(curl -sH 'accept: application/dns-json' "https://cloudflare-dns.com/dns-query?name=$new_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" @@ -2287,11 +2311,7 @@ other() { echo echo -e "$yellow 1. $none安装 BBR" echo - echo -e "$yellow 2. $none安装 LotServer(锐速)" - echo - echo -e "$yellow 3. $none卸载 LotServer(锐速)" - echo - read -p "$(echo -e "请选择 [${magenta}1-3$none]:")" _opt + read -p "$(echo -e "请选择 [${magenta}1$none]:")" _opt if [[ -z $_opt ]]; then error else @@ -2300,14 +2320,6 @@ other() { install_bbr break ;; - 2) - install_lotserver - break - ;; - 3) - uninstall_lotserver - break - ;; *) error ;; @@ -2328,18 +2340,6 @@ install_bbr() { [[ ! $enable_bbr ]] && bash <(curl -s -L https://github.com/teddysun/across/raw/master/bbr.sh) fi } -install_lotserver() { - # https://moeclub.org/2017/03/08/14/ - wget --no-check-certificate -qO /tmp/appex.sh "https://raw.githubusercontent.com/0oVicero0/serverSpeeder_Install/master/appex.sh" - bash /tmp/appex.sh 'install' - rm -rf /tmp/appex.sh -} -uninstall_lotserver() { - # https://moeclub.org/2017/03/08/14/ - wget --no-check-certificate -qO /tmp/appex.sh "https://raw.githubusercontent.com/0oVicero0/serverSpeeder_Install/master/appex.sh" - bash /tmp/appex.sh 'uninstall' - rm -rf /tmp/appex.sh -} update() { while :; do