[{"data":1,"prerenderedAt":614},["ShallowReactive",2],{"navigation_docs_zh_cn":3,"-zh-cn-pml-2-install":75,"-zh-cn-pml-2-install-surround":609},[4,26],{"title":5,"path":6,"stem":7,"children":8,"page":25},"PML 2 插件开发指南","\u002Fzh_cn\u002Fpml-2-plugin","zh_cn\u002Fpml-2-plugin",[9,13,17,21],{"title":10,"path":11,"stem":12},"插件开发综述","\u002Fzh_cn\u002Fpml-2-plugin\u002Fintro","zh_cn\u002Fpml-2-plugin\u002F01.intro",{"title":14,"path":15,"stem":16},"插件系统埋点说明","\u002Fzh_cn\u002Fpml-2-plugin\u002Ftriggers","zh_cn\u002Fpml-2-plugin\u002F02.triggers",{"title":18,"path":19,"stem":20},"插件系统运算符说明","\u002Fzh_cn\u002Fpml-2-plugin\u002Foperators","zh_cn\u002Fpml-2-plugin\u002F03.operators",{"title":22,"path":23,"stem":24},"内置函数","\u002Fzh_cn\u002Fpml-2-plugin\u002Ffunctions","zh_cn\u002Fpml-2-plugin\u002F04.functions",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"PML 2","\u002Fzh_cn\u002Fpml-2","zh_cn\u002Fpml-2",[31,35,39,43,47,51,55,59,63,67,71],{"title":32,"path":33,"stem":34},"介绍 & 下载","\u002Fzh_cn\u002Fpml-2\u002Fintro","zh_cn\u002Fpml-2\u002F01.intro",{"title":36,"path":37,"stem":38},"安装","\u002Fzh_cn\u002Fpml-2\u002Finstall","zh_cn\u002Fpml-2\u002F02.install",{"title":40,"path":41,"stem":42},"用户指南","\u002Fzh_cn\u002Fpml-2\u002Fuser_guide","zh_cn\u002Fpml-2\u002F03.user_guide",{"title":44,"path":45,"stem":46},"故障排查","\u002Fzh_cn\u002Fpml-2\u002Ftroubleshooting","zh_cn\u002Fpml-2\u002F04.troubleshooting",{"title":48,"path":49,"stem":50},"配置文件","\u002Fzh_cn\u002Fpml-2\u002Fconfig","zh_cn\u002Fpml-2\u002F05.config",{"title":52,"path":53,"stem":54},"主题","\u002Fzh_cn\u002Fpml-2\u002Fthemes","zh_cn\u002Fpml-2\u002F06.themes",{"title":56,"path":57,"stem":58},"插件开发指南","\u002Fzh_cn\u002Fpml-2\u002Fplugin","zh_cn\u002Fpml-2\u002F07.plugin",{"title":60,"path":61,"stem":62},"PML 2 隐私政策","\u002Fzh_cn\u002Fpml-2\u002Fpolicy","zh_cn\u002Fpml-2\u002F08.policy",{"title":64,"path":65,"stem":66},"PML 2 用户协议","\u002Fzh_cn\u002Fpml-2\u002Fuser_agreement","zh_cn\u002Fpml-2\u002F09.user_agreement",{"title":68,"path":69,"stem":70},"DNS 提供商","\u002Fzh_cn\u002Fpml-2\u002Fdns_providers","zh_cn\u002Fpml-2\u002F10.dns_providers",{"title":72,"path":73,"stem":74},"遥测","\u002Fzh_cn\u002Fpml-2\u002Ftelemetry","zh_cn\u002Fpml-2\u002F11.telemetry",{"id":76,"title":36,"body":77,"description":603,"extension":604,"links":605,"meta":606,"navigation":202,"path":37,"seo":607,"stem":38,"__hash__":608},"docs_zh_cn\u002Fzh_cn\u002Fpml-2\u002F02.install.md",{"type":78,"value":79,"toc":593},"minimark",[80,85,115,123,127,146,149,320,324,327,330,340,389,405,409,425,429,497,514,518,532,580,583,589],[81,82,84],"h2",{"id":83},"windows-安装","Windows 安装",[86,87,88,101,108],"ol",{},[89,90,91,92,96,97,100],"li",{},"从官网\u002F发布页下载安装程序: x64 为 ",[93,94,95],"code",{},"pml2 setup \u003C版本> AOT.exe",", ARM64 为 ",[93,98,99],{},"pml2_setup_arm64_\u003C版本>.exe","。",[89,102,103,104,107],{},"双击运行, 按向导完成安装 (默认安装到 ",[93,105,106],{},"%LOCALAPPDATA%\\PML 2",")。",[89,109,110,111],{},"安装完成后从桌面\u002F开始菜单启动 PML 2。\n",[112,113,114],"tip",{},"下载安装程序时浏览器或 Windows Defender 可能会提示您下载的文件不安全, 这是正常的, 因为安装程序没有数字签名。此时选择信任即可。",[116,117,118,119,122],"note",{},"安装器支持静默安装参数: ",[93,120,121],{},"\u002Fsilent \u002Fsp- \u002Fnocancel","(AOT 与 Common 版本参数一致)。",[81,124,126],{"id":125},"linux-安装","Linux 安装",[116,128,129,130,133,134,137,138,141,142,145],{},"下载 ",[93,131,132],{},"pml2-\u003C版本>-linux-x64-aot.deb"," (ARM64 为 ",[93,135,136],{},"...-linux-arm64-aot.deb","; 同时提供 ",[93,139,140],{},".rpm","); 安装路径固定为 ",[93,143,144],{},"\u002Fopt\u002Fpml-2",", 可从应用菜单启动。",[116,147,148],{},"本部分假设您知道如何在 Linux 桌面端中打开终端, 并有一定的自主问题解决能力和 Linux 基础。",[150,151,153,158,316],"steps",{"level":152},"4",[154,155,157],"h4",{"id":156},"打开终端输入以下命令","打开终端，输入以下命令:",[159,160,161,222,273],"code-group",{},[162,163,169],"pre",{"className":164,"code":165,"filename":166,"language":167,"meta":168,"style":168},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# 需要先安装 wget\nsudo apt install wget\n\nbash \u003C(curl -sSL https:\u002F\u002Fapi.rycb.tech\u002Fapi\u002Fpml2\u002Finstall)\n","Debian\u002FUbuntu","bash","",[93,170,171,180,197,204],{"__ignoreMap":168},[172,173,176],"span",{"class":174,"line":175},"line",1,[172,177,179],{"class":178},"sHwdD","# 需要先安装 wget\n",[172,181,183,187,191,194],{"class":174,"line":182},2,[172,184,186],{"class":185},"sBMFI","sudo",[172,188,190],{"class":189},"sfazB"," apt",[172,192,193],{"class":189}," install",[172,195,196],{"class":189}," wget\n",[172,198,200],{"class":174,"line":199},3,[172,201,203],{"emptyLinePlaceholder":202},true,"\n",[172,205,207,209,213,216,219],{"class":174,"line":206},4,[172,208,167],{"class":185},[172,210,212],{"class":211},"sMK4o"," \u003C(",[172,214,215],{"class":185},"curl",[172,217,218],{"class":189}," -sSL https:\u002F\u002Fapi.rycb.tech\u002Fapi\u002Fpml2\u002Finstall",[172,220,221],{"class":211},")\n",[162,223,226],{"className":164,"code":224,"filename":225,"language":167,"meta":168,"style":168},"# 需要先安装 wget\nsudo pacman -Syu wget\n\nwget -O install.sh https:\u002F\u002Fapi.rycb.tech\u002Fapi\u002Fpml2\u002Finstall\nsudo bash install.sh\n","Arch Linux",[93,227,228,232,244,248,262],{"__ignoreMap":168},[172,229,230],{"class":174,"line":175},[172,231,179],{"class":178},[172,233,234,236,239,242],{"class":174,"line":182},[172,235,186],{"class":185},[172,237,238],{"class":189}," pacman",[172,240,241],{"class":189}," -Syu",[172,243,196],{"class":189},[172,245,246],{"class":174,"line":199},[172,247,203],{"emptyLinePlaceholder":202},[172,249,250,253,256,259],{"class":174,"line":206},[172,251,252],{"class":185},"wget",[172,254,255],{"class":189}," -O",[172,257,258],{"class":189}," install.sh",[172,260,261],{"class":189}," https:\u002F\u002Fapi.rycb.tech\u002Fapi\u002Fpml2\u002Finstall\n",[172,263,265,267,270],{"class":174,"line":264},5,[172,266,186],{"class":185},[172,268,269],{"class":189}," bash",[172,271,272],{"class":189}," install.sh\n",[162,274,277],{"className":164,"code":275,"filename":276,"language":167,"meta":168,"style":168},"# 需要先安装 wget\nsudo dnf install wget\n\nwget -O install.sh https:\u002F\u002Fapi.rycb.tech\u002Fapi\u002Fpml2\u002Finstall\nsudo bash install.sh\n","RHEL\u002FCentOS\u002FFedora",[93,278,279,283,294,298,308],{"__ignoreMap":168},[172,280,281],{"class":174,"line":175},[172,282,179],{"class":178},[172,284,285,287,290,292],{"class":174,"line":182},[172,286,186],{"class":185},[172,288,289],{"class":189}," dnf",[172,291,193],{"class":189},[172,293,196],{"class":189},[172,295,296],{"class":174,"line":199},[172,297,203],{"emptyLinePlaceholder":202},[172,299,300,302,304,306],{"class":174,"line":206},[172,301,252],{"class":185},[172,303,255],{"class":189},[172,305,258],{"class":189},[172,307,261],{"class":189},[172,309,310,312,314],{"class":174,"line":264},[172,311,186],{"class":185},[172,313,269],{"class":189},[172,315,272],{"class":189},[154,317,319],{"id":318},"跟随提示完成安装即可","跟随提示完成安装即可。",[81,321,323],{"id":322},"macos-安装","MacOS 安装",[112,325,326],{},"由于 MacOS 的安全机制，安装后需要执行以下步骤才能正常使用 PML 2。",[116,328,329],{},"本部分假设您知道如何在 MacOS 中打开终端, 并有一定的自主问题解决能力和 MacOS 基础。",[116,331,129,332,335,336,339],{},[93,333,334],{},"pml2-\u003C版本>-macos-x64-aot.dmg"," (Apple Silicon 为 ",[93,337,338],{},"...-macos-arm64-aot.dmg","), 双击挂载后把应用拖入「应用程序」。",[150,341,342,350,354,374,378],{"level":152},[154,343,345,346,349],{"id":344},"按照正常方式通过dmg文件安装","按照正常方式通过",[93,347,348],{},".dmg","文件安装。",[154,351,353],{"id":352},"或者前往系统设置-隐私与安全性允许打开-亦可打开终端执行以下命令","或者前往「系统设置 → 隐私与安全性」允许打开, 亦可打开终端执行以下命令:",[162,355,358],{"className":164,"code":356,"filename":357,"language":167,"meta":168,"style":168},"xattr -d com.apple.quarantine \u002FApplications\u002FPML2.app\n","Terminal",[93,359,360],{"__ignoreMap":168},[172,361,362,365,368,371],{"class":174,"line":175},[172,363,364],{"class":185},"xattr",[172,366,367],{"class":189}," -d",[172,369,370],{"class":189}," com.apple.quarantine",[172,372,373],{"class":189}," \u002FApplications\u002FPML2.app\n",[154,375,377],{"id":376},"然后就可以正常使用-pml-2-了","然后就可以正常使用 PML 2 了。",[154,379,381,382,386,387,107],{"id":380},"若无法正常启动-请尝试按住-点击-pml-2-图标后点击打开菜单项-注意不要松开","若无法正常启动, 请尝试按住 ",[383,384],"kbd",{"value":385},"meta"," , 点击 PML 2 图标后点击\"打开\"菜单项 (注意不要松开 ",[383,388],{"value":385},[116,390,391,392,395,396,400,401,100],{},"应用包已声明 ",[93,393,394],{},"pml2:\u002F\u002F"," URL 类型 (TPCA 通用链接启动隧道), 可直接从浏览器\u002F其他应用拉起; Windows \u002F Linux 由应用在",[397,398,399],"strong",{},"首次启动时自动注册"," (当前用户级, 无需管理员), 详见",[402,403,404],"a",{"href":45},"故障排查指南「链接启动隧道」",[81,406,408],{"id":407},"首次使用-mefrpc-客户端","首次使用: mefrpc 客户端",[410,411,412,413,416,417,420,421,424],"p",{},"启动第一条隧道时, 应用会自动下载 mefrpc 客户端到 ",[93,414,415],{},"bin\u002F"," 目录 (Windows 为 ",[93,418,419],{},"mefrpc.exe",", Linux\u002FmacOS 为 ",[93,422,423],{},"mefrpc.tar","), 下载完成后自动解压\u002F校验并启动隧道。",[426,427,428],"h3",{"id":428},"首次拉取失败",[430,431,432,448],"table",{},[433,434,435],"thead",{},[436,437,438,442,445],"tr",{},[439,440,441],"th",{},"场景",[439,443,444],{},"表现",[439,446,447],{},"处理",[449,450,451,467,486],"tbody",{},[436,452,453,457,460],{},[454,455,456],"td",{},"下载失败",[454,458,459],{},"下载对话框报错\u002F关闭, 隧道未启动",[454,461,462,463,466],{},"在「设置」页切换",[397,464,465],{},"下载源"," (TPCA ↔ 官方) 后重新启动隧道",[436,468,469,472,475],{},[454,470,471],{},"校验失败",[454,473,474],{},"提示客户端文件校验不通过",[454,476,477,478,481,482,485],{},"删除 ",[93,479,480],{},"bin"," 下残留的 ",[93,483,484],{},"mefrpc*.tmp"," 与损坏文件后重试",[436,487,488,491,494],{},[454,489,490],{},"下载中断",[454,492,493],{},"下载对话框显示进度停止\u002F取消",[454,495,496],{},"重新启动隧道即可断点重试 (下载器内置 5 次重试)",[498,499,500],"blockquote",{},[410,501,502,503,506,507,510,511,100],{},"下载源配置 ",[93,504,505],{},"DownloadSource"," (默认 ",[93,508,509],{},"TPCA",") 同时作用于 mefrpc 客户端与应用更新包, 详见 ",[402,512,513],{"href":41},"用户指南「下载源」",[81,515,517],{"id":516},"首次使用-证书助手-lego-组件","首次使用: 证书助手 lego 组件",[410,519,520,521,524,525,528,529,100],{},"安装包",[397,522,523],{},"不内置"," lego (ACME 客户端)。首次在「设置 → 隧道设置 → 证书助手」中申请证书时, 会按当前平台下载对应版本 (约 20 MB, 校验官方 ",[93,526,527],{},"checksums.txt"," 的 SHA-256) 并解压到 ",[93,530,531],{},"Tools\u002Flego\u002F\u003Crid>\u002F",[430,533,534,544],{},[433,535,536],{},[436,537,538,540,542],{},[439,539,441],{},[439,541,444],{},[439,543,447],{},[449,545,546,556,566],{},[436,547,548,550,553],{},[454,549,456],{},[454,551,552],{},"停留在「正在准备 lego…」或提示无法准备 lego",[454,554,555],{},"检查网络\u002F代理后重试 (应用会依次尝试 GitHub 主源与备用镜像)",[436,557,558,560,563],{},[454,559,471],{},[454,561,562],{},"同上 (应用会拒绝使用未通过校验的二进制)",[454,564,565],{},"重试即可; 持续失败需检查网络是否被中间人代理改写",[436,567,568,571,574],{},[454,569,570],{},"需离线或内网使用",[454,572,573],{},"无法完成下载",[454,575,576,577],{},"目前需能访问 GitHub 或其镜像; 详见",[402,578,579],{"href":45},"故障排查指南「证书申请失败」",[81,581,582],{"id":582},"应用内更新",[410,584,585,586,100],{},"更新入口在「更新」页: 检查更新 → 下载并安装。失败路径 (获取失败、下载失败、校验失败、切源重试) 见 ",[402,587,588],{"href":45},"故障排查指南「更新失败」",[590,591,592],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":168,"searchDepth":182,"depth":182,"links":594},[595,596,597,598,601,602],{"id":83,"depth":182,"text":84},{"id":125,"depth":182,"text":126},{"id":322,"depth":182,"text":323},{"id":407,"depth":182,"text":408,"children":599},[600],{"id":428,"depth":199,"text":428},{"id":516,"depth":182,"text":517},{"id":582,"depth":182,"text":582},"本文将介绍如何安装 PML 2。","md",null,{},{"title":36,"description":603},"911Gb365IxSHEptLy3CeR0QtKbhHzaEfdSNuxCGRV50",[610,612],{"title":32,"path":33,"stem":34,"description":611,"children":-1},"PML 2是 ME Frp 的第三方客户端之一, 横跨多架构、多平台, 提供了简单便捷的操作, 可以快速启动隧道。",{"title":40,"path":41,"stem":42,"description":613,"children":-1},"本文将介绍如何使用 PML 2。",1791004264212]