[{"data":1,"prerenderedAt":558},["ShallowReactive",2],{"docs:/docs/remote/cli":3},{"id":4,"title":5,"body":6,"description":551,"extension":552,"meta":553,"navigation":388,"path":554,"seo":555,"stem":556,"__hash__":557},"docs/docs/remote/cli.md","CLI 命令行",{"type":7,"value":8,"toc":545},"minimark",[9,13,30,59,112,126,142,146,256,282,285,298,301,304,333,487,499,502,541],[10,11,5],"h1",{"id":12},"cli-命令行",[14,15,16,20,21,25,26,29],"p",{},[17,18,19],"code",{},"p2pee-remote"," 是远程桌面的",[22,23,24],"strong",{},"单文件网关","，纯 Go 实现、无运行时依赖，跑在",[22,27,28],{},"能访问到被控机器的那台机器","上（通常就是被控机自己）：",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-powershell shiki shiki-themes github-dark","# Windows（反引号是续行符）\n.\\p2pee-remote.exe -key '\u003C你的Key>' `\n    -connect \"办公室机=rdp:192.168.10.7?user=ops\"\n","powershell","",[17,38,39,47,53],{"__ignoreMap":36},[40,41,44],"span",{"class":42,"line":43},"line",1,[40,45,46],{},"# Windows（反引号是续行符）\n",[40,48,50],{"class":42,"line":49},2,[40,51,52],{},".\\p2pee-remote.exe -key '\u003C你的Key>' `\n",[40,54,56],{"class":42,"line":55},3,[40,57,58],{},"    -connect \"办公室机=rdp:192.168.10.7?user=ops\"\n",[31,60,64],{"className":61,"code":62,"language":63,"meta":36,"style":36},"language-sh shiki shiki-themes github-dark","# Linux / macOS（文件名以实际下载的版本为准）\nwget https://gitee.com/xnkyn/assets/releases/download/p2pee-remote/p2pee-remote-1.0.0-linux-amd64\nchmod +x ./p2pee-remote-1.0.0-linux-amd64\n./p2pee-remote-1.0.0-linux-amd64 -key '\u003C你的Key>' -connect '办公室机=rdp:192.168.10.7?user=ops'\n","sh",[17,65,66,72,82,93],{"__ignoreMap":36},[40,67,68],{"class":42,"line":43},[40,69,71],{"class":70},"sAwPA","# Linux / macOS（文件名以实际下载的版本为准）\n",[40,73,74,78],{"class":42,"line":49},[40,75,77],{"class":76},"svObZ","wget",[40,79,81],{"class":80},"sU2Wk"," https://gitee.com/xnkyn/assets/releases/download/p2pee-remote/p2pee-remote-1.0.0-linux-amd64\n",[40,83,84,87,90],{"class":42,"line":55},[40,85,86],{"class":76},"chmod",[40,88,89],{"class":80}," +x",[40,91,92],{"class":80}," ./p2pee-remote-1.0.0-linux-amd64\n",[40,94,96,99,103,106,109],{"class":42,"line":95},4,[40,97,98],{"class":76},"./p2pee-remote-1.0.0-linux-amd64",[40,100,102],{"class":101},"sDLfK"," -key",[40,104,105],{"class":80}," '\u003C你的Key>'",[40,107,108],{"class":101}," -connect",[40,110,111],{"class":80}," '办公室机=rdp:192.168.10.7?user=ops'\n",[14,113,114,115,120,121,125],{},"安装包按平台从 ",[116,117,119],"a",{"href":118},"/docs/update-log/remote","远程桌面更新日志"," 对应版本条目下载（与官网下载区同源）。目标串完整语法与被控机要求见 ",[116,122,124],{"href":123},"/docs/remote/targets","目标串与被控机要求","。",[127,128,131],"callout",{"title":129,"type":130},"下载后可校验","tip",[14,132,133,134,137,138,141],{},"发行版里附带 ",[17,135,136],{},"SHA256SUMS"," 与 ",[17,139,140],{},"manifest.txt","：前者逐行列出每个包的文件名与哈希，后者记录本次构建的版本与 Go 工具链。拿到包之后对照一下哈希，确认没被中间环节改动过。",[143,144,145],"h2",{"id":145},"命令行参数",[147,148,149,165],"table",{},[150,151,152],"thead",{},[153,154,155,159,162],"tr",{},[156,157,158],"th",{},"参数",[156,160,161],{},"默认值",[156,163,164],{},"说明",[166,167,168,185,214,231,244],"tbody",{},[153,169,170,176,179],{},[171,172,173],"td",{},[17,174,175],{},"-key",[171,177,178],{},"—",[171,180,181,184],{},[22,182,183],{},"必填","，账户 Key，用来换取信令凭证与 ICE 服务器",[153,186,187,192,195],{},[171,188,189],{},[17,190,191],{},"-connect",[171,193,194],{},"空",[171,196,197,198,201,202,205,206,209,210,213],{},"目标机器，",[22,199,200],{},"一条就是一台","，可重复给，也可在一条里用逗号分隔；开头的 ",[17,203,204],{},"名称="," ",[22,207,208],{},"可以省","，写成 ",[17,211,212],{},"-connect rdp:192.168.10.7"," 就能起",[153,215,216,221,224],{},[171,217,218],{},[17,219,220],{},"-mark",[171,222,223],{},"随机",[171,225,226,227,230],{},"固定信令 markID（",[22,228,229],{},"仅会员生效","），地址因此保持稳定、方便收藏",[153,232,233,238,241],{},[171,234,235],{},[17,236,237],{},"-force-relay",[171,239,240],{},"关",[171,242,243],{},"ICE 只走中继，排查弱网 / 对称 NAT 时用",[153,245,246,251,253],{},[171,247,248],{},[17,249,250],{},"-version",[171,252,178],{},[171,254,255],{},"打印版本号",[127,257,260],{"title":258,"type":259},"漏写 -connect 会直接报错退出","warning",[14,261,262,263,265,266,269,270,273,274,277,278,125],{},"少写一次 ",[17,264,191],{},"，后面那条目标串会被当成裸参数并",[22,267,268],{},"直接报错退出","，不会静默当成空清单 —— 进程一启动就没了，先检查参数拼写。",[17,271,272],{},"-debug","（本机内嵌页面，仅联调）与 ",[17,275,276],{},"-rdp-no-display","（排查显示通道）是排障参数，用法见 ",[116,279,281],{"href":280},"/docs/remote/troubleshooting","常见问题排查",[143,283,284],{"id":284},"启动后拿到什么",[14,286,287,288,293,294,297],{},"日志横幅里那一行 ",[22,289,290],{},[17,291,292],{},"公网访问页: https://p2pee.cn/r/\u003C凭证>/"," 就是要发给访问端的地址。生产模式下日志已收敛：启动信息、每台机器的会话开始 / 结束与全部 Warn / Error。版本低于服务端最低要求时",[22,295,296],{},"直接拒绝启动","并提示换新，不会带着旧协议硬连。",[143,299,300],{"id":300},"开机常驻",[14,302,303],{},"网关进程退出 = 地址立即失效，所以要让它在被控机或 NAS 上长期跑：",[305,306,307,318],"ul",{},[308,309,310,313,314,317],"li",{},[22,311,312],{},"Windows","：任务计划程序，触发器选",[22,315,316],{},"启动时","（不等人登录），操作填 exe 绝对路径与完整参数，属性里勾「不管用户是否登录都要运行」。",[308,319,320,323,324,328,329,125],{},[22,321,322],{},"NAS / 容器","：不想配服务就用 ",[116,325,327],{"href":326},"/docs/remote/docker","Docker 部署"," 或 ",[116,330,332],{"href":331},"/docs/remote/fnos","飞牛 NAS 应用",[31,334,336],{"className":61,"code":335,"language":63,"meta":36,"style":36},"# Linux：systemd 参考写法\nsudo tee /etc/systemd/system/p2pee-remote.service >/dev/null \u003C\u003C'EOF'\n[Unit]\nDescription=p2pee remote desktop gateway\nAfter=network-online.target\n\n[Service]\nExecStart=/opt/p2pee/p2pee-remote -key '\u003C你的Key>' -connect '办公室机=rdp:192.168.10.7?user=ops'\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target\nEOF\n\nsudo systemctl daemon-reload\nsudo systemctl enable --now p2pee-remote\njournalctl -u p2pee-remote -f    # 看横幅里的公网访问页地址\n",[17,337,338,343,367,372,377,383,390,396,402,408,414,419,425,431,437,442,453,469],{"__ignoreMap":36},[40,339,340],{"class":42,"line":43},[40,341,342],{"class":70},"# Linux：systemd 参考写法\n",[40,344,345,348,351,354,358,361,364],{"class":42,"line":49},[40,346,347],{"class":76},"sudo",[40,349,350],{"class":80}," tee",[40,352,353],{"class":80}," /etc/systemd/system/p2pee-remote.service",[40,355,357],{"class":356},"snl16"," >",[40,359,360],{"class":80},"/dev/null",[40,362,363],{"class":356}," \u003C\u003C",[40,365,366],{"class":80},"'EOF'\n",[40,368,369],{"class":42,"line":55},[40,370,371],{"class":80},"[Unit]\n",[40,373,374],{"class":42,"line":95},[40,375,376],{"class":80},"Description=p2pee remote desktop gateway\n",[40,378,380],{"class":42,"line":379},5,[40,381,382],{"class":80},"After=network-online.target\n",[40,384,386],{"class":42,"line":385},6,[40,387,389],{"emptyLinePlaceholder":388},true,"\n",[40,391,393],{"class":42,"line":392},7,[40,394,395],{"class":80},"[Service]\n",[40,397,399],{"class":42,"line":398},8,[40,400,401],{"class":80},"ExecStart=/opt/p2pee/p2pee-remote -key '\u003C你的Key>' -connect '办公室机=rdp:192.168.10.7?user=ops'\n",[40,403,405],{"class":42,"line":404},9,[40,406,407],{"class":80},"Restart=always\n",[40,409,411],{"class":42,"line":410},10,[40,412,413],{"class":80},"RestartSec=5\n",[40,415,417],{"class":42,"line":416},11,[40,418,389],{"emptyLinePlaceholder":388},[40,420,422],{"class":42,"line":421},12,[40,423,424],{"class":80},"[Install]\n",[40,426,428],{"class":42,"line":427},13,[40,429,430],{"class":80},"WantedBy=multi-user.target\n",[40,432,434],{"class":42,"line":433},14,[40,435,436],{"class":80},"EOF\n",[40,438,440],{"class":42,"line":439},15,[40,441,389],{"emptyLinePlaceholder":388},[40,443,445,447,450],{"class":42,"line":444},16,[40,446,347],{"class":76},[40,448,449],{"class":80}," systemctl",[40,451,452],{"class":80}," daemon-reload\n",[40,454,456,458,460,463,466],{"class":42,"line":455},17,[40,457,347],{"class":76},[40,459,449],{"class":80},[40,461,462],{"class":80}," enable",[40,464,465],{"class":101}," --now",[40,467,468],{"class":80}," p2pee-remote\n",[40,470,472,475,478,481,484],{"class":42,"line":471},18,[40,473,474],{"class":76},"journalctl",[40,476,477],{"class":101}," -u",[40,479,480],{"class":80}," p2pee-remote",[40,482,483],{"class":101}," -f",[40,485,486],{"class":70},"    # 看横幅里的公网访问页地址\n",[127,488,490],{"title":489,"type":259},"Key 落在服务文件里就要收好权限",[14,491,492,494,495,498],{},[17,493,175],{}," 出现在命令行就等于留在磁盘上。服务文件权限收到 ",[17,496,497],{},"600","、只允许 root 读；多人登录的机器上改用你自己的账户跑。",[143,500,501],{"id":501},"相关",[305,503,504,519,527,534],{},[308,505,506,508,509,508,511,508,515],{},[116,507,327],{"href":326}," · ",[116,510,332],{"href":331},[116,512,514],{"href":513},"/docs/remote/fnos-docker","飞牛 Docker 图形化",[116,516,518],{"href":517},"/docs/remote/fndepot","FnDepot 应用源",[308,520,521,523,524,526],{},[116,522,124],{"href":123},"：",[17,525,191],{}," 的完整语法与 Windows 要开的设置",[308,528,529,533],{},[116,530,532],{"href":531},"/docs/remote/desktop","浏览器端连接桌面","：拿到地址之后怎么用",[308,535,536,540],{},[116,537,539],{"href":538},"/docs/remote/console","控制台查看与管理","：在控制台看在线被控端",[542,543,544],"style",{},"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 pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}",{"title":36,"searchDepth":55,"depth":55,"links":546},[547,548,549,550],{"id":145,"depth":49,"text":145},{"id":284,"depth":49,"text":284},{"id":300,"depth":49,"text":300},{"id":501,"depth":49,"text":501},"p2pee-remote 远程桌面网关命令行版：按平台下载单文件，用 -key 与 -connect 启动，日志直接打印浏览器访问地址，含 systemd / 任务计划常驻写法。","md",{},"/docs/remote/cli",{"title":5,"description":551},"docs/remote/cli","Yb97nBlW4D4rlPeeu98yHbgVJatuLwUvgvdS739G4js",1792518095693]