{"id":861,"date":"2026-06-07T16:22:43","date_gmt":"2026-06-07T08:22:43","guid":{"rendered":"https:\/\/www.suannai.link\/blog\/v2ray%e9%85%8d%e7%bd%ae%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94%ef%bc%9a%e8%bf%9e%e6%8e%a5%e5%a4%b1%e8%b4%a5%e4%b8%8e%e8%8a%82%e7%82%b9%e5%bc%82%e5%b8%b8%e7%9a%84%e6%8e%92%e6%9f%a5\/"},"modified":"2026-06-07T16:22:43","modified_gmt":"2026-06-07T08:22:43","slug":"v2ray%e9%85%8d%e7%bd%ae%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94%ef%bc%9a%e8%bf%9e%e6%8e%a5%e5%a4%b1%e8%b4%a5%e4%b8%8e%e8%8a%82%e7%82%b9%e5%bc%82%e5%b8%b8%e7%9a%84%e6%8e%92%e6%9f%a5","status":"publish","type":"post","link":"https:\/\/www.suannai.link\/blog\/v2ray%e9%85%8d%e7%bd%ae%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98%e8%a7%a3%e7%ad%94%ef%bc%9a%e8%bf%9e%e6%8e%a5%e5%a4%b1%e8%b4%a5%e4%b8%8e%e8%8a%82%e7%82%b9%e5%bc%82%e5%b8%b8%e7%9a%84%e6%8e%92%e6%9f%a5\/","title":{"rendered":"V2Ray\u914d\u7f6e\u5e38\u89c1\u95ee\u9898\u89e3\u7b54\uff1a\u8fde\u63a5\u5931\u8d25\u4e0e\u8282\u70b9\u5f02\u5e38\u7684\u6392\u67e5\u6307\u5357"},"content":{"rendered":"<p>\u5728\u4f7f\u7528 V2Ray \u6216\u517c\u5bb9\u5ba2\u6237\u7aef\uff08\u5982 Clash\u3001V2RayNG \u7b49\uff09\u65f6\uff0c\u914d\u7f6e\u9519\u8bef\u662f\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u7684\u6700\u4e3b\u8981\u539f\u56e0\u3002\u5e38\u89c1\u7684\u6545\u969c\u73b0\u8c61\u5305\u62ec\u5ba2\u6237\u7aef\u663e\u793a\u201c\u8fde\u63a5\u8d85\u65f6\u201d\u3001\u6d4f\u89c8\u5668\u65e0\u6cd5\u8bbf\u95ee\u76ee\u6807\u7f51\u7ad9\u3001\u6216\u8005\u8282\u70b9\u5217\u8868\u52a0\u8f7d\u5931\u8d25\u3002\u8fd9\u4e9b\u95ee\u9898\u7684\u6839\u6e90\u901a\u5e38\u96c6\u4e2d\u5728<a href=\"https:\/\/www.suannai.link\/blog\/v2ray%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e8%af%a6%e8%a7%a3%ef%bc%9a%e6%a0%b8%e5%bf%83%e5%ad%97%e6%ae%b5%e4%b8%8e%e5%b8%b8%e8%a7%81%e9%94%99%e8%af%af%e6%8e%92%e6%9f%a5\/\" target=\"_blank\" rel=\"noopener\">\u914d\u7f6e\u6587\u4ef6\u8bed\u6cd5<\/a>\u3001\u7f51\u7edc\u534f\u8bae\u53c2\u6570\u3001\u7aef\u53e3\u7aef\u53e3\u51b2\u7a81\u4ee5\u53ca TLS \u8bc1\u4e66\u9a8c\u8bc1\u7b49\u73af\u8282\u3002<\/p>\n<p>\u672c\u6587\u5c06\u9488\u5bf9 V2Ray \u914d\u7f6e\u4e2d\u6700\u9ad8\u9891\u51fa\u73b0\u7684\u6545\u969c\u8fdb\u884c\u9010\u4e00\u62c6\u89e3\uff0c\u63d0\u4f9b\u6807\u51c6\u5316\u7684\u6392\u67e5\u987a\u5e8f\u548c\u4fee\u6b63\u65b9\u6848\u3002\u8bf7\u6309\u7167\u672c\u6587\u63d0\u4f9b\u7684\u903b\u8f91\uff0c\u4ece<a href=\"https:\/\/www.suannai.link\/blog\/v2ray%e9%85%8d%e7%bd%ae%e6%8a%80%e5%b7%a7%ef%bc%9a%e4%bb%8e%e5%9f%ba%e7%a1%80%e9%80%bb%e8%be%91%e5%88%b0%e9%ab%98%e7%ba%a7%e4%bc%98%e5%8c%96%e7%9a%84%e5%ae%8c%e6%95%b4%e6%8c%87%e5%8d%97\/\" target=\"_blank\" rel=\"noopener\">\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u68c0\u67e5<\/a>\u5f00\u59cb\uff0c\u9010\u6b65\u9a8c\u8bc1\u7f51\u7edc\u5c42\u548c\u534f\u8bae\u5c42\u7684\u8bbe\u7f6e\uff0c\u4ee5\u5feb\u901f\u5b9a\u4f4d\u5e76\u89e3\u51b3\u8fde\u63a5\u5f02\u5e38\u3002<\/p>\n<h2>\u914d\u7f6e\u6587\u4ef6\u8bed\u6cd5\u9519\u8bef\u4e0e\u683c\u5f0f\u6821\u9a8c<\/h2>\n<p>\u5927\u591a\u6570\u8fde\u63a5\u95ee\u9898\u5e76\u975e\u6e90\u4e8e\u7f51\u7edc\u73af\u5883\uff0c\u800c\u662f\u6e90\u4e8e\u672c\u5730\u914d\u7f6e\u6587\u4ef6\uff08\u901a\u5e38\u4e3a `config.json` \u6216\u5ba2\u6237\u7aef\u7279\u5b9a\u7684 YAML\/JSON \u683c\u5f0f\uff09\u5b58\u5728\u8bed\u6cd5\u9519\u8bef\u3002V2Ray \u6838\u5fc3\u5bf9 JSON \u683c\u5f0f\u7684\u4e25\u683c\u6027\u8981\u6c42\u6781\u9ad8\uff0c\u4efb\u4f55\u6807\u70b9\u7b26\u53f7\u7684\u9519\u8bef\u90fd\u4f1a\u5bfc\u81f4\u5ba2\u6237\u7aef\u65e0\u6cd5\u542f\u52a8\u6216\u8282\u70b9\u65e0\u6cd5\u52a0\u8f7d\u3002<\/p>\n<p><strong>1. JSON \u683c\u5f0f\u7684\u57fa\u672c\u89c4\u8303<\/strong><\/p>\n<p>\u5728\u624b\u52a8\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\u65f6\uff0c\u5fc5\u987b\u786e\u4fdd\u4ee5\u4e0b\u51e0\u70b9\uff1a<br \/>* <strong>\u9017\u53f7\u4f7f\u7528<\/strong>\uff1aJSON \u6570\u7ec4\u6216\u5bf9\u8c61\u4e2d\u7684\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u540e\u4e0d\u80fd\u6709\u9017\u53f7\u3002\u4f8b\u5982\uff0c`&#8221;port&#8221;: 443,` \u540e\u9762\u5982\u679c\u6709\u4e0b\u4e00\u4e2a\u5b57\u6bb5\uff0c\u5fc5\u987b\u52a0\u9017\u53f7\uff1b\u5982\u679c\u662f\u6700\u540e\u4e00\u4e2a\u5b57\u6bb5\uff0c\u5219\u4e0d\u80fd\u52a0\u3002<br \/>* <strong>\u5f15\u53f7\u89c4\u8303<\/strong>\uff1a\u6240\u6709\u7684\u952e\uff08Key\uff09\u548c\u5b57\u7b26\u4e32\u503c\uff08Value\uff09\u5fc5\u987b\u4f7f\u7528\u53cc\u5f15\u53f7 `&#8221;`\uff0c\u4e0d\u80fd\u4f7f\u7528\u5355\u5f15\u53f7 `&#8217;`\u3002<br \/>* <strong>\u6ce8\u91ca\u95ee\u9898<\/strong>\uff1a\u6807\u51c6 JSON \u4e0d\u652f\u6301\u6ce8\u91ca\u3002\u867d\u7136\u67d0\u4e9b\u5ba2\u6237\u7aef\uff08\u5982 Clash \u5185\u6838\uff09\u652f\u6301 YAML \u683c\u5f0f\u5e76\u5141\u8bb8 `#` \u6ce8\u91ca\uff0c\u4f46\u7eaf V2Ray JSON \u683c\u5f0f\u4e2d\u82e5\u5305\u542b\u6ce8\u91ca\uff0c\u4f1a\u5bfc\u81f4\u89e3\u6790\u5931\u8d25\u3002\u5982\u679c\u5fc5\u987b\u6dfb\u52a0\u6ce8\u91ca\uff0c\u8bf7\u786e\u8ba4\u5ba2\u6237\u7aef\u662f\u5426\u652f\u6301\uff0c\u6216\u5c06\u5176\u79fb\u9664\u3002<\/p>\n<p><strong>2. \u5e38\u89c1\u8bed\u6cd5\u9519\u8bef\u5bf9\u7167\u8868<\/strong><\/p>\n<table style=\"width:100%;border-collapse:collapse;margin:24px 0;\">\n<thead>\n<tr>\n<th style=\"border:1px solid #ddd;padding:10px;background:#f7f7f7;text-align:left;\">\u9519\u8bef\u8868\u73b0<\/th>\n<th style=\"border:1px solid #ddd;padding:10px;background:#f7f7f7;text-align:left;\">\u53ef\u80fd\u539f\u56e0<\/th>\n<th style=\"border:1px solid #ddd;padding:10px;background:#f7f7f7;text-align:left;\">\u4fee\u6b63\u65b9\u6cd5<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u5ba2\u6237\u7aef\u542f\u52a8\u62a5\u9519 &#8220;invalid config&#8221;<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">JSON \u683c\u5f0f\u9519\u8bef\uff0c\u5982\u591a\u4f59\u9017\u53f7\u6216\u7f3a\u5c11\u62ec\u53f7<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u4f7f\u7528\u5728\u7ebf JSON \u6821\u9a8c\u5de5\u5177\u68c0\u67e5\u683c\u5f0f\uff0c\u6216\u542f\u7528\u5ba2\u6237\u7aef\u7684\u201c\u5bfc\u5165\/\u9a8c\u8bc1\u201d\u529f\u80fd<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u8282\u70b9\u663e\u793a\u201c\u65e0\u6548\u201d\u6216\u201c\u7070\u8272\u201d<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u534f\u8bae\u5b57\u6bb5\u62fc\u5199\u9519\u8bef\uff08\u5982 `vmess` \u5199\u6210 `vmesss`\uff09<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u6838\u5bf9\u534f\u8bae\u540d\u79f0\uff0c\u786e\u4fdd\u4e0e\u670d\u52a1\u5546\u63d0\u4f9b\u7684\u4fe1\u606f\u5b8c\u5168\u4e00\u81f4<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u90e8\u5206\u53c2\u6570\u4e0d\u751f\u6548<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u53c2\u6570\u5c42\u7ea7\u9519\u8bef\uff0c\u5982\u5c06 `inbounds` \u5199\u5165\u4e86 `outbounds`<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u68c0\u67e5 JSON \u5c42\u7ea7\u7ed3\u6784\uff0c\u786e\u4fdd\u5b57\u6bb5\u4f4d\u4e8e\u6b63\u786e\u7684\u7236\u5bf9\u8c61\u4e0b<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u6392\u67e5\u5efa\u8bae<\/strong>\uff1a\u5728\u6bcf\u6b21\u4fee\u6539\u914d\u7f6e\u540e\uff0c\u5148\u5c1d\u8bd5\u4fdd\u5b58\u5e76\u91cd\u65b0\u52a0\u8f7d\u3002\u5982\u679c\u5ba2\u6237\u7aef\u652f\u6301\u914d\u7f6e\u6587\u4ef6\u5bfc\u5165\u6216\u9a8c\u8bc1\u529f\u80fd\uff0c\u52a1\u5fc5\u5148\u901a\u8fc7\u9a8c\u8bc1\u6b65\u9aa4\u3002\u5bf9\u4e8e\u624b\u52a8\u7f16\u5199\u7684 JSON\uff0c\u5efa\u8bae\u590d\u5236\u5185\u5bb9\u5230\u6807\u51c6\u7684 JSON \u683c\u5f0f\u5316\u7f51\u7ad9\u8fdb\u884c\u68c0\u67e5\uff0c\u786e\u8ba4\u65e0\u8bed\u6cd5\u9519\u8bef\u540e\u518d\u5e94\u7528\u3002<\/p>\n\n<h2>\u534f\u8bae\u7c7b\u578b\u4e0e\u53c2\u6570\u4e0d\u5339\u914d<\/h2>\n<p>V2Ray \u652f\u6301\u591a\u79cd\u4f20\u8f93\u534f\u8bae\uff08\u5982 VMess, VLESS, Trojan, Shadowsocks \u7b49\uff09\uff0c\u6bcf\u79cd\u534f\u8bae\u90fd\u6709\u7279\u5b9a\u7684\u5fc5\u586b\u53c2\u6570\u3002\u5982\u679c\u914d\u7f6e\u4e2d\u7684\u53c2\u6570\u4e0e\u670d\u52a1\u7aef\u5b9e\u9645\u63d0\u4f9b\u7684\u4fe1\u606f\u4e0d\u4e00\u81f4\uff0c\u8fde\u63a5\u5c06\u65e0\u6cd5\u5efa\u7acb\u3002<\/p>\n<p><strong>1. VMess \u534f\u8bae\u7684 UUID \u4e0e AlterID<\/strong><\/p>\n<p>VMess \u534f\u8bae\u662f V2Ray \u7684\u6838\u5fc3\u534f\u8bae\u4e4b\u4e00\u3002\u5176\u914d\u7f6e\u5305\u542b `id` (UUID) \u548c `aid` (AlterID) \u4e24\u4e2a\u5173\u952e\u5b57\u6bb5\u3002<br \/>* <strong>UUID \u9519\u8bef<\/strong>\uff1aUUID \u5fc5\u987b\u4e3a 36 \u4f4d\u5b57\u7b26\u4e32\uff08\u683c\u5f0f\u901a\u5e38\u4e3a 8-4-4-4-12\uff09\u3002\u5982\u679c UUID \u957f\u5ea6\u4e0d\u5bf9\u6216\u5305\u542b\u975e\u6cd5\u5b57\u7b26\uff0c\u8fde\u63a5\u4f1a\u7acb\u5373\u5931\u8d25\u3002<br \/>* <strong>AlterID (aid) \u4e0d\u5339\u914d<\/strong>\uff1a`aid` \u5fc5\u987b\u4e0e\u670d\u52a1\u7aef\u8bbe\u7f6e\u7684 AlterID \u5b8c\u5168\u4e00\u81f4\u3002\u5982\u679c\u670d\u52a1\u7aef\u8bbe\u7f6e\u4e3a 0\uff0c\u5ba2\u6237\u7aef\u4e5f\u5fc5\u987b\u8bbe\u7f6e\u4e3a 0\u3002\u5982\u679c\u670d\u52a1\u7aef\u4f7f\u7528 0.2.0+ \u7248\u672c\u5e76\u91c7\u7528 UUID \u52a8\u6001\u9a8c\u8bc1\uff0c`aid` \u901a\u5e38\u5e94\u8bbe\u4e3a 0\u3002<\/p>\n<p><strong>2. VLESS \u534f\u8bae\u7684\u7279\u6b8a\u6027<\/strong><\/p>\n<p>VLESS \u534f\u8bae\u53bb\u9664\u4e86 AlterID\uff0c\u4e3b\u8981\u4f9d\u8d56 UUID \u548c Flow \u5b57\u6bb5\u3002<br \/>* <strong>Flow \u5b57\u6bb5<\/strong>\uff1a\u5982\u679c\u670d\u52a1\u7aef\u542f\u7528\u4e86 TLS \u548c TCP\uff0c\u901a\u5e38\u4e0d\u9700\u8981\u8bbe\u7f6e Flow\u3002\u4f46\u5982\u679c\u4f7f\u7528 gRPC \u6216 HTTP\/2 \u4f20\u8f93\uff0c\u4e14\u670d\u52a1\u7aef\u8981\u6c42\u7279\u5b9a\u7684 Flow\uff08\u5982 `xtls-rprx-vision`\uff09\uff0c\u5ba2\u6237\u7aef\u5fc5\u987b\u51c6\u786e\u586b\u5199\uff0c\u5426\u5219\u63e1\u624b\u4f1a\u5931\u8d25\u3002<br \/>* <strong>Encryption \u5b57\u6bb5<\/strong>\uff1aVLESS \u7684 `encryption` \u5b57\u6bb5\u901a\u5e38\u8bbe\u7f6e\u4e3a `none`\u3002\u5982\u679c\u8bef\u586b\u4e86\u5176\u4ed6\u52a0\u5bc6\u65b9\u5f0f\uff0c\u53ef\u80fd\u5bfc\u81f4\u517c\u5bb9\u6027\u95ee\u9898\u3002<\/p>\n<p><strong>3. Trojan \u4e0e Shadowsocks \u7684\u6df7\u6dc6<\/strong><\/p>\n<p>* <strong>Trojan<\/strong>\uff1a\u4f9d\u8d56 SNI (Server Name Indication) \u548c\u7aef\u53e3\u3002\u5982\u679c\u5ba2\u6237\u7aef\u914d\u7f6e\u7684 SNI \u4e0e\u8bc1\u4e66\u57df\u540d\u4e0d\u5339\u914d\uff0cTLS \u63e1\u624b\u4f1a\u5931\u8d25\u3002<br \/>* <strong>Shadowsocks<\/strong>\uff1a\u4f9d\u8d56 `method` (\u52a0\u5bc6\u65b9\u5f0f) \u548c `password`\u3002\u5982\u679c\u52a0\u5bc6\u65b9\u5f0f\u9009\u62e9\u9519\u8bef\uff08\u5982\u670d\u52a1\u7aef\u662f `chacha20-ietf-poly1305`\uff0c\u5ba2\u6237\u7aef\u9009\u4e86 `aes-256-gcm`\uff09\uff0c\u6570\u636e\u5c06\u65e0\u6cd5\u89e3\u5bc6\u3002<\/p>\n<p><strong>\u6392\u67e5\u5efa\u8bae<\/strong>\uff1a\u4ed4\u7ec6\u6838\u5bf9\u670d\u52a1\u5546\u63d0\u4f9b\u7684\u8282\u70b9\u4fe1\u606f\u3002\u4e0d\u8981\u4f9d\u8d56\u201c\u81ea\u52a8\u8bc6\u522b\u201d\uff0c\u624b\u52a8\u9010\u9879\u6bd4\u5bf9 UUID\u3001\u7aef\u53e3\u3001\u534f\u8bae\u7c7b\u578b\u3001\u52a0\u5bc6\u65b9\u5f0f\u548c\u5bc6\u7801\u3002\u7279\u522b\u6ce8\u610f\u5927\u5c0f\u5199\u654f\u611f\u95ee\u9898\uff0c\u5bc6\u7801\u548c UUID \u901a\u5e38\u533a\u5206\u5927\u5c0f\u5199\u3002<\/p>\n<h2>\u4f20\u8f93\u534f\u8bae\u4e0e\u5e95\u5c42\u7f51\u7edc\u8bbe\u7f6e<\/h2>\n<p>\u5373\u4f7f\u534f\u8bae\u7c7b\u578b\u6b63\u786e\uff0c\u5982\u679c\u5e95\u5c42\u4f20\u8f93\u534f\u8bae\uff08Transport Protocol\uff09\u8bbe\u7f6e\u9519\u8bef\uff0c\u6570\u636e\u4e5f\u65e0\u6cd5\u5728\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef\u4e4b\u95f4\u6b63\u786e\u4f20\u8f93\u3002\u5e38\u89c1\u7684\u4f20\u8f93\u65b9\u5f0f\u5305\u62ec TCP\u3001mKCP\u3001WebSocket (ws)\u3001gRPC \u548c HTTP\/2\u3002<\/p>\n<p><strong>1. WebSocket (ws) \u914d\u7f6e\u8981\u70b9<\/strong><\/p>\n<p>WebSocket \u662f\u6700\u5e38\u89c1\u7684\u4f2a\u88c5\u534f\u8bae\uff0c\u7528\u4e8e\u7ed5\u8fc7\u9632\u706b\u5899\u68c0\u6d4b\u3002<br \/>* <strong>Path (\u8def\u5f84)<\/strong>\uff1a\u5ba2\u6237\u7aef\u7684 `path` \u5fc5\u987b\u4e0e\u670d\u52a1\u7aef\u5b8c\u5168\u4e00\u81f4\uff0c\u5305\u62ec\u5f00\u5934\u7684 `\/`\u3002\u4f8b\u5982\uff0c\u670d\u52a1\u7aef\u4e3a `\/ws`\uff0c\u5ba2\u6237\u7aef\u4e0d\u80fd\u914d\u7f6e\u4e3a `ws` \u6216 `\/ws\/`\u3002<br \/>* <strong>Host (Header)<\/strong>\uff1a`Host` \u5934\u5fc5\u987b\u4e0e\u670d\u52a1\u7aef\u914d\u7f6e\u7684\u57df\u540d\u4e00\u81f4\u3002\u5982\u679c\u670d\u52a1\u7aef\u8981\u6c42 `Host: example.com`\uff0c\u5ba2\u6237\u7aef\u4e5f\u5fc5\u987b\u8bbe\u7f6e\u76f8\u540c\u7684 Host\u3002\u5982\u679c Host \u4e3a\u7a7a\u6216\u4e0d\u5339\u914d\uff0c\u670d\u52a1\u7aef\u53ef\u80fd\u62d2\u7edd\u8fde\u63a5\u6216\u8fd4\u56de 403\/404 \u9519\u8bef\u3002<br \/>* <strong>TLS \u72b6\u6001<\/strong>\uff1aWebSocket \u53ef\u4ee5\u5355\u72ec\u4f7f\u7528\uff08ws:\/\/\uff09\u6216\u914d\u5408 TLS \u4f7f\u7528\uff08wss:\/\/\uff09\u3002\u5982\u679c\u670d\u52a1\u7aef\u914d\u7f6e\u4e86 TLS\uff0c\u5ba2\u6237\u7aef\u7684 `tls` \u5b57\u6bb5\u5fc5\u987b\u8bbe\u4e3a `true`\uff0c\u4e14 `servername` \u5fc5\u987b\u586b\u5199\u8bc1\u4e66\u57df\u540d\u3002<\/p>\n<p><strong>2. mKCP \u534f\u8bae\u7684\u5e72\u6270\u9879<\/strong><\/p>\n<p>mKCP \u662f\u4e00\u79cd\u57fa\u4e8e UDP \u7684\u4f20\u8f93\u534f\u8bae\uff0c\u5e38\u7528\u4e8e\u6a21\u62df TCP \u6d41\u91cf\u3002<br \/>* <strong>mtu, tti, uplinkCapacity, downlinkCapacity, congestion<\/strong>\uff1a\u8fd9\u4e9b\u53c2\u6570\u5f71\u54cd KCP \u7684\u62e5\u585e\u63a7\u5236\u548c\u5305\u5927\u5c0f\u3002\u5982\u679c\u4e0e\u670d\u52a1\u7aef\u5dee\u5f02\u8fc7\u5927\uff0c\u53ef\u80fd\u5bfc\u81f4\u4e22\u5305\u4e25\u91cd\u6216\u8fde\u63a5\u8d85\u65f6\u3002\u5efa\u8bae\u4fdd\u6301\u4e0e\u670d\u52a1\u7aef\u9ed8\u8ba4\u503c\u4e00\u81f4\uff0c\u9664\u975e\u660e\u786e\u77e5\u9053\u5982\u4f55\u4f18\u5316\u3002<br \/>* <strong>Header \u7c7b\u578b<\/strong>\uff1amKCP \u7684 `header` \u7c7b\u578b\uff08\u5982 `none`, `srtp`, `wechat-video`\uff09\u5fc5\u987b\u4e0e\u670d\u52a1\u7aef\u4e00\u81f4\u3002\u5982\u679c\u7c7b\u578b\u4e0d\u5339\u914d\uff0c\u6570\u636e\u5305\u4f1a\u88ab\u8bc6\u522b\u4e3a\u65e0\u6548\u6570\u636e\u3002<\/p>\n<p><strong>3. gRPC \u4e0e HTTP\/2 \u7684\u7279\u6b8a\u8981\u6c42<\/strong><\/p>\n<p>* <strong>gRPC<\/strong>\uff1a\u9700\u8981\u914d\u7f6e `serviceName`\u3002\u5982\u679c `serviceName` \u9519\u8bef\uff0cgRPC \u6d41\u65e0\u6cd5\u5efa\u7acb\u3002\u6b64\u5916\uff0cgRPC \u901a\u5e38\u8981\u6c42\u8f83\u65b0\u7684\u5ba2\u6237\u7aef\u7248\u672c\u652f\u6301\u3002<br \/>* <strong>HTTP\/2<\/strong>\uff1a\u9700\u8981\u914d\u7f6e `host` \u5217\u8868\u3002\u5982\u679c `host` \u4e3a\u7a7a\u6216\u4e0d\u6b63\u786e\uff0cHTTP\/2 \u8fde\u63a5\u53ef\u80fd\u5931\u8d25\u3002<\/p>\n<p><strong>\u6392\u67e5\u5efa\u8bae<\/strong>\uff1a\u786e\u8ba4\u4f20\u8f93\u534f\u8bae\u7c7b\u578b\uff08TCP\/WS\/KCP\/gRPC\/h2\uff09\u662f\u5426\u4e0e\u670d\u52a1\u5546\u63d0\u4f9b\u7684\u4e00\u81f4\u3002\u5bf9\u4e8e WebSocket\uff0c\u91cd\u70b9\u68c0\u67e5 `path` \u548c `host`\uff1b\u5bf9\u4e8e mKCP\uff0c\u68c0\u67e5 `header` \u7c7b\u578b\uff1b\u5bf9\u4e8e gRPC\uff0c\u68c0\u67e5 `serviceName`\u3002\u4efb\u4f55\u7ec6\u5fae\u7684\u62fc\u5199\u9519\u8bef\u90fd\u4f1a\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u3002<\/p>\n<h2>TLS \u8bc1\u4e66\u9a8c\u8bc1\u4e0e SNI \u8bbe\u7f6e<\/h2>\n<p>\u5f53\u4f7f\u7528 HTTPS (TLS) \u52a0\u5bc6\u4f20\u8f93\u65f6\uff0c\u5ba2\u6237\u7aef\u5fc5\u987b\u6b63\u786e\u9a8c\u8bc1\u670d\u52a1\u7aef\u7684\u8bc1\u4e66\uff0c\u5e76\u6b63\u786e\u8bbe\u7f6e SNI (Server Name Indication)\u3002\u8fd9\u662f\u5bfc\u81f4\u201c\u8fde\u63a5\u6210\u529f\u4f46\u65e0\u6cd5\u4e0a\u7f51\u201d\u6216\u201c\u8bc1\u4e66\u9519\u8bef\u201d\u7684\u4e3b\u8981\u539f\u56e0\u3002<\/p>\n<p><strong>1. SNI (Server Name Indication)<\/strong><\/p>\n<p>SNI \u662f\u5ba2\u6237\u7aef\u5728 TLS \u63e1\u624b\u65f6\u544a\u8bc9\u670d\u52a1\u7aef\u201c\u6211\u8981\u8bbf\u95ee\u54ea\u4e2a\u57df\u540d\u201d\u7684\u673a\u5236\u3002<br \/>* <strong>\u5fc5\u987b\u8bbe\u7f6e<\/strong>\uff1a\u5982\u679c\u670d\u52a1\u7aef\u914d\u7f6e\u4e86\u57df\u540d\u8bc1\u4e66\uff0c\u5ba2\u6237\u7aef\u7684 `servername` \u5b57\u6bb5\u5fc5\u987b\u586b\u5199\u8be5\u57df\u540d\u3002<br \/>* <strong>\u4e0e\u8bc1\u4e66\u4e00\u81f4<\/strong>\uff1a`servername` \u5fc5\u987b\u4e0e\u670d\u52a1\u5668\u8bc1\u4e66\u4e2d\u7ed1\u5b9a\u7684\u57df\u540d\u4e00\u81f4\u3002\u5982\u679c\u8bc1\u4e66\u7ed1\u5b9a\u7684\u662f `a.com`\uff0c\u800c\u5ba2\u6237\u7aef\u586b\u5199 `b.com`\uff0c\u8bc1\u4e66\u9a8c\u8bc1\u4f1a\u5931\u8d25\u3002<br \/>* <strong>\u7559\u7a7a\u98ce\u9669<\/strong>\uff1a\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u5982\u679c `servername` \u7559\u7a7a\uff0c\u5ba2\u6237\u7aef\u53ef\u80fd\u65e0\u6cd5\u6b63\u786e\u53d1\u8d77 TLS \u63e1\u624b\uff0c\u5bfc\u81f4\u8fde\u63a5\u8d85\u65f6\u3002<\/p>\n<p><strong>2. \u8bc1\u4e66\u9a8c\u8bc1 (AllowInsecure)<\/strong><\/p>\n<p>* <strong>\u8bc1\u4e66\u9a8c\u8bc1\u5f00\u542f<\/strong>\uff1a\u5982\u679c `allowInsecure` \u4e3a `false`\uff08\u9ed8\u8ba4\uff09\uff0c\u5ba2\u6237\u7aef\u4f1a\u4e25\u683c\u9a8c\u8bc1\u670d\u52a1\u7aef\u8bc1\u4e66\u3002\u5982\u679c\u8bc1\u4e66\u662f\u81ea\u7b7e\u540d\u7684\u3001\u8fc7\u671f\u7684\u3001\u6216\u4e0e `servername` \u4e0d\u5339\u914d\uff0c\u8fde\u63a5\u4f1a\u88ab\u62d2\u7edd\u3002<br \/>* <strong>\u8bc1\u4e66\u9a8c\u8bc1\u5173\u95ed<\/strong>\uff1a\u5982\u679c `allowInsecure` \u4e3a `true`\uff0c\u5ba2\u6237\u7aef\u5c06\u8df3\u8fc7\u8bc1\u4e66\u9a8c\u8bc1\u3002\u8fd9\u53ef\u4ee5\u89e3\u51b3\u56e0\u8bc1\u4e66\u95ee\u9898\u5bfc\u81f4\u7684\u8fde\u63a5\u5931\u8d25\uff0c\u4f46\u4f1a\u964d\u4f4e\u5b89\u5168\u6027\uff0c\u6613\u53d7\u4e2d\u95f4\u4eba\u653b\u51fb\u3002<strong>\u4ec5\u5efa\u8bae\u5728\u786e\u8ba4\u8bc1\u4e66\u6709\u6548\u4f46\u9a8c\u8bc1\u5931\u8d25\u65f6\u4e34\u65f6\u4f7f\u7528\uff0c\u5e76\u5c3d\u5feb\u4fee\u590d\u8bc1\u4e66\u95ee\u9898\u3002<\/strong><\/p>\n<p><strong>3. \u5e38\u89c1 TLS \u9519\u8bef\u6392\u67e5<\/strong><\/p>\n<table style=\"width:100%;border-collapse:collapse;margin:24px 0;\">\n<thead>\n<tr>\n<th style=\"border:1px solid #ddd;padding:10px;background:#f7f7f7;text-align:left;\">\u9519\u8bef\u73b0\u8c61<\/th>\n<th style=\"border:1px solid #ddd;padding:10px;background:#f7f7f7;text-align:left;\">\u53ef\u80fd\u539f\u56e0<\/th>\n<th style=\"border:1px solid #ddd;padding:10px;background:#f7f7f7;text-align:left;\">\u89e3\u51b3\u6b65\u9aa4<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u8bc1\u4e66\u9519\u8bef \/ \u8fde\u63a5\u88ab\u62d2<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">`servername` \u4e0e\u8bc1\u4e66\u57df\u540d\u4e0d\u5339\u914d<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u68c0\u67e5\u5e76\u4fee\u6b63 `servername` \u5b57\u6bb5<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u8fde\u63a5\u8d85\u65f6<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u7aef\u53e3\u88ab\u9632\u706b\u5899\u62e6\u622a\u6216 TLS \u63e1\u624b\u5931\u8d25<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u786e\u8ba4\u7aef\u53e3\u5f00\u653e\uff0c\u68c0\u67e5 `tls` \u5b57\u6bb5\u662f\u5426\u4e3a `true`<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u90e8\u5206\u7f51\u7ad9\u53ef\u8bbf\u95ee\uff0c\u90e8\u5206\u4e0d\u53ef<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">SNI \u6cc4\u9732\u6216 DNS \u6c61\u67d3<\/td>\n<td style=\"border:1px solid #ddd;padding:10px;vertical-align:top;\">\u68c0\u67e5 DNS \u8bbe\u7f6e\uff0c\u5c1d\u8bd5\u4f7f\u7528 DoH (DNS over HTTPS)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u6392\u67e5\u5efa\u8bae<\/strong>\uff1a\u9996\u5148\u786e\u8ba4 `servername` \u662f\u5426\u6b63\u786e\u3002\u5176\u6b21\uff0c\u68c0\u67e5\u8bc1\u4e66\u662f\u5426\u6709\u6548\u3002\u5982\u679c\u8bc1\u4e66\u6709\u6548\u4f46\u4f9d\u7136\u62a5\u9519\uff0c\u5c1d\u8bd5\u4e34\u65f6\u5f00\u542f `allowInsecure` \u4ee5\u6392\u9664\u8bc1\u4e66\u95ee\u9898\u3002\u5982\u679c\u5f00\u542f\u540e\u8fde\u63a5\u6b63\u5e38\uff0c\u5219\u8bf4\u660e\u8bc1\u4e66\u672c\u8eab\u5b58\u5728\u95ee\u9898\uff08\u5982\u57df\u540d\u4e0d\u5339\u914d\u3001\u81ea\u7b7e\u540d\u7b49\uff09\uff0c\u5e94\u8054\u7cfb\u670d\u52a1\u5546\u66f4\u6362\u6709\u6548\u8bc1\u4e66\u3002<\/p>\n<h2>DNS \u89e3\u6790\u4e0e\u8def\u7531\u8bbe\u7f6e\u95ee\u9898<\/h2>\n<p>\u5373\u4f7f\u5e95\u5c42\u8fde\u63a5\u6210\u529f\uff0c\u5982\u679c DNS \u89e3\u6790\u9519\u8bef\u6216\u8def\u7531\u8bbe\u7f6e\u4e0d\u5f53\uff0c\u7528\u6237\u4ecd\u7136\u65e0\u6cd5\u8bbf\u95ee\u76ee\u6807\u7f51\u7ad9\uff0c\u6216\u8005\u4f1a\u51fa\u73b0\u201cDNS \u6cc4\u6f0f\u201d\u5bfc\u81f4\u9690\u79c1\u6cc4\u9732\u3002<\/p>\n<p><strong>1. DNS \u89e3\u6790\u9519\u8bef<\/strong><\/p>\n<p>* <strong>DNS \u670d\u52a1\u5668\u4e0d\u53ef\u8fbe<\/strong>\uff1a\u5982\u679c\u914d\u7f6e\u7684 DNS \u670d\u52a1\u5668\uff08\u5982 `8.8.8.8`\uff09\u5728\u672c\u5730\u7f51\u7edc\u4e2d\u88ab\u5c01\u9501\u6216\u4e0d\u53ef\u7528\uff0c\u89e3\u6790\u5c06\u5931\u8d25\u3002<br \/>* <strong>DNS \u7c7b\u578b\u4e0d\u5339\u914d<\/strong>\uff1aV2Ray \u652f\u6301 `dns` \u5bf9\u8c61\u4e2d\u7684 `servers` \u5b57\u6bb5\u3002\u5982\u679c\u4f7f\u7528 `fakeip`\uff0c\u9700\u8981\u914d\u5408 `fakeip` \u7684\u7f51\u6bb5\u8bbe\u7f6e\u3002\u5982\u679c `fakeip` \u7f51\u6bb5\u4e0e\u672c\u5730\u7f51\u7edc\u51b2\u7a81\uff0c\u4f1a\u5bfc\u81f4\u89e3\u6790\u5f02\u5e38\u3002<br \/>* <strong>IPv6 \u95ee\u9898<\/strong>\uff1a\u5982\u679c\u672c\u5730\u7f51\u7edc\u4f18\u5148\u4f7f\u7528 IPv6\uff0c\u4f46\u670d\u52a1\u7aef\u4ec5\u652f\u6301 IPv4\uff0c\u89e3\u6790\u53ef\u80fd\u4f1a\u5931\u8d25\u3002\u5efa\u8bae\u5728 DNS \u8bbe\u7f6e\u4e2d\u5f3a\u5236\u4f7f\u7528 IPv4\u3002<\/p>\n<p><strong>2. \u8def\u7531\u89c4\u5219 (Routing)<\/strong><\/p>\n<p>* <strong>\u533a\u57df\u89c4\u5219<\/strong>\uff1a\u5982\u679c\u914d\u7f6e\u4e86\u533a\u57df\u89c4\u5219\uff08\u5982 `geosite:cn`\uff09\uff0c\u9700\u8981\u5c06\u4e2d\u56fd\u7f51\u7ad9\u6d41\u91cf\u8def\u7531\u5230\u76f4\u8fde\uff08Direct\uff09\uff0c\u5c06\u5176\u4ed6\u6d41\u91cf\u8def\u7531\u5230\u4ee3\u7406\u3002\u5982\u679c\u89c4\u5219\u9519\u8bef\u6216\u7f3a\u5931\uff0c\u53ef\u80fd\u5bfc\u81f4\u90e8\u5206\u7f51\u7ad9\u65e0\u6cd5\u8bbf\u95ee\u3002<br \/>* <strong>\u57df\u540d\u7b56\u7565<\/strong>\uff1aV2Ray \u7684\u57df\u540d\u89e3\u6790\u7b56\u7565\u53ef\u4ee5\u662f `AsIs`\u3001`IPIfNonMatch` \u6216 `IPOnDemand`\u3002\u5982\u679c\u7b56\u7565\u8bbe\u7f6e\u4e0d\u5f53\uff0c\u53ef\u80fd\u5bfc\u81f4\u57df\u540d\u89e3\u6790\u51fa IP \u540e\uff0cIP \u88ab\u9519\u8bef\u8def\u7531\u3002<\/p>\n<p><strong>\u6392\u67e5\u5efa\u8bae<\/strong>\uff1a<br \/>\u2022 \u68c0\u67e5 DNS \u8bbe\u7f6e\uff0c\u5c1d\u8bd5\u66f4\u6362\u4e3a\u53ef\u9760\u7684\u516c\u5171 DNS\uff08\u5982 `1.1.1.1`, `9.9.9.9`\uff09\u3002<br \/>\u2022 \u5982\u679c\u4f7f\u7528 `fakeip`\uff0c\u786e\u4fdd `fakeip` \u7f51\u6bb5\u4e0d\u4e0e\u672c\u5730\u5c40\u57df\u7f51\u7f51\u6bb5\u51b2\u7a81\uff08\u5982\u907f\u514d\u4f7f\u7528 `192.168.x.x` \u6216 `10.x.x.x`\uff09\u3002<br \/>\u2022 \u68c0\u67e5\u8def\u7531\u89c4\u5219\uff0c\u786e\u4fdd\u76ee\u6807\u57df\u540d\u7684\u8def\u7531\u7b56\u7565\u6b63\u786e\u3002\u53ef\u4ee5\u4f7f\u7528\u5ba2\u6237\u7aef\u7684\u201c\u6d4b\u8bd5 DNS \u89e3\u6790\u201d\u529f\u80fd\u9a8c\u8bc1\u89e3\u6790\u7ed3\u679c\u3002<\/p>\n<h2>\u5ba2\u6237\u7aef\u65e5\u5fd7\u5206\u6790\u4e0e\u6700\u7ec8\u9a8c\u8bc1<\/h2>\n<p>\u5f53\u4ee5\u4e0a\u6b65\u9aa4\u5747\u65e0\u6cd5\u89e3\u51b3\u95ee\u9898\u65f6\uff0c\u5fc5\u987b\u4f9d\u8d56\u5ba2\u6237\u7aef\u65e5\u5fd7\u8fdb\u884c\u6df1\u5ea6\u6392\u67e5\u3002\u65e5\u5fd7\u662f\u5b9a\u4f4d\u95ee\u9898\u7684\u6700\u540e\u624b\u6bb5\u3002<\/p>\n<p><strong>1. \u5f00\u542f\u8be6\u7ec6\u65e5\u5fd7<\/strong><\/p>\n<p>\u5728\u5ba2\u6237\u7aef\u8bbe\u7f6e\u4e2d\uff0c\u5c06\u65e5\u5fd7\u7ea7\u522b\u8c03\u6574\u4e3a `Debug` \u6216 `Info`\u3002\u8bb0\u5f55\u8fde\u63a5\u5c1d\u8bd5\u65f6\u7684\u6240\u6709\u8f93\u51fa\u3002<\/p>\n<p><strong>2. \u5173\u952e\u65e5\u5fd7\u4fe1\u606f\u89e3\u8bfb<\/strong><\/p>\n<p>* <strong>&#8220;Failed to connect to remote server&#8221;<\/strong>\uff1a\u901a\u5e38\u8868\u793a\u7f51\u7edc\u5c42\u4e0d\u901a\uff0c\u68c0\u67e5\u7aef\u53e3\u3001\u9632\u706b\u5899\u3001IP \u5730\u5740\u3002<br \/>* <strong>&#8220;TLS handshake failed&#8221;<\/strong>\uff1a\u901a\u5e38\u8868\u793a\u8bc1\u4e66\u6216 SNI \u95ee\u9898\uff0c\u68c0\u67e5 `servername` \u548c `tls` \u8bbe\u7f6e\u3002<br \/>* <strong>&#8220;Invalid protocol&#8221;<\/strong>\uff1a\u901a\u5e38\u8868\u793a\u534f\u8bae\u7c7b\u578b\u6216\u53c2\u6570\u9519\u8bef\uff0c\u68c0\u67e5 `type`, `id`, `port` \u7b49\u3002<br \/>* <strong>&#8220;DNS resolution failed&#8221;<\/strong>\uff1a\u901a\u5e38\u8868\u793a DNS \u8bbe\u7f6e\u95ee\u9898\uff0c\u68c0\u67e5 DNS \u670d\u52a1\u5668\u5730\u5740\u3002<br \/>* <strong>&#8220;Connection refused&#8221;<\/strong>\uff1a\u670d\u52a1\u7aef\u62d2\u7edd\u8fde\u63a5\uff0c\u53ef\u80fd\u539f\u56e0\u662f\u7aef\u53e3\u9519\u8bef\u3001IP \u88ab\u5c01\u6216\u670d\u52a1\u7aef\u8fc7\u8f7d\u3002<\/p>\n<p><strong>3. \u6700\u7ec8\u9a8c\u8bc1\u6b65\u9aa4<\/strong><br \/>\u2022 <strong>\u91cd\u542f\u5ba2\u6237\u7aef<\/strong>\uff1a\u786e\u4fdd\u914d\u7f6e\u5df2\u91cd\u65b0\u52a0\u8f7d\u3002<br \/>\u2022 <strong>\u5207\u6362\u7f51\u7edc<\/strong>\uff1a\u5c1d\u8bd5\u5207\u6362 Wi-Fi \u548c\u79fb\u52a8\u6570\u636e\uff0c\u6392\u9664\u672c\u5730\u7f51\u7edc\u5e72\u6270\u3002<br \/>\u2022 <strong>\u6e05\u9664\u7f13\u5b58<\/strong>\uff1a\u6e05\u9664\u6d4f\u89c8\u5668\u548c\u7cfb\u7edf DNS \u7f13\u5b58\u3002<br \/>\u2022 <strong>\u8054\u7cfb\u670d\u52a1\u5546<\/strong>\uff1a\u5982\u679c\u914d\u7f6e\u65e0\u8bef\u4e14\u65e5\u5fd7\u663e\u793a\u670d\u52a1\u7aef\u62d2\u7edd\u8fde\u63a5\uff0c\u53ef\u80fd\u662f\u670d\u52a1\u7aef\u8282\u70b9\u6545\u969c\u6216 IP \u88ab\u5c01\uff0c\u9700\u8054\u7cfb\u670d\u52a1\u5546\u786e\u8ba4\u8282\u70b9\u72b6\u6001\u3002<\/p>\n<p>\u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u7edd\u5927\u591a\u6570 V2Ray \u914d\u7f6e\u95ee\u9898\u90fd\u53ef\u4ee5\u5f97\u5230\u89e3\u51b3\u3002\u6838\u5fc3\u5728\u4e8e\u7ec6\u81f4\u6838\u5bf9\u6bcf\u4e00\u4e2a\u53c2\u6570\uff0c\u5e76\u5584\u7528\u65e5\u5fd7\u4fe1\u606f\u8fdb\u884c\u5b9a\u4f4d\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u4f7f\u7528 V2Ray \u6216\u517c\u5bb9\u5ba2\u6237\u7aef\uff08\u5982 Clash\u3001V2RayNG \u7b49\uff09\u65f6\uff0c\u914d\u7f6e\u9519\u8bef\u662f\u5bfc\u81f4\u8fde\u63a5\u5931\u8d25\u7684\u6700\u4e3b\u8981\u539f\u56e0\u3002 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-861","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/posts\/861","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/comments?post=861"}],"version-history":[{"count":0,"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/posts\/861\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/media?parent=861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/categories?post=861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.suannai.link\/blog\/wp-json\/wp\/v2\/tags?post=861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}