update: caddy1 to caddy2

pull/880/head^2
233boy 3 years ago
parent 7f76440136
commit 9c63512887
  1. 33
      config/server/dynamic/http.json
  2. 33
      config/server/dynamic/kcp.json
  3. 33
      config/server/dynamic/quic.json
  4. 33
      config/server/dynamic/tcp.json
  5. 33
      config/server/dynamic/ws.json
  6. 42
      config/server/h2.json
  7. 33
      config/server/http.json
  8. 33
      config/server/kcp.json
  9. 33
      config/server/quic.json
  10. 33
      config/server/tcp.json
  11. 33
      config/server/vless_ws.json
  12. 33
      config/server/ws.json
  13. 37
      src/caddy-config.sh
  14. 26
      src/download-caddy.sh
  15. 21
      v2ray.sh

@ -126,32 +126,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -98,32 +98,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -100,32 +100,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -85,32 +85,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -88,32 +88,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -24,15 +24,6 @@
"233blog.com" "233blog.com"
], ],
"path": "/233blog" "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": { "sniffing": {
@ -81,32 +72,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -99,32 +99,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -71,32 +71,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -72,32 +72,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -66,32 +66,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -68,32 +68,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -66,32 +66,13 @@
"routing": { "routing": {
"domainStrategy": "IPOnDemand", "domainStrategy": "IPOnDemand",
"rules": [ "rules": [
{ {
"type": "field", "type": "field",
"ip": [ "ip": [
"0.0.0.0/8", "geoip:private"
"10.0.0.0/8", ],
"100.64.0.0/10", "outboundTag": "blocked"
"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"
}
//include_ban_xx //include_ban_xx
//include_ban_bt //include_ban_bt
//include_ban_ad //include_ban_ad

@ -5,14 +5,12 @@ case $v2ray_transport in
if [[ $is_path ]]; then if [[ $is_path ]]; then
cat >/etc/caddy/Caddyfile <<-EOF cat >/etc/caddy/Caddyfile <<-EOF
$domain { $domain {
gzip reverse_proxy $proxy_site {
timeouts none header_up Host {upstream_hostport}
proxy / $proxy_site { header_up X-Forwarded-Host {host}
except /${path}
} }
proxy /${path} 127.0.0.1:${v2ray_port} { handle_path /${path} {
without /${path} reverse_proxy 127.0.0.1:${v2ray_port}
websocket
} }
} }
import sites/* import sites/*
@ -20,10 +18,7 @@ import sites/*
else else
cat >/etc/caddy/Caddyfile <<-EOF cat >/etc/caddy/Caddyfile <<-EOF
$domain { $domain {
timeouts none reverse_proxy 127.0.0.1:${v2ray_port}
proxy / 127.0.0.1:${v2ray_port} {
websocket
}
} }
import sites/* import sites/*
EOF EOF
@ -33,28 +28,18 @@ import sites/*
if [[ $is_path ]]; then if [[ $is_path ]]; then
cat >/etc/caddy/Caddyfile <<-EOF cat >/etc/caddy/Caddyfile <<-EOF
$domain { $domain {
gzip reverse_proxy $proxy_site {
timeouts none header_up Host {upstream_hostport}
proxy / $proxy_site { header_up X-Forwarded-Host {host}
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 /${path} h2c://127.0.0.1:${v2ray_port}
} }
import sites/* import sites/*
EOF EOF
else else
cat >/etc/caddy/Caddyfile <<-EOF cat >/etc/caddy/Caddyfile <<-EOF
$domain { $domain {
timeouts none reverse_proxy h2c://127.0.0.1:${v2ray_port}
proxy / https://127.0.0.1:${v2ray_port} {
header_upstream Host {host}
header_upstream X-Forwarded-Proto {scheme}
insecure_skip_verify
}
} }
import sites/* import sites/*
EOF EOF

@ -6,7 +6,8 @@ _download_caddy_file() {
echo -e "$red 获取 Caddy 下载参数失败!$none" && exit 1 echo -e "$red 获取 Caddy 下载参数失败!$none" && exit 1
fi fi
# local caddy_download_link="https://caddyserver.com/download/linux/${caddy_arch}?license=personal" # 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 mkdir -p $caddy_tmp
@ -43,30 +44,25 @@ _install_caddy_service() {
#### 。。。。。 use root user run caddy... #### 。。。。。 use root user run caddy...
cat >/lib/systemd/system/caddy.service <<-EOF cat >/lib/systemd/system/caddy.service <<-EOF
#https://github.com/caddyserver/dist/blob/master/init/caddy.service
[Unit] [Unit]
Description=Caddy HTTP/2 web server Description=Caddy
Documentation=https://caddyserver.com/docs Documentation=https://caddyserver.com/docs/
After=network.target After=network.target network-online.target
Wants=network.target Requires=network-online.target
[Service] [Service]
Restart=on-abnormal Type=notify
User=root User=root
Group=root Group=root
Environment=CADDYPATH=/etc/ssl/caddy ExecStart=/usr/local/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecStart=/usr/local/bin/caddy -log stdout -log-timestamps=false -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp ExecReload=/usr/local/bin/caddy reload --config /etc/caddy/Caddyfile
ExecReload=/bin/kill -USR1 \$MAINPID
KillMode=mixed
KillSignal=SIGQUIT
TimeoutStopSec=5s TimeoutStopSec=5s
LimitNOFILE=1048576 LimitNOFILE=1048576
LimitNPROC=512 LimitNPROC=512
PrivateTmp=true PrivateTmp=true
PrivateDevices=false
ProtectHome=true
ProtectSystem=full ProtectSystem=full
ReadWritePaths=/etc/ssl/caddy #AmbientCapabilities=CAP_NET_BIND_SERVICE
ReadWriteDirectories=/etc/ssl/caddy
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

@ -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="v3.53" _version="v3.54"
cmd="apt-get" cmd="apt-get"
@ -96,6 +96,23 @@ if [[ ! $(grep 'v2ray.vmess.aead.forced=false' /lib/systemd/system/v2ray.service
systemctl restart v2ray systemctl restart v2ray
fi 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 if [[ $v2ray_ver != v* ]]; then
v2ray_ver="v$v2ray_ver" v2ray_ver="v$v2ray_ver"
fi fi
@ -1737,7 +1754,7 @@ change_proxy_site_config() {
} }
domain_check() { domain_check() {
# test_domain=$(dig $new_domain +short) # test_domain=$(dig $new_domain +short)
test_domain=$(ping $new_domain -c 1 -4 -W 2| 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=$(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 if [[ $test_domain != $ip ]]; then

Loading…
Cancel
Save