{"id":126,"date":"2026-07-11T22:29:56","date_gmt":"2026-07-11T14:29:56","guid":{"rendered":"https:\/\/www.juup.top\/?p=126"},"modified":"2026-07-11T22:48:55","modified_gmt":"2026-07-11T14:48:55","slug":"%e4%bd%bf%e7%94%a8-cloudflare-api-%e8%87%aa%e5%bb%ba-ipv6-ddns%ef%bc%8c%e8%ae%a9-pve-%e4%b8%ad-windows-11-%e5%ae%9e%e7%8e%b0%e5%85%ac%e7%bd%91%e8%bf%9c%e7%a8%8b%e8%ae%bf%e9%97%ae","status":"publish","type":"post","link":"https:\/\/www.juup.top\/index.php\/2026\/07\/11\/%e4%bd%bf%e7%94%a8-cloudflare-api-%e8%87%aa%e5%bb%ba-ipv6-ddns%ef%bc%8c%e8%ae%a9-pve-%e4%b8%ad-windows-11-%e5%ae%9e%e7%8e%b0%e5%85%ac%e7%bd%91%e8%bf%9c%e7%a8%8b%e8%ae%bf%e9%97%ae\/","title":{"rendered":"\u4f7f\u7528 Cloudflare API \u81ea\u5efa IPv6 DDNS\uff0c\u8ba9 PVE \u4e2d Windows 11 \u5b9e\u73b0\u516c\u7f51\u8fdc\u7a0b\u8bbf\u95ee"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u672c\u6587\u4ecb\u7ecd\u4e00\u79cd\u57fa\u4e8e IPv6 + Cloudflare API \u7684\u81ea\u5efa DDNS \u65b9\u6848\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u6ca1\u6709\u516c\u7f51 IPv4 \u7684\u5bb6\u5ead\u5bbd\u5e26\u73af\u5883\u4e0b\uff0c\u901a\u8fc7 IPv6 \u516c\u7f51\u5730\u5740\uff0c\u5b9e\u73b0 PVE \u865a\u62df\u673a\u4e2d Windows 11 \u7684\u7a33\u5b9a\u8fdc\u7a0b\u8bbf\u95ee\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u3001\u4e3a\u4ec0\u4e48\u9700\u8981 IPv6 DDNS\uff1f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd1\u5e74\u6765\uff0c\u8d8a\u6765\u8d8a\u591a\u5bb6\u5ead\u5bbd\u5e26\u5f00\u59cb\u63d0\u4f9b\u516c\u7f51 IPv6\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u76f8\u6bd4 IPv4\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">IPv6 \u5730\u5740\u6570\u91cf\u5145\u8db3\uff1b<br>\u4e0d\u9700\u8981 NAT \u7aef\u53e3\u6620\u5c04\uff1b<br>\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee\u5bb6\u5ead\u7f51\u7edc\u8bbe\u5907\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f46\u662f\u5bb6\u5ead\u5bbd\u5e26 IPv6 \u901a\u5e38\u4e0d\u662f\u6c38\u4e45\u56fa\u5b9a\u5730\u5740\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e8c\u3001\u73af\u5883\u8bf4\u660e<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u9879\u76ee<\/th><th>\u8bf4\u660e<\/th><\/tr><\/thead><tbody><tr><td>\u865a\u62df\u5316\u5e73\u53f0<\/td><td>PVE<\/td><\/tr><tr><td>\u865a\u62df\u673a<\/td><td>Windows 11<\/td><\/tr><tr><td>\u865a\u62df\u7f51\u5361<\/td><td>VirtIO<\/td><\/tr><tr><td>\u7f51\u7edc<\/td><td>\u5bb6\u5ead IPv6<\/td><\/tr><tr><td>DNS\u670d\u52a1<\/td><td>Cloudflare<\/td><\/tr><tr><td>DDNS\u7a0b\u5e8f<\/td><td>PowerShell<\/td><\/tr><tr><td>\u901a\u77e5<\/td><td>Telegram Bot<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e09\u3001DDNS\u5de5\u4f5c\u539f\u7406<\/p>\n\n\n\n<div class=\"wp-block-visualize-mermaid\"><pre class=\"visualizeMermaid__content js-visualize-content\"><\/pre><pre class=\"visualizeMermaid__error visualizeMermaid__error--hidden js-visualize-error\"><\/pre><div class=\"visualizeMermaid__canvas\"><\/div><\/div>\n\n\n\n<div class=\"wp-block-visualize-mermaid\"><pre class=\"visualizeMermaid__content js-visualize-content\">flowchart LR\n\nA[Windows 11\u865a\u62df\u673a]\n-->B[\u83b7\u53d6\u5f53\u524d\u516c\u7f51IPv6]\n\nB\n-->C[\u67e5\u8be2Cloudflare AAAA\u8bb0\u5f55]\n\nC\n-->D{IPv6\u662f\u5426\u53d8\u5316}\n\nD\n--\u5426-->\nE[\u7ed3\u675f]\n\nD\n--\u662f-->\nF[\u8c03\u7528Cloudflare API]\n\nF\n-->G[\u66f4\u65b0AAAA\u8bb0\u5f55]\n\nG\n-->H[Telegram\u901a\u77e5]<\/pre><pre class=\"visualizeMermaid__error visualizeMermaid__error--hidden js-visualize-error\"><\/pre><div class=\"visualizeMermaid__canvas\"><svg id=\"graphDiv1783777436409\" width=\"1168.039306640625\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" height=\"137.05126953125\" viewBox=\"0 0 1168.039306640625 137.05126953125\"><style>#graphDiv1783777436409 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}#graphDiv1783777436409 .label text{fill:#333}#graphDiv1783777436409 .node rect,#graphDiv1783777436409 .node circle,#graphDiv1783777436409 .node ellipse,#graphDiv1783777436409 .node polygon,#graphDiv1783777436409 .node path{fill:#eee;stroke:#999;stroke-width:1px}#graphDiv1783777436409 .node .label{text-align:center}#graphDiv1783777436409 .node.clickable{cursor:pointer}#graphDiv1783777436409 .arrowheadPath{fill:#333}#graphDiv1783777436409 .edgePath .path{stroke:#666;stroke-width:1.5px}#graphDiv1783777436409 .edgeLabel{background-color:#fff;text-align:center}#graphDiv1783777436409 .edgeLabel rect{opacity:0.5}#graphDiv1783777436409 .cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}#graphDiv1783777436409 .cluster text{fill:#333}#graphDiv1783777436409 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100}#graphDiv1783777436409 .actor{stroke:#999;fill:#eee}#graphDiv1783777436409 text.actor{fill:#333;stroke:none}#graphDiv1783777436409 .actor-line{stroke:#666}#graphDiv1783777436409 .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}#graphDiv1783777436409 .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}#graphDiv1783777436409 #arrowhead{fill:#333}#graphDiv1783777436409 .sequenceNumber{fill:#fff}#graphDiv1783777436409 #sequencenumber{fill:#333}#graphDiv1783777436409 #crosshead path{fill:#333 !important;stroke:#333 !important}#graphDiv1783777436409 .messageText{fill:#333;stroke:none}#graphDiv1783777436409 .labelBox{stroke:#999;fill:#eee}#graphDiv1783777436409 .labelText{fill:#333;stroke:none}#graphDiv1783777436409 .loopText{fill:#333;stroke:none}#graphDiv1783777436409 .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}#graphDiv1783777436409 .note{stroke:#770;fill:#ffa}#graphDiv1783777436409 .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}#graphDiv1783777436409 .activation0{fill:#f4f4f4;stroke:#666}#graphDiv1783777436409 .activation1{fill:#f4f4f4;stroke:#666}#graphDiv1783777436409 .activation2{fill:#f4f4f4;stroke:#666}#graphDiv1783777436409 .mermaid-main-font{font-family:\"trebuchet ms\", verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 .section{stroke:none;opacity:0.2}#graphDiv1783777436409 .section0{fill:#80b3e6}#graphDiv1783777436409 .section2{fill:#80b3e6}#graphDiv1783777436409 .section1,#graphDiv1783777436409 .section3{fill:#fff;opacity:0.2}#graphDiv1783777436409 .sectionTitle0{fill:#333}#graphDiv1783777436409 .sectionTitle1{fill:#333}#graphDiv1783777436409 .sectionTitle2{fill:#333}#graphDiv1783777436409 .sectionTitle3{fill:#333}#graphDiv1783777436409 .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 .grid .tick{stroke:#e6e6e6;opacity:0.8;shape-rendering:crispEdges}#graphDiv1783777436409 .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 .grid path{stroke-width:0}#graphDiv1783777436409 .today{fill:none;stroke:#d42;stroke-width:2px}#graphDiv1783777436409 .task{stroke-width:2}#graphDiv1783777436409 .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 .taskText:not([font-size]){font-size:11px}#graphDiv1783777436409 .taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 .taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}#graphDiv1783777436409 .task.clickable{cursor:pointer}#graphDiv1783777436409 .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#graphDiv1783777436409 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#graphDiv1783777436409 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#graphDiv1783777436409 .taskText0,#graphDiv1783777436409 .taskText1,#graphDiv1783777436409 .taskText2,#graphDiv1783777436409 .taskText3{fill:#fff}#graphDiv1783777436409 .task0,#graphDiv1783777436409 .task1,#graphDiv1783777436409 .task2,#graphDiv1783777436409 .task3{fill:#26a;stroke:#1a4d80}#graphDiv1783777436409 .taskTextOutside0,#graphDiv1783777436409 .taskTextOutside2{fill:#333}#graphDiv1783777436409 .taskTextOutside1,#graphDiv1783777436409 .taskTextOutside3{fill:#333}#graphDiv1783777436409 .active0,#graphDiv1783777436409 .active1,#graphDiv1783777436409 .active2,#graphDiv1783777436409 .active3{fill:#eee;stroke:#1a4d80}#graphDiv1783777436409 .activeText0,#graphDiv1783777436409 .activeText1,#graphDiv1783777436409 .activeText2,#graphDiv1783777436409 .activeText3{fill:#333 !important}#graphDiv1783777436409 .done0,#graphDiv1783777436409 .done1,#graphDiv1783777436409 .done2,#graphDiv1783777436409 .done3{stroke:#666;fill:#bbb;stroke-width:2}#graphDiv1783777436409 .doneText0,#graphDiv1783777436409 .doneText1,#graphDiv1783777436409 .doneText2,#graphDiv1783777436409 .doneText3{fill:#333 !important}#graphDiv1783777436409 .crit0,#graphDiv1783777436409 .crit1,#graphDiv1783777436409 .crit2,#graphDiv1783777436409 .crit3{stroke:#b1361b;fill:#d42;stroke-width:2}#graphDiv1783777436409 .activeCrit0,#graphDiv1783777436409 .activeCrit1,#graphDiv1783777436409 .activeCrit2,#graphDiv1783777436409 .activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}#graphDiv1783777436409 .doneCrit0,#graphDiv1783777436409 .doneCrit1,#graphDiv1783777436409 .doneCrit2,#graphDiv1783777436409 .doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#graphDiv1783777436409 .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#graphDiv1783777436409 .milestoneText{font-style:italic}#graphDiv1783777436409 .doneCritText0,#graphDiv1783777436409 .doneCritText1,#graphDiv1783777436409 .doneCritText2,#graphDiv1783777436409 .doneCritText3{fill:#333 !important}#graphDiv1783777436409 .activeCritText0,#graphDiv1783777436409 .activeCritText1,#graphDiv1783777436409 .activeCritText2,#graphDiv1783777436409 .activeCritText3{fill:#333 !important}#graphDiv1783777436409 .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 g.classGroup text{fill:#999;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#graphDiv1783777436409 g.classGroup text .title{font-weight:bolder}#graphDiv1783777436409 g.clickable{cursor:pointer}#graphDiv1783777436409 g.classGroup rect{fill:#eee;stroke:#999}#graphDiv1783777436409 g.classGroup line{stroke:#999;stroke-width:1}#graphDiv1783777436409 .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}#graphDiv1783777436409 .classLabel .label{fill:#999;font-size:10px}#graphDiv1783777436409 .relation{stroke:#999;stroke-width:1;fill:none}#graphDiv1783777436409 .dashed-line{stroke-dasharray:3}#graphDiv1783777436409 #compositionStart{fill:#999;stroke:#999;stroke-width:1}#graphDiv1783777436409 #compositionEnd{fill:#999;stroke:#999;stroke-width:1}#graphDiv1783777436409 #aggregationStart{fill:#eee;stroke:#999;stroke-width:1}#graphDiv1783777436409 #aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}#graphDiv1783777436409 #dependencyStart{fill:#999;stroke:#999;stroke-width:1}#graphDiv1783777436409 #dependencyEnd{fill:#999;stroke:#999;stroke-width:1}#graphDiv1783777436409 #extensionStart{fill:#999;stroke:#999;stroke-width:1}#graphDiv1783777436409 #extensionEnd{fill:#999;stroke:#999;stroke-width:1}#graphDiv1783777436409 .commit-id,#graphDiv1783777436409 .commit-msg,#graphDiv1783777436409 .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 .pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 g.stateGroup text{fill:#999;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 g.stateGroup text{fill:#999;stroke:none;font-size:10px}#graphDiv1783777436409 g.stateGroup .state-title{font-weight:bolder;fill:#000}#graphDiv1783777436409 g.stateGroup rect{fill:#eee;stroke:#999}#graphDiv1783777436409 g.stateGroup line{stroke:#999;stroke-width:1}#graphDiv1783777436409 .transition{stroke:#999;stroke-width:1;fill:none}#graphDiv1783777436409 .stateGroup .composit{fill:white;border-bottom:1px}#graphDiv1783777436409 .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#graphDiv1783777436409 .state-note{stroke:#770;fill:#ffa}#graphDiv1783777436409 .state-note text{fill:black;stroke:none;font-size:10px}#graphDiv1783777436409 .stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}#graphDiv1783777436409 .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#graphDiv1783777436409 .node circle.state-start{fill:black;stroke:black}#graphDiv1783777436409 .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#graphDiv1783777436409 #statediagram-barbEnd{fill:#999}#graphDiv1783777436409 .statediagram-cluster rect{fill:#eee;stroke:#999;stroke-width:1px}#graphDiv1783777436409 .statediagram-cluster rect.outer{rx:5px;ry:5px}#graphDiv1783777436409 .statediagram-state .divider{stroke:#999}#graphDiv1783777436409 .statediagram-state .title-state{rx:5px;ry:5px}#graphDiv1783777436409 .statediagram-cluster.statediagram-cluster .inner{fill:white}#graphDiv1783777436409 .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#graphDiv1783777436409 .statediagram-cluster .inner{rx:0;ry:0}#graphDiv1783777436409 .statediagram-state rect.basic{rx:5px;ry:5px}#graphDiv1783777436409 .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#graphDiv1783777436409 .note-edge{stroke-dasharray:5}#graphDiv1783777436409 .statediagram-note rect{fill:#ffa;stroke:#770;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '\"trebuchet ms\", verdana, arial';--mermaid-font-family: \"Comic Sans MS\", \"Comic Sans\", cursive}\n\n:root { --mermaid-font-family: \"trebuchet ms\", verdana, arial;}<\/style><style>#graphDiv1783777436409 {\n    color: rgb(60, 67, 74);\n    font: 13px \/ 18.2px \"Noto Serif SC\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  }<\/style><g transform=\"translate(0, 0)\"><marker id=\"flowchart-pointEnd\" class=\"flowchart\" viewBox=\"0 0 10 10\" refX=\"10\" refY=\"5\" markerUnits=\"strokeWidth\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"><\/path><\/marker><marker id=\"flowchart-pointStart\" class=\"flowchart\" viewBox=\"0 0 10 10\" refX=\"0\" refY=\"5\" markerUnits=\"strokeWidth\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"><\/path><\/marker><marker id=\"flowchart-circleEnd\" class=\"flowchart\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"strokeWidth\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"><\/circle><\/marker><marker id=\"flowchart-circleStart\" class=\"flowchart\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"strokeWidth\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"><\/circle><\/marker><marker id=\"flowchart-crossEnd\" class=\"flowchart\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"strokeWidth\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto\"><path stroke=\"black\" d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"><\/path><\/marker><marker id=\"flowchart-crossStart\" class=\"flowchart\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"strokeWidth\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto\"><path stroke=\"black\" d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"><\/path><\/marker><g class=\"root\"><g class=\"clusters\"><\/g><g class=\"edgePaths\"><path d=\"M131.4150390625,68.525634765625L135.58170572916666,68.525634765625C139.74837239583334,68.525634765625,148.08170572916666,68.525634765625,156.4150390625,68.525634765625C164.74837239583334,68.525634765625,173.08170572916666,68.525634765625,177.24837239583334,68.525634765625L181.4150390625,68.525634765625\" id=\"id1\" class=\"transition\" marker-end=\"url(#flowchart-pointEnd)\"><\/path><path d=\"M298.46712493896484,68.525634765625L302.63379160563153,68.525634765625C306.80045827229816,68.525634765625,315.13379160563153,68.525634765625,323.46712493896484,68.525634765625C331.80045827229816,68.525634765625,340.13379160563153,68.525634765625,344.30045827229816,68.525634765625L348.46712493896484,68.525634765625\" id=\"id2\" class=\"transition\" marker-end=\"url(#flowchart-pointEnd)\"><\/path><path d=\"M509.88379669189453,68.525634765625L514.0504633585612,68.525634765625C518.2171300252279,68.525634765625,526.5504633585612,68.525634765625,534.9671302636465,68.60896809895833C543.3837971687317,68.69230143229167,551.8837976455688,68.85896809895833,556.1337978839874,68.94230143229167L560.383798122406,69.025634765625\" id=\"id3\" class=\"transition\" marker-end=\"url(#flowchart-pointEnd)\"><\/path><path d=\"M663.17393354245,50.76450065441892L671.4119001533254,47.085800837046285C679.6498667642009,43.407101019673654,696.1257999859517,36.049701384928376,716.4705375891062,32.371001567555744C736.8152751922607,28.692301750183105,761.0288171768188,28.692301750183105,773.1355881690979,28.692301750183105L785.242359161377,28.692301750183105\" id=\"id4\" class=\"transition\" marker-end=\"url(#flowchart-pointEnd)\"><\/path><path d=\"M663.1739355402763,87.28676974002771L671.4119018181806,90.79880274686757C679.649868096085,94.31083575370742,696.1258006518938,101.33490176738717,709.6415447605578,104.84693477422702C723.157288869222,108.3589677810669,733.7128445307413,108.3589677810669,738.9906223615011,108.3589677810669L744.2684001922607,108.3589677810669\" id=\"id5\" class=\"transition\" marker-end=\"url(#flowchart-pointEnd)\"><\/path><path d=\"M867.5496501922607,108.3589677810669L871.7163168589274,108.3589677810669C875.8829835255941,108.3589677810669,884.2163168589274,108.3589677810669,892.5496501922607,108.3589677810669C900.8829835255941,108.3589677810669,909.2163168589274,108.3589677810669,913.3829835255941,108.3589677810669L917.5496501922607,108.3589677810669\" id=\"id6\" class=\"transition\" marker-end=\"url(#flowchart-pointEnd)\"><\/path><path d=\"M1015.2267360687256,108.3589677810669L1019.3934027353922,108.3589677810669C1023.560069402059,108.3589677810669,1031.8934027353923,108.3589677810669,1040.2267360687256,108.3589677810669C1048.5600694020588,108.3589677810669,1056.8934027353923,108.3589677810669,1061.0600694020588,108.3589677810669L1065.2267360687256,108.3589677810669\" id=\"id7\" class=\"transition\" marker-end=\"url(#flowchart-pointEnd)\"><\/path><\/g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" transform=\"translate(0, 0)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\"><\/tspan><\/text><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" transform=\"translate(0, 0)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\"><\/tspan><\/text><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" transform=\"translate(0, 0)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\"><\/tspan><\/text><\/g><\/g><g class=\"edgeLabel\" transform=\"translate(712.6017332077026, 28.692301750183105)\"><g class=\"label\" transform=\"translate(-6.5, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">\u5426<\/tspan><\/text><\/g><\/g><g class=\"edgeLabel\" transform=\"translate(712.6017332077026, 108.3589677810669)\"><g class=\"label\" transform=\"translate(-6.6666669845581055, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">\u662f<\/tspan><\/text><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" transform=\"translate(0, 0)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\"><\/tspan><\/text><\/g><\/g><g class=\"edgeLabel\"><g class=\"label\" transform=\"translate(0, 0)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\"><\/tspan><\/text><\/g><\/g><\/g><g class=\"nodes\"><g class=\"node undefined\" id=\"A\" transform=\"translate(69.70751953125, 68.525634765625)\"><rect class=\"basic label-container\" rx=\"0\" ry=\"0\" x=\"-61.70751953125\" y=\"-14.833333492279053\" width=\"123.4150390625\" height=\"29.666666984558105\"><\/rect><g class=\"label\" transform=\"translate(-54.20751953125, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">Windows 11\u865a\u62df\u673a<\/tspan><\/text><\/g><\/g><g class=\"node undefined\" id=\"B\" transform=\"translate(239.94108200073242, 68.525634765625)\"><rect class=\"basic label-container\" rx=\"0\" ry=\"0\" x=\"-58.52604293823242\" y=\"-14.833333492279053\" width=\"117.05208587646484\" height=\"29.666666984558105\"><\/rect><g class=\"label\" transform=\"translate(-51.02604293823242, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">\u83b7\u53d6\u5f53\u524d\u516c\u7f51IPv6<\/tspan><\/text><\/g><\/g><g class=\"node undefined\" id=\"C\" transform=\"translate(429.1754608154297, 68.525634765625)\"><rect class=\"basic label-container\" rx=\"0\" ry=\"0\" x=\"-80.70833587646484\" y=\"-14.833333492279053\" width=\"161.4166717529297\" height=\"29.666666984558105\"><\/rect><g class=\"label\" transform=\"translate(-73.20833587646484, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">\u67e5\u8be2Cloudflare AAAA\u8bb0\u5f55<\/tspan><\/text><\/g><\/g><g class=\"node default\" id=\"D\" transform=\"translate(620.4094314575195, 68.525634765625)\"><polygon points=\"60.525636196136475,0 121.05127239227295,-60.525636196136475 60.525636196136475,-121.05127239227295 0,-60.525636196136475\" class=\"label-container\" transform=\"translate(-60.525636196136475,60.525636196136475)\"><\/polygon><g class=\"label\" transform=\"translate(-38.19230270385742, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">IPv6\u662f\u5426\u53d8\u5316<\/tspan><\/text><\/g><\/g><g class=\"node undefined\" id=\"E\" transform=\"translate(805.9090251922607, 28.692301750183105)\"><rect class=\"basic label-container\" rx=\"0\" ry=\"0\" x=\"-20.666666984558105\" y=\"-14.833333492279053\" width=\"41.33333396911621\" height=\"29.666666984558105\"><\/rect><g class=\"label\" transform=\"translate(-13.166666984558105, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">\u7ed3\u675f<\/tspan><\/text><\/g><\/g><g class=\"node undefined\" id=\"F\" transform=\"translate(805.9090251922607, 108.3589677810669)\"><rect class=\"basic label-container\" rx=\"0\" ry=\"0\" x=\"-61.640625\" y=\"-14.833333492279053\" width=\"123.28125\" height=\"29.666666984558105\"><\/rect><g class=\"label\" transform=\"translate(-54.140625, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">\u8c03\u7528Cloudflare API<\/tspan><\/text><\/g><\/g><g class=\"node undefined\" id=\"G\" transform=\"translate(966.3881931304932, 108.3589677810669)\"><rect class=\"basic label-container\" rx=\"0\" ry=\"0\" x=\"-48.83854293823242\" y=\"-14.833333492279053\" width=\"97.67708587646484\" height=\"29.666666984558105\"><\/rect><g class=\"label\" transform=\"translate(-41.33854293823242, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">\u66f4\u65b0AAAA\u8bb0\u5f55<\/tspan><\/text><\/g><\/g><g class=\"node undefined\" id=\"H\" transform=\"translate(1112.6329860687256, 108.3589677810669)\"><rect class=\"basic label-container\" rx=\"0\" ry=\"0\" x=\"-47.40625\" y=\"-14.833333492279053\" width=\"94.8125\" height=\"29.666666984558105\"><\/rect><g class=\"label\" transform=\"translate(-39.90625, -7.333333492279053)\"><text style=\"\"><tspan xml:space=\"preserve\" dy=\"1em\" x=\"0\" class=\"row\">Telegram\u901a\u77e5<\/tspan><\/text><\/g><\/g><\/g><\/g><\/g><\/svg><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Windows 11\u865a\u62df\u673a\u6bcf10\u5206\u949f\u68c0\u67e5\u4e00\u6b21\u5f53\u524dIPv6\uff0c\u5982\u679c\u53d1\u751f\u53d8\u5316\uff0c\u901a\u8fc7Cloudflare API\u66f4\u65b0AAAA\u8bb0\u5f55\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u56db\u3001\u51c6\u5907 Cloudflare API Token<\/p>\n\n\n\n<div class=\"wp-block-visualize-mermaid\"><pre class=\"visualizeMermaid__content js-visualize-content\"><\/pre><pre class=\"visualizeMermaid__error visualizeMermaid__error--hidden js-visualize-error\">Parse error on line 1:\n\n^\nExpecting 'NEWLINE', 'SPACE', 'GRAPH', got 'EOF'<\/pre><div class=\"visualizeMermaid__canvas\"><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudflare \u63a7\u5236\u53f0\u2192\u7528\u6237\u4e2d\u5fc3\u2192API Tokens\u2192Create Token<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f \u6ce8\u610f\uff1aAPI Token \u7b49\u540c\u4e8e\u5bc6\u7801\uff0c\u4e0d\u8981\u53d1\u5e03\u5230\u535a\u5ba2\uff0c\u4e0d\u8981\u4e0a\u4f20 GitHub\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e94\u3001\u521b\u5efa Cloudflare AAAA\u8bb0\u5f55<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fdb\u5165  Cloudflare\u2192DNS\u2192\u6dfb\u52a0\u8bb0\u5f55<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7c7b\u578b<\/th><th>\u5185\u5bb9<\/th><\/tr><\/thead><tbody><tr><td>AAAA<\/td><td>IPv6\u5730\u5740<\/td><\/tr><tr><td>\u540d\u79f0<\/td><td>rdp<\/td><\/tr><tr><td>\u4ee3\u7406\u72b6\u6001<\/td><td>DNS only<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0d\u8981\u5f00\u542f\uff1aProxied<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u539f\u56e0\uff1aCloudflare CDN \u4e0d\u4ee3\u7406 RDP \u7b49\u975e HTTP \u670d\u52a1\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u516d\u3001Windows IPv6\u7a33\u5b9a\u5730\u5740\u8bbe\u7f6e<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Windows \u9ed8\u8ba4\u5f00\u542f IPv6 \u9690\u79c1\u5730\u5740\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f8b\u5982\uff1a\u4e34\u65f6IPv6:2001:db8::abcd<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u4e2a\u5730\u5740\u53ef\u80fd\u53d8\u5316\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DDNS \u4e0d\u5e94\u8be5\u4f7f\u7528\u4e34\u65f6\u5730\u5740\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5173\u95edIPv6\u4e34\u65f6\u5730\u5740<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ba1\u7406\u5458 PowerShell\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>netsh interface ipv6 set privacy state=disabled<br>\n\u7981\u6b62IPv6\u968f\u673a\u63a5\u53e3\u6807\u8bc6<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>netsh interface ipv6 set global randomizeidentifiers=disabled store=active<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ipconfig<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b63\u5e38\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">IPv6 \u5730\u5740:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2001:db8:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0d\u518d\u51fa\u73b0\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e34\u65f6 IPv6 \u5730\u5740<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e03\u3001\u521b\u5efaDDNS\u76ee\u5f55\u7ed3\u6784<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Windows \u521b\u5efa\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C:\\RDP_DDNS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u7ec8\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C:\\RDP_DDNS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2502<br>\u251c\u2500\u2500 cloudflare-ddns.ps1<br>\u2502<br>\u251c\u2500\u2500 config.ps1<br>\u2502<br>\u2514\u2500\u2500 cloudflare_ddns.log<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bf4\u660e\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u6587\u4ef6<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u4f5c\u7528<\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">cloudflare-ddns.ps1<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u4e3b\u7a0b\u5e8f<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">config.ps1<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u914d\u7f6e\u6587\u4ef6<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">cloudflare_ddns.log<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u8fd0\u884c\u65e5\u5fd7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u516b\u3001\u914d\u7f6e\u6587\u4ef6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u521b\u5efa\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C:\\RDP_DDNS\\config.ps1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Cloudflare API Token\n$apiToken=\"YOUR_API_TOKEN\"\n# Cloudflare Zone ID\n$zoneId=\"YOUR_ZONE_ID\"\n# AAAA\u8bb0\u5f55\n$recordName=\"rdp.example.com\"\n# \u65e5\u5fd7\n$logFilePath=\"C:\\RDP_DDNS\\cloudflare_ddns.log\"\n# Telegram\u901a\u77e5\n$telegramEnable=$true\n$telegramBotToken=\"YOUR_TELEGRAM_BOT_TOKEN\"\n$telegramChatId=\"YOUR_CHAT_ID\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e5d\u3001PowerShell\u6267\u884c\u6743\u9650<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ba1\u7406\u5458 PowerShell\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Set-ExecutionPolicy RemoteSigned<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Get-ExecutionPolicy<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ed3\u679c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RemoteSigned<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5341\u3001\u8fd0\u884c\u6d4b\u8bd5<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>C:\\RDP_DDNS\\cloudflare-ddns.ps1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6210\u529f\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f00\u59cb\u68c0\u6d4bIPv6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f53\u524dIPv6:<br>2001:db8::xxxx<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudflare\u5f53\u524dIPv6:<br>2001:db8::xxxx<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">IPv6\u6ca1\u6709\u53d8\u5316\uff0c\u65e0\u9700\u66f4\u65b0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u5b8c\u6210<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">IPv6\u53d8\u5316\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">IPv6\u53d8\u5316<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u65e7:<br>2001:db8:old::1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u65b0:<br>2001:db8:new::1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudflare\u66f4\u65b0\u6210\u529f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5341\u4e00\u3001cloudflare-ddns.ps1 \u5b8c\u6574\u4ee3\u7801<\/p>\n\n\n\n<details>\n<summary>\u70b9\u51fb\u5c55\u5f00 cloudflare-ddns.ps1 \u5b8c\u6574\u4ee3\u7801<\/summary>\n\n\n\n<pre class=\"wp-block-code\"><code># =====================================================\n# Cloudflare IPv6 DDNS\n# Windows 11 + PVE VirtIO optimized\n#\n# Features:\n# IPv6 stable address detection\n# Cloudflare API update\n# Telegram notification\n# Log rotation\n#\n# PowerShell 5.1 compatible\n# =====================================================\n\n# \u8bbe\u7f6e\u63a7\u5236\u53f0\u7f16\u7801\n&#91;Console]::OutputEncoding =\n&#91;System.Text.Encoding]::UTF8\n\n\n# \u914d\u7f6e\u6587\u4ef6\n\n$config=\"C:\\RDP_DDNS\\config.ps1\"\n\n\nif(!(Test-Path $config))\n{\n    Write-Host \"\u914d\u7f6e\u6587\u4ef6\u4e0d\u5b58\u5728: $config\"\n    exit\n}\n\n# \u52a0\u8f7d\u914d\u7f6e\n\n. $config\n\n\n# =====================================================\n# \u65e5\u5fd7\n# =====================================================\n\nfunction Write-Log\n{\n\n    param(\n        &#91;string]$Message\n    )\n\n    $line =\n    \"&#91;$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')] $Message\"\n\n    Write-Host $line\n\n    try\n    {\n\n        Add-Content `\n        -Path $logFilePath `\n        -Value $line `\n        -Encoding UTF8\n\n    }\n    catch\n    {\n\n    }\n\n}\n\n# =====================================================\n# \u65e5\u5fd7\u8f6e\u6362\n# =====================================================\n\n\nif(Test-Path $logFilePath)\n{\n\n    if((Get-Item $logFilePath).Length -gt 5MB)\n    {\n\n        Rename-Item `\n        -Path $logFilePath `\n        -NewName \"$logFilePath.old\" `\n        -Force\n\n    }\n\n}\n\n\n# =====================================================\n# \u83b7\u53d6\u516c\u7f51 IPv6\n# =====================================================\n\n\nfunction Get-PublicIPv6\n{\n    Write-Log \"\u5f00\u59cb\u68c0\u6d4bIPv6\"\n\n    $ips =\n    Get-NetIPAddress `\n    -AddressFamily IPv6 `\n    -AddressState Preferred\n\n    # -------------------------------------------------\n    # \u4f18\u5148\u5bfb\u627e\u7a33\u5b9aIPv6\u5730\u5740\n    #\n    # Windows\u5173\u95ed\u9690\u79c1\u5730\u5740\u540e\n    # VirtIO\u7f51\u5361\u751f\u6210\u7a33\u5b9a\u63a5\u53e3ID\n    #\n    # \u5982\u679c\u4f60\u7684\u5730\u5740\u540e\u7f00\u56fa\u5b9a:\n    #\n    # xxxx:xxxx:xxxx\n    #\n    # \u53ef\u4ee5\u586b\u5199\u5230\u8fd9\u91cc\n    # -------------------------------------------------\n\n\n    $stable =\n    $ips |\n    Where-Object {\n\n\n        $_.IPAddress -match \"^&#91;23]\" `\n\n        -and $_.IPAddress -notlike \"fe80::*\" `\n\n        -and $_.IPAddress -notlike \"fc00::*\" `\n\n        -and $_.IPAddress -notlike \"fd00::*\"\n\n    } |\n    Select-Object -First 1\n\n    if($stable)\n    {\n\n        Write-Log \"\u4f7f\u7528\u7a33\u5b9a\u516c\u7f51IPv6\"\n\n        return $stable.IPAddress\n\n    }\n\n    # -------------------------------------------------\n    # \u5907\u7528\u65b9\u6848\n    # -------------------------------------------------\n\n    try\n    {\n\n        $ip =\n        Invoke-RestMethod `\n        -Uri \"https:\/\/api6.ipify.org\" `\n        -TimeoutSec 10\n\n        if($ip -match \":\")\n        {\n\n            Write-Log \"\u4f7f\u7528IPv6 API\"\n\n            return $ip.Trim()\n\n        }\n\n    }\n    catch\n    {\n\n    }\n\n    return $null\n\n}\n\n\n# =====================================================\n# \u83b7\u53d6IPv6\n# =====================================================\n\n\n$ipv6 =\nGet-PublicIPv6\n\nif(!$ipv6)\n{\n\n    Write-Log \"\u9519\u8bef:\u6ca1\u6709\u516c\u7f51IPv6\"\n\n    exit\n\n}\n\n\nWrite-Log \"\u5f53\u524dIPv6: $ipv6\"\n\n# =====================================================\n# Cloudflare API\n# =====================================================\n\n\n$headers=@{\n\n\n    Authorization=\n    \"Bearer $apiToken\"\n    \"Content-Type\"=\n    \"application\/json\"\n\n}\n\n\n$nameEncoded =\n&#91;uri]::EscapeDataString($recordName)\n\n\n\n$getUrl =\n\"https:\/\/api.cloudflare.com\/client\/v4\/zones\/\" +\n$zoneId +\n\"\/dns_records?type=AAAA&amp;name=\" +\n$nameEncoded\n\ntry\n{\n\n\n    $result =\n    Invoke-RestMethod `\n\n    -Uri $getUrl `\n\n    -Headers $headers `\n\n    -Method Get `\n\n    -TimeoutSec 15\n\n    if($result.result.Count -ne 1)\n    {\n\n        throw \"AAAA\u8bb0\u5f55\u6570\u91cf\u5f02\u5e38\"\n\n    }\n\n\n}\ncatch\n{\n\n    Write-Log \"\u83b7\u53d6DNS\u5931\u8d25: $($_.Exception.Message)\"\n\n    exit\n\n}\n\n\n$record =\n$result.result&#91;0]\n\n$recordId =\n$record.id\n\n$oldIP =\n$record.content\n\nWrite-Log \"Cloudflare\u5f53\u524dIPv6: $oldIP\"\n\n# =====================================================\n# \u5224\u65ad\u662f\u5426\u53d8\u5316\n# =====================================================\n\nif($oldIP -eq $ipv6)\n{\n\n    Write-Log \"IPv6\u6ca1\u6709\u53d8\u5316\uff0c\u65e0\u9700\u66f4\u65b0\"\n\n    exit\n\n}\n\n\nWrite-Log \"IPv6\u53d1\u751f\u53d8\u5316\"\n\nWrite-Log \"\u65e7: $oldIP\"\n\nWrite-Log \"\u65b0: $ipv6\"\n\n# =====================================================\n# \u66f4\u65b0Cloudflare\n# =====================================================\n\n$updateUrl =\n\n\"https:\/\/api.cloudflare.com\/client\/v4\/zones\/\" +\n\n$zoneId +\n\n\"\/dns_records\/\" +\n\n$recordId\n\n$body =\n@{\n\n    type=\"AAAA\"\n\n    name=$recordName\n\n    content=$ipv6\n\n    ttl=1\n\n    proxied=$false\n\n\n} |\nConvertTo-Json\n\ntry\n{\n\n\n    $update =\n\n    Invoke-RestMethod `\n\n    -Uri $updateUrl `\n\n    -Headers $headers `\n\n    -Method Put `\n\n    -Body $body `\n\n    -TimeoutSec 20\n\n    if($update.success)\n    {\n\n        Write-Log \"Cloudflare\u66f4\u65b0\u6210\u529f\"\n\n\n        $status=\"\u6210\u529f\"\n\n\n    }\n    else\n    {\n\n\n        Write-Log \"Cloudflare\u66f4\u65b0\u5931\u8d25\"\n\n\n        $status=\"\u5931\u8d25\"\n\n    }\n\n\n}\ncatch\n{\n\n    Write-Log \"\u66f4\u65b0\u5f02\u5e38: $($_.Exception.Message)\"\n\n\n    $status=\"\u5f02\u5e38\"\n\n}\n\n\n# =====================================================\n# Telegram\u901a\u77e5\n# =====================================================\n\n\nif($telegramEnable -eq $true)\n{\n\n\n$msg =\n\n\"Cloudflare IPv6 DDNS\u66f4\u65b0`n\" +\n\n\"\u72b6\u6001: $status`n\" +\n\n\"\u57df\u540d: $recordName`n\" +\n\n\"\u65e7IP: $oldIP`n\" +\n\n\"\u65b0IP: $ipv6`n\" +\n\n\"\u65f6\u95f4: $(Get-Date)\"\n\ntry\n{\n\n    $null =\n    Invoke-RestMethod `\n\n    -Uri \"https:\/\/api.telegram.org\/bot$telegramBotToken\/sendMessage\" `\n\n    -Method Post `\n\n    -Body @{\n\n        chat_id=$telegramChatId\n\n        text=$msg\n    }\n\n}\ncatch\n{\n\n}\n\n}\n\nWrite-Log \"\u6267\u884c\u5b8c\u6210\"<\/code><\/pre>\n\n\n\n<\/details>\n\n\n\n<p class=\"wp-block-paragraph\">\u5341\u4e8c\u3001\u4ee3\u7801\u8bf4\u660e<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1.\u4e3a\u4ec0\u4e48\u5206\u6210\u4e24\u4e2a\u6587\u4ef6\uff1f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u91c7\u7528\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C:\\RDP_DDNS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u251c\u2500\u2500 cloudflare-ddns.ps1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u2514\u2500\u2500 config.ps1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ed3\u6784\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u539f\u56e0\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3b\u7a0b\u5e8f\u516c\u5f00<br>cloudflare-ddns.ps1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u53ef\u4ee5\u4e0a\u4f20\u535a\u5ba2\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u7f6e\u6587\u4ef6\u79c1\u6709<br>config.ps1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4fdd\u5b58\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">API Token<br>Zone ID<br>\u57df\u540d<br>Telegram\u4fe1\u606f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u907f\u514d\u6cc4\u9732\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2.\u65e5\u5fd7\u793a\u4f8b<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b63\u5e38\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2026-01-01 12:00:01] \u5f00\u59cb\u68c0\u6d4bIPv6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2026-01-01 12:00:01]<br>\u5f53\u524dIPv6:<br>2001:db8::1234<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2026-01-01 12:00:01]<br>IPv6\u6ca1\u6709\u53d8\u5316\uff0c\u65e0\u9700\u66f4\u65b0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u53d8\u5316\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[2026-01-01 18:00:01]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">IPv6\u53d1\u751f\u53d8\u5316<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u65e7:<br>2001:db8::1111<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u65b0:<br>2001:db8::2222<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudflare\u66f4\u65b0\u6210\u529f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5341\u4e09\u3001\u8bbe\u7f6e Windows \u4efb\u52a1\u8ba1\u5212\u81ea\u52a8\u8fd0\u884c DDNS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u524d\u9762\u5df2\u7ecf\u5b8c\u6210\u811a\u672c\u6d4b\u8bd5\uff0c\u4f46\u662f\u5982\u679c\u5e0c\u671b\u957f\u671f\u7a33\u5b9a\u8fd0\u884c\uff0c\u9700\u8981\u8ba9 Windows \u81ea\u52a8\u6267\u884c\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Windows \u81ea\u5e26\u7684\u300c\u4efb\u52a1\u8ba1\u5212\u7a0b\u5e8f\u300d\u5373\u53ef\u6ee1\u8db3\u9700\u6c42\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u6253\u5f00\u4efb\u52a1\u8ba1\u5212\u7a0b\u5e8f<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u6309\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Win + R<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u5165\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">taskschd.msc<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6253\u5f00\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4efb\u52a1\u8ba1\u5212\u7a0b\u5e8f<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u521b\u5efa\u4efb\u52a1<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u53f3\u4fa7\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u521b\u5efa\u4efb\u52a1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0d\u8981\u9009\u62e9\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u521b\u5efa\u57fa\u672c\u4efb\u52a1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u56e0\u4e3a\u9ad8\u7ea7\u9009\u9879\u8f83\u5c11\u3002<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>\u5e38\u89c4\u8bbe\u7f6e<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u540d\u79f0\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudflare IPv6 DDNS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5efa\u8bae\u52fe\u9009\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f7f\u7528\u6700\u9ad8\u6743\u9650\u8fd0\u884c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u539f\u56e0\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u811a\u672c\u9700\u8981\u8bfb\u53d6\u7f51\u7edc\u63a5\u53e3\u4fe1\u606f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9009\u62e9\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0d\u7ba1\u7528\u6237\u662f\u5426\u767b\u5f55\u90fd\u8981\u8fd0\u884c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5341\u56db\u3001\u8bbe\u7f6e\u542f\u52a8\u6267\u884c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5207\u6362\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u89e6\u53d1\u5668<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u70b9\u51fb\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u65b0\u5efa<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9009\u62e9\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5f00\u59cb\u4efb\u52a1:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u542f\u52a8\u65f6\u5efa\u8bae\uff1a\u8bbe\u7f6e\u5ef6\u8fdf\uff1a1\u5206\u949f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u539f\u56e0\uff1aWindows\u542f\u52a8\u6d41\u7a0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Windows\u542f\u52a8\u2192VirtIO\u865a\u62df\u7f51\u5361\u52a0\u8f7d\u2192IPv6 RA\u83b7\u53d6\u5730\u5740\u2192\u6267\u884cDDNS<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u7acb\u5373\u8fd0\u884c\uff0c\u53ef\u80fd\u51fa\u73b0\uff1a\u6ca1\u6709\u516c\u7f51IPv6<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u4ecb\u7ecd\u4e00\u79cd\u57fa\u4e8e IPv6 + Cloudflare API \u7684\u81ea\u5efa DDNS \u65b9\u6848\u3002 \u5728\u6ca1\u6709\u516c\u7f51 IPv4 \u7684\u5bb6\u5ead\u5bbd\u5e26\u73af\u5883\u4e0b\uff0c\u901a &#8230;<\/p>\n","protected":false},"author":1,"featured_media":128,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[5],"tags":[],"class_list":["post-126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nas"],"_links":{"self":[{"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":2,"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":130,"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions\/130"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/media\/128"}],"wp:attachment":[{"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.juup.top\/index.php\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}