{"id":1908,"date":"2022-04-08T15:46:27","date_gmt":"2022-04-08T07:46:27","guid":{"rendered":"https:\/\/dasmz.com\/?p=1908"},"modified":"2022-04-09T18:27:48","modified_gmt":"2022-04-09T10:27:48","slug":"naiveproxy-%e6%90%ad%e5%bb%ba%e9%83%a8%e7%bd%b2%e6%95%99%e7%a8%8b-2022-4-8","status":"publish","type":"post","link":"https:\/\/dasmz.com\/?p=1908","title":{"rendered":"Na\u00efveProxy \u642d\u5efa\u90e8\u7f72\u5b89\u88c5\u6559\u7a0b 2022-4-8"},"content":{"rendered":"\n<p><strong>\u6bb5\u843d1\u3001\u7b80\u7565\u4ecb\u7ecd<\/strong><\/p>\n\n\n\n<p>Na\u00efveProxy\u662f\u4e00\u4e2a\u57fa\u4e8e\u8c37\u6b4c\u6d4f\u89c8\u5668\u7684\u7f51\u7edc\u7ec4\u5efa\uff0c\u8fdb\u884c\u6570\u636e\u5305\u8f6c\u53d1\u7684\u5957\u4ef6\uff0c\u5177\u4f53\u7684\u7528\u9014\uff0c\u4f60\u4eec\u61c2\u7684\u5466\uff0c\u5b83\u6700\u5927\u7684\u4f18\u52bf\u662fTLS\u7684\u6d41\u91cf\u6307\u7eb9\uff0c\u662f\u8c37\u6b4c\u6d4f\u89c8\u5668Chrome\u7684\uff0c\u90a3\u4e2a\u53eb\u5565\u201c\u6cef\u7136\u4f17\u4eba\u201d\uff0c\u662f\u7684\uff0c\u6d41\u91cf\u5c31\u662f\u7279\u5f81\u5c31\u8ddf\u666e\u901a\u6d4f\u89c8\u5668\u7684\u4e00\u6a21\u4e00\u6837\u4e86\u3002<\/p>\n\n\n\n<p>\u9879\u76ee\u5730\u5740 <a href=\"https:\/\/github.com\/klzgrad\/naiveproxy\" data-type=\"URL\" data-id=\"https:\/\/github.com\/klzgrad\/naiveproxy\">https:\/\/github.com\/klzgrad\/naiveproxy<\/a><\/p>\n\n\n\n<p><strong>\u6bb5\u843d2\u3001\u73af\u5883<\/strong><\/p>\n\n\n\n<p>\u7f8e\u56fd\u670d\u52a1\u5668 1C-1G-15GB\u78c1\u76d8<\/p>\n\n\n\n<p>\u672c\u5730Windows\u7535\u8111 <\/p>\n\n\n\n<p><strong>\u6bb5\u843d3\u3001\u8f6f\u4ef6\u5957\u88c5<\/strong><\/p>\n\n\n\n<p>Debian 10 \u7cfb\u7edf<\/p>\n\n\n\n<p>go\u8bed\u8a00\u73af\u5883<\/p>\n\n\n\n<p>caddy\u73af\u5883\uff0c\u56e0\u4e3a\u9700\u8981\u5176\u6b63\u5411\u4ee3\u7406\u7684\u529f\u80fd\uff0cNginx\u76ee\u524d\u4e0d\u652f\u6301\u3002<\/p>\n\n\n\n<p><strong>\u6bb5\u843d4\u3001\u5b89\u88c5GO\u8bed\u8a00\u7684\u73af\u5883<\/strong><\/p>\n\n\n\n<p>\u5b98\u7f51  <a href=\"https:\/\/go.dev\/\" data-type=\"URL\" data-id=\"https:\/\/go.dev\/\">https:\/\/go.dev\/<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img decoding=\"async\" loading=\"lazy\" width=\"1223\" height=\"893\" src=\"https:\/\/dasmz.com\/wp-content\/uploads\/2022\/04\/Screenshot-from-2022-04-08-15-49-26.png\" alt=\"GO Download Page\" class=\"wp-image-1912\" srcset=\"https:\/\/dasmz.com\/wp-content\/uploads\/2022\/04\/Screenshot-from-2022-04-08-15-49-26.png 1223w, https:\/\/dasmz.com\/wp-content\/uploads\/2022\/04\/Screenshot-from-2022-04-08-15-49-26-768x561.png 768w, https:\/\/dasmz.com\/wp-content\/uploads\/2022\/04\/Screenshot-from-2022-04-08-15-49-26-624x456.png 624w\" sizes=\"(max-width: 1223px) 100vw, 1223px\" \/><\/figure>\n\n\n\n<p>\u5f53\u524d\u65e5\u671f\uff0cgo\u7248\u672c\u4e3a1.18\uff0c\u4f46\u662f\uff0c\u6211\u8fd9\u91cc\u9700\u8981\u5b89\u88c5go 1.17\uff0c\u56e0\u4e3ago 1.18\u6682\u65f6\u8fd8\u4e0d\u652f\u6301qtls\uff0c\u5982\u679c\u6709\u65b0\u7248\u672c\uff0cqtls\u529f\u80fd\u652f\u6301\u4e86\uff0c\u4f60\u4eec\u5230\u65f6\u5019\u53ef\u4ee5\u5b89\u88c5\u65b0\u7248\u672c\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">root@server:~#  apt-get update\nroot@server:~#  apt-get install libnss3 debian-keyring debian-archive-keyring apt-transport-https   #\u5b89\u88c5\u4f9d\u8d56\nroot@server:~#  mkdir -p \/root\/src\/ \/usr\/local\/\nroot@server:~#  cd \/root\/src\/\nroot@server:~#  wget https:\/\/go.dev\/dl\/go1.17.linux-amd64.tar.gz\nroot@server:~#  tar -zxvf go1.17.linux-amd64.tar.gz -C \/usr\/local\/\nroot@server:~#  vi \/etc\/profile\n#  \/etc\/profile \u4e2d\u6dfb\u52a0 GO\u8bed\u8a00\u7684 \u73af\u5883\u53d8\u91cf\nexport GOROOT=\/usr\/local\/go\nexport PATH=$GOROOT\/bin:$PATH\nroot@server:~#  source \/etc\/profile\nroot@server:~#  which go\n\/usr\/local\/go\/bin\/go\nroot@server:~#  go version\ngo version go1.17 linux\/amd64\n\n<\/pre>\n\n\n\n<p><strong>\u6bb5\u843d5\u3001\u5b89\u88c5Na\u00efveProxy\u548cCaddy<\/strong><\/p>\n\n\n\n<p>\u9700\u8981\u5b89\u88c5Na\u00efveProxy\uff0c\u4e14\u4e0d\u662f\u5355\u72ec\u5b89\u88c5Caddy\uff0c\u52a1\u5fc5\u6309\u7167\u547d\u4ee4\u6267\u884c\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u547d\u4ee4\uff0c\u5728\u670d\u52a1\u5668\u4e0a\u6267\u884c\uff0c\u9700\u8981\u4fdd\u8bc1\u670d\u52a1\u5668\u5230github\u7684\u7f51\u7edc\u901a\u7545\u3002\u7f16\u8bd1build\u9700\u8981\u4e00\u5b9a\u7684\u65f6\u95f4\uff0c\u770b\u4f60\u670d\u52a1\u5668\u7684CPU\u6027\u80fd\uff0c\u8010\u5fc3\u7b49\u5f85\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\">root@server:~# cd \/root\/src\/\nroot@server:~# go install github.com\/caddyserver\/xcaddy\/cmd\/xcaddy@latest\nroot@server:~# ~\/go\/bin\/xcaddy build --with github.com\/caddyserver\/forwardproxy@caddy2=github.com\/klzgrad\/forwardproxy@naive\nroot@server:~# cp caddy \/usr\/bin\/\nroot@server:~# \/usr\/bin\/caddy version        # 2022-4-8 23:09\nv2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny\/7FhYp9hNw=  \nroot@server:~# setcap cap_net_bind_service=+ep \/usr\/bin\/caddy  # \u8bbe\u7f6ebind\u6743\u9650\uff0c\u53ef443<\/pre>\n\n\n\n<p>\u5b89\u88c5\u65e5\u5fd7\u8bb0\u5f55<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-medium-gray-color has-light-gray-background-color has-text-color has-background\" style=\"font-size:12px\"><em>root@server:~#   go install github.com\/caddyserver\/xcaddy\/cmd\/xcaddy@latest\ngo: downloading github.com\/caddyserver\/xcaddy v0.2.1\ngo: downloading github.com\/Masterminds\/semver\/v3 v3.1.1\n\nroot@server:~#   ~\/go\/bin\/xcaddy build --with github.com\/caddyserver\/forwardproxy@caddy2=github.com\/klzgrad\/forwardproxy@naive\n2022\/04\/08 04:15:51 [INFO] Temporary folder: \/tmp\/buildenv_2022-04-08-0415.1787806031\n2022\/04\/08 04:15:51 [INFO] Writing main module: \/tmp\/buildenv_2022-04-08-0415.1787806031\/main.go\n2022\/04\/08 04:15:51 [INFO] Initializing Go module\n2022\/04\/08 04:15:51 [INFO] exec (timeout=10s): \/usr\/local\/go\/bin\/go mod init caddy \ngo: creating new go.mod: module caddy\ngo: to add module requirements and sums:\n\tgo mod tidy\n2022\/04\/08 04:15:51 [INFO] Replace github.com\/caddyserver\/forwardproxy =&gt; github.com\/klzgrad\/forwardproxy@naive\n2022\/04\/08 04:15:51 [INFO] exec (timeout=10s): \/usr\/local\/go\/bin\/go mod edit -replace github.com\/caddyserver\/forwardproxy=github.com\/klzgrad\/forwardproxy@naive \n2022\/04\/08 04:15:51 [INFO] Pinning versions\n2022\/04\/08 04:15:51 [INFO] exec (timeout=0s): \/usr\/local\/go\/bin\/go get -d -v github.com\/caddyserver\/caddy\/v2 \ngo: downloading github.com\/caddyserver\/caddy\/v2 v2.4.6\ngo: downloading github.com\/caddyserver\/caddy v1.0.5<\/em>\n...\n\u65e5\u5fd7\u975e\u5e38\u591a\uff0c\u4e0d\u8d34\u51fa\u6765\u4e86\u2026\u2026\n...\n\/root\/go\/pkg\/mod\/github.com\/lucas-clemente\/quic-go@v0.23.0\/internal\/qtls\/go118.go:5:13: cannot use \"quic-go doesn't build on Go 1.18 yet.\" (untyped string constant) as int value in variable declaration\n<em>\n<\/em><\/pre>\n\n\n\n<p>\u5982\u679c\u51fa\u73b0\u5982\u4e0b\u7684\u62a5\u9519\u63d0\u793a\uff0c\u5219\u9700\u8981\u964d\u7ea7GO\u8bed\u8a00\u73af\u5883<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\">\/root\/go\/pkg\/mod\/github.com\/lucas-clemente\/quic-go@v0.23.0\/internal\/qtls\/go118.go:5:13: cannot use \"quic-go doesn't build on Go 1.18 yet.\" (untyped string constant) as int value in variable declaration<\/pre>\n\n\n\n<p>\u62a5\u9519\u63d0\u793a\uff0c\u6839\u636e\u5f00\u53d1\u8005\u8bf4\uff0c\u6682\u65f6go 1.18\u8fd8\u6ca1\u6709\u652f\u6301\u5230qtls\uff0c\u6240\u4ee5\uff0c\u8981\u5b89\u88c5go 1.17\u7248\u672c\u5373\u53ef\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img decoding=\"async\" loading=\"lazy\" width=\"973\" height=\"132\" src=\"https:\/\/dasmz.com\/wp-content\/uploads\/2022\/04\/Screenshot-from-2022-04-08-16-56-05.png\" alt=\"\" class=\"wp-image-1942\" srcset=\"https:\/\/dasmz.com\/wp-content\/uploads\/2022\/04\/Screenshot-from-2022-04-08-16-56-05.png 973w, https:\/\/dasmz.com\/wp-content\/uploads\/2022\/04\/Screenshot-from-2022-04-08-16-56-05-768x104.png 768w, https:\/\/dasmz.com\/wp-content\/uploads\/2022\/04\/Screenshot-from-2022-04-08-16-56-05-624x85.png 624w\" sizes=\"(max-width: 973px) 100vw, 973px\" \/><\/figure>\n\n\n\n<p>\u5982\u679c\u5b89\u88c5\u51fa\u73b0\u4e0a\u9762\u7684\u62a5\u9519\uff0c\u5219\u628a\u6267\u884c\u547d\u4ee4\u7684\u76ee\u5f55\u4e0b\u7684\u7f13\u5b58\u76ee\u5f55\u5220\u6389\uff0c\u91cd\u65b0build\u5373\u53ef\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u63d0\u9192\u5185\u5bb9\u5982\u4e0b\uff0c\u8868\u793abuild\u6210\u529f<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\"><em>go: downloading github.com\/shurcooL\/sanitized_anchor_name v1.0.0\ngo: downloading github.com\/OneOfOne\/xxhash v1.2.2\ngo: downloading github.com\/spaolacci\/murmur3 v1.1.0\ngo: downloading github.com\/fsnotify\/fsnotify v1.4.9\ngo: downloading golang.org\/x\/mod v0.4.2\ngo: downloading github.com\/golang\/groupcache v0.0.0-20210331224755-41bb18bfe9da\ngo: downloading github.com\/klzgrad\/forwardproxy v0.0.0-20210613072432-ff60d3bb5ad1\ngo: found github.com\/caddyserver\/forwardproxy in github.com\/caddyserver\/forwardproxy v0.0.0-00010101000000-000000000000\ngo: downloading github.com\/klauspost\/cpuid v1.2.5\n2022\/04\/08 06:12:32 [INFO] exec (timeout=0s): \/usr\/local\/go\/bin\/go build -o \/root\/src\/caddy -ldflags -w -s -trimpath \n2022\/04\/08 06:17:07 <strong>[INFO] Build complete: .\/caddy<\/strong>\n2022\/04\/08 06:17:07 [INFO] Cleaning up temporary folder: \/tmp\/buildenv_2022-04-08-0548.1309641503\n<\/em><\/pre>\n\n\n\n<p><strong>\u6bb5\u843d6\u3001Caddy\u7684\u914d\u7f6e\u6587\u4ef6<\/strong><\/p>\n\n\n\n<p>\u901a\u5e38\u5927\u5bb6\u90fd\u7528\u7684IPv4\u5730\u5740\uff0c\u6545\u800c\uff0c\u8fd9\u91cc\u9700\u8981\u914d\u7f6e\u4e00\u4e2a\u57df\u540d\u7684A\u8bb0\u5f55\uff0c\u6307\u5411\u4f60\u7684\u670d\u52a1\u5668\u516c\u7f51IPv4\u5730\u5740\uff0c\u4e14\u9700\u8981\u4e00\u5957\u53ef\u4fe1\u7684\u8bc1\u4e66\u6587\u4ef6\uff0c\u4e0d\u8981\u7528\u81ea\u7b7e\u7684\u8bc1\u4e66\u3002<\/p>\n\n\n\n<p>\u5b98\u65b9\u7ed9\u5230\u7684\u914d\u7f6e\u793a\u4f8b<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\">{\n  servers {\n    protocol {\n      experimental_http3\n    }\n  }\n}\n:443, example.com\ntls me@example.com\nroute {\n  forward_proxy {\n    basic_auth user pass\n    hide_ip\n    hide_via\n    probe_resistance\n  }\n  file_server { root \/var\/www\/html }\n}<\/pre>\n\n\n\n<p>\u8bed\u6cd5\u89e3\u91ca\uff0c\u5b98\u65b9\u5730\u5740 <a href=\"https:\/\/caddyserver.com\/docs\/json\/\" data-type=\"URL\" data-id=\"https:\/\/caddyserver.com\/docs\/json\/\">https:\/\/caddyserver.com\/docs\/json\/<\/a><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\">{\n  servers {\n    protocol {\n      experimental_http3  # \u542f\u7528 HTTP\/3\n    }\n  }\n}\n:443, example.com   # example.com\u4e3a\u670d\u52a1\u5668\u7684A\u6216\u8005AAAA\u8bb0\u5f55\uff0c\u57df\u540d\ntls me@example.com   # \u90ae\u7bb1\u5730\u5740\nroute {\n  forward_proxy {\n    basic_auth user pass   # \u81ea\u5b9a\u4e49\u7528\u6237\u540d\u548c\u5bc6\u7801 #\u591a\u7528\u6237\u5c31\u6309\u7167\u8fd9\u4e2a\u683c\u5f0f\u65b0\u589e\u4e00\u884c\n    hide_ip\n    hide_via\n    probe_resistance  # \u6297\u63a2\u6d4b\n  }\n  reverse_proxy {another.website.domain} # \u8981\u53cd\u4ee3\u7684\u7f51\u7ad9\uff0c\u4e8c\u9009\u4e00\n  file_server { root \/var\/www\/html } # \u81ea\u68c0\u7684\u7f51\u7ad9\uff0c\u4e8c\u9009\u4e00\n}<\/pre>\n\n\n\n<p class=\"has-blue-color has-text-color\"><strong><em>Dasmz\u63d0\u9192\uff0c\u76ee\u524d\u6765\u8bf4\uff0c\u56fd\u5185\u7684\u7f51\u7edc\u73af\u5883\uff0c\u4e0d\u63a8\u8350\u542f\u7528HTTP\/3\uff0c\u56e0\u4e3a\u5b83\u4f7f\u7528\u4e86QUIC\/UDP\uff0c\u56fd\u5185\u7684\u8fd0\u8425\u5546QoS\uff0c\u5bf9\u6b64\u5e76\u4e0d\u53cb\u597d\u3002<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\">\u5176\u4ed6Caddy\u53c2\u6570\u7528\u6cd5\u793a\u4f8b\nforwardproxy {\n    basicauth user1 password1\n    basicauth user2 password2\n    ports     80 443\n    hide_ip\n    hide_via\n    probe_resistance secret-link-kWWL9Q.com # alternatively you can use a real domain, such as caddyserver.com\n    serve_pac        \/secret-proxy.pac\n    response_timeout 30\n    dial_timeout     30\n    upstream         https:\/\/user:password@extra-upstream-hop.com\n    acl {\n      allow     *.caddyserver.com\n      deny      192.168.1.1\/32 192.168.0.0\/16 *.prohibitedsite.com *.localhost\n      allow     ::1\/128 8.8.8.8 github.com *.github.io\n      allowfile \/path\/to\/whitelist.txt\n      denyfile  \/path\/to\/blacklist.txt\n      allow     all\n      deny      all # unreachable rule, remaining requests are matched by `allow all` above\n    }\n}<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">\u7ed9\u5230\u4e00\u4e2a\u670d\u52a1\u5668\u7684\u793a\u8303\u914d\u7f6e\u4fe1\u606f 2022-4-9\n#  \/etc\/caddy\/caddy_server.json\n{\n  \"admin\": {\n    \"disabled\": true\n  },\n  \"logging\": {\n    \"sink\": {\n      \"writer\": {\n        \"output\": \"discard\"\n      }\n    },\n    \"logs\": {\n      \"default\": {\n        \"writer\": {\n          \"output\": \"discard\"\n        }\n      }\n    }\n  },\n  \"apps\": {\n    \"http\": {\n      \"servers\": {\n        \"srv0\": {\n          \"listen\": [\n            \":18443\"\n          ],\n          \"routes\": [\n            {\n              \"handle\": [\n                {\n                  \"handler\": \"subroute\",\n                  \"routes\": [\n                    {\n                      \"handle\": [\n                        {\n                          \"auth_pass_deprecated\": \"U\",\n                          \"auth_user_deprecated\": \"P_75b8B1\",\n                          \"handler\": \"forward_proxy\",\n                          \"hide_ip\": true,\n                          \"hide_via\": true,\n                          \"probe_resistance\": {}\n                        }\n                      ]\n                    },\n                    {\n                      \"match\": [\n                        {\n                          \"host\": [\n                            \"server.my999999999.com\"\n                          ]\n                        }\n                      ],\n                      \"handle\": [\n                        {\n                          \"handler\": \"file_server\",\n                          \"root\": \"\/var\/www\/html\",\n                          \"index_names\": [\n                            \"index.html\"\n                          ]\n                        }\n                      ],\n                      \"terminal\": true\n                    }\n                  ]\n                }\n              ]\n            }\n          ],\n          \"experimental_http3\": false,\n          \"tls_connection_policies\": [\n            {\n              \"match\": {\n                \"sni\": [\n                  \"server.my999999999.com\"\n                ]\n              }\n            }\n          ],\n          \"automatic_https\": {\n            \"disable\": true\n          }\n        }\n      }\n    },\n    \"tls\": {\n      \"certificates\": {\n        \"load_files\": [\n          {\n            \"certificate\": \"\/root\/server.my999999999.com\/server.my999999999.com.cer\",\n            \"key\": \"\/root\/server.my999999999.com\/server.my999999999.com.key\"\n          }\n        ]\n      }\n    }\n  }\n}<\/pre>\n\n\n\n<p>\u8fd0\u884c\u670d\u52a1\u7aef<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\">\/usr\/bin\/caddy run --config \/etc\/caddy\/caddy_server.json\n<\/pre>\n\n\n\n<p><strong>\u6bb5\u843d7\u3001\u914d\u7f6e\u670d\u52a1<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\"># \/etc\/systemd\/system\/naive.service\n[Unit]\nDescription=Caddy\nDocumentation=https:\/\/caddyserver.com\/docs\/\nAfter=network.target network-online.target\nRequires=network-online.target\n\n[Service]\nType=notify\nUser=caddy\nGroup=caddy\nExecStart=\/usr\/bin\/caddy run --environ --config \/etc\/caddy\/caddy_server.json\nExecReload=\/usr\/bin\/caddy reload --config \/etc\/caddy\/caddy_server.json\nTimeoutStopSec=5s\nLimitNOFILE=1048576\nLimitNPROC=512\nPrivateTmp=true\nProtectSystem=full\nAmbientCapabilities=CAP_NET_BIND_SERVICE\n\n[Install]\nWantedBy=multi-user.target<\/pre>\n\n\n\n<p><strong>\u6bb5\u843d8\u3001\u5ba2\u6237\u7aef\u914d\u7f6e<\/strong><\/p>\n\n\n\n<p>\u5230<a href=\"https:\/\/github.com\/klzgrad\/naiveproxy\/releases\" data-type=\"URL\" data-id=\"https:\/\/github.com\/klzgrad\/naiveproxy\/releases\">Release<\/a>\u9875\u9762\uff0c\u4e0b\u8f7d NaiveProxy \u5bf9\u5e94\u7684\u5ba2\u6237\u7aef\uff0c\u89e3\u538b\u6267\u884c\uff0c\u5c3d\u91cf\u7528\u65b0\u7248\u672c\u7684\uff0c\u4fee\u6539config.json\u914d\u7f6e\u6587\u4ef6\uff0c\u7f16\u8f91\u5ba2\u6237\u7aef\u914d\u7f6e\u6587\u4ef6\uff0c\/etc\/naive\/config.json<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" style=\"font-size:12px\">{\n  \"listen\": \"socks:\/\/127.0.0.1:1080\",\n  \"proxy\": \"https:\/\/U:P_75b8B1@server.my999999999.com:18443\"\n}<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"># \u5ba2\u6237\u7aef\u6267\u884c\nnaive config.json<\/pre>\n\n\n\n<p>NaiveProxy \u5ba2\u6237\u7aef\u914d\u7f6e\uff08\u5982\u679c\u4f7f\u7528 HTTP3 \u5219\u5c06 https:\/\/ \u6539\u4e3a quic:\/\/\uff09<\/p>\n\n\n\n<p><strong>\u9644\u5f551\u3001\u53c2\u8003<\/strong><\/p>\n\n\n\n<p>XCADDY\u9879\u76ee <a href=\"https:\/\/github.com\/caddyserver\/xcaddy\">https:\/\/github.com\/caddyserver\/xcaddy<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.oilandfish.com\/posts\/naiveproxy-caddy-2.html\">https:\/\/www.oilandfish.com\/posts\/naiveproxy-caddy-2.html<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/raw.githubusercontent.com\/proxysu\/shellscript\/master\/Caddy-Naive\/caddy-naive-install.sh\">https:\/\/raw.githubusercontent.com\/proxysu\/shellscript\/master\/Caddy-Naive\/caddy-naive-install.sh<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6bb5\u843d1\u3001\u7b80\u7565\u4ecb\u7ecd Na\u00efveProxy\u662f\u4e00\u4e2a\u57fa\u4e8e\u8c37\u6b4c\u6d4f\u89c8\u5668\u7684\u7f51\u7edc\u7ec4\u5efa\uff0c\u8fdb\u884c\u6570\u636e\u5305\u8f6c\u53d1\u7684\u5957\u4ef6\uff0c\u5177\u4f53\u7684\u7528\u9014\uff0c\u4f60\u4eec\u61c2 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/1908"}],"collection":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1908"}],"version-history":[{"count":71,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/1908\/revisions"}],"predecessor-version":[{"id":2015,"href":"https:\/\/dasmz.com\/index.php?rest_route=\/wp\/v2\/posts\/1908\/revisions\/2015"}],"wp:attachment":[{"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dasmz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}