[{"data":1,"prerenderedAt":389},["ShallowReactive",2],{"content:\u002F2026\u002Fairport-panel":3,"surround:\u002F2026\u002Fairport-panel":383},{"id":4,"title":5,"body":6,"categories":354,"date":356,"description":357,"draft":358,"extension":359,"image":360,"meta":361,"navigation":363,"path":364,"permalink":360,"published":360,"readingTime":365,"recommend":360,"references":370,"seo":374,"sitemap":375,"stem":376,"tags":377,"type":380,"updated":381,"__hash__":382},"content\u002Fposts\u002F2026\u002Fairport-panel.md","对“机场”面板的不完整调查",{"type":7,"value":8,"toc":341},"minimark",[9,13,17,23,34,57,60,63,70,74,89,102,111,118,121,129,132,212,300,303,306,315,330,333,336],[10,11,12],"h2",{"id":12},"事出有因的开头",[14,15,16],"p",{},"自己也是挺闲的，一开始是为了解决某云容易设备过多的问题（恼），打算逆向去扒网页研究研究，但一开始都没法扒。不过鹿佬说的好：",[14,18,19],{},[20,21,22],"em",{},"「从来没有一种方法能真正的禁用开发者工具，反而只会恶心到用户和开发者。」",[14,24,25,26,33],{},"除去去远程调试也能用 ",[27,28,32],"a",{"href":29,"rel":30},"https:\u002F\u002Fgithub.com\u002FAndrews54757\u002FAnti-Anti-Debug\u002Freleases",[31],"nofollow","Anti Anti Debug"," 解决。",[14,35,36,37,42,43,47,48,51,52,56],{},"稍微参考了同类网站，最后确定用的是 ",[27,38,41],{"href":39,"rel":40},"https:\u002F\u002Fgithub.com\u002Fcodeman857\u002FEZ-THEME-R",[31],"codeman857\u002FEZ-THEME-R"," 前端主题，另外还有一些配置也被打包进来，可以明文查看。",[44,45,46],"code",{"code":46},"PANEL_TYPE"," 字段写的是 ",[44,49,50],{"code":50},"Xiao-V2board","，又或者是商品简介上的",[53,54,55],"strong",{},"自研高性能后端","。",[14,58,59],{},"逆向调查到这里就应该结束，很无奈我最终也不知道怎么解决，大概这个机场主是故意不开IP去重的。写到篇幅多少有点短，我决定把这个话题延伸下去。",[10,61,62],{"id":62},"主题",[14,64,65,66,69],{},"找起来还是很轻松滴，一般绕过反调试后重新加载网页，优先级较高的几个 ",[44,67,68],{"code":68},".js"," 文件中就有明文配置，有添加混淆的话还需要解密下。",[71,72,73],"h3",{"id":73},"识别",[14,75,76,77,80,81,84,85,88],{},"像某分一样风格的机场，是默认的v2board主题。特征为资源存储在 ",[44,78,79],{"code":79},".\u002Ftheme\u002Fdefault\u002Fassets\u002F"," 路径中，但这个特征不适用于所有主题。比如上述的 ",[27,82,41],{"href":39,"rel":83},[31]," 前端主题就是一个例子，资源存储在 ",[44,86,87],{"code":87},".\u002Fstatic\u002F"," 路径下。",[14,90,91,92,97,98,101],{},"某山使用的是 ",[27,93,96],{"href":94,"rel":95},"https:\u002F\u002Fgithub.com\u002Fvlesstop\u002Fv2board-theme-buddy",[31],"vlesstop\u002Fv2board-theme-buddy"," 前端主题。在 ",[44,99,100],{"code":100},".\u002Ftheme\u002Frocket\u002Fconfig.js"," 可以找到闭源构建地址，目前已经停更。",[14,103,104,105,110],{},"L站内有名的某梦，同样的步骤发现可能是 ",[27,106,109],{"href":107,"rel":108},"https:\u002F\u002Fyuzaimala.store\u002Farchives\u002Fa96d87be-be48-4877-aa6c-1edb734a27f9",[31],"MALA主题高级版","，是一个需要付费的主题。",[112,113,115],"quote",{"icon":114},"tabler:files",[14,116,117],{},"（待补充...）",[10,119,120],{"id":120},"面板",[14,122,123,124,56],{},"根据 arXiv 上的相关论文统计，95%的机场所使用的面板为 V2board 和 SSPanel 后端。如果有漏洞的话还是比较危险的，比如 ",[27,125,128],{"href":126,"rel":127},"https:\u002F\u002Fchocapikk.com\u002Fposts\u002F2026\u002Fxboard-v2board-account-takeover\u002F",[31],"Xboard \u002F V2Board: Magic Link Token Leak - Unauthenticated Account Takeover",[14,130,131],{},"以下是开源地址，这些面板绝大多数是由 PHP 开发而来的，我只梳理了大概的前后时间关系，写得也很大概，并没有太深入研究。",[133,134,135,151],"table",{},[136,137,138],"thead",{},[139,140,141,145,148],"tr",{},[142,143,144],"th",{},"名字",[142,146,147],{},"简介",[142,149,150],{},"备注",[152,153,154,170,185,198],"tbody",{},[139,155,156,164,167],{},[157,158,159],"td",{},[27,160,163],{"href":161,"rel":162},"https:\u002F\u002Fgithub.com\u002Fv2board\u002Fv2board",[31],"V2board",[157,165,166],{},"基于 Laravel + PHP",[157,168,169],{},"原项目，停更中",[139,171,172,179,182],{},[157,173,174],{},[27,175,178],{"href":176,"rel":177},"https:\u002F\u002Fgithub.com\u002Fcedar2025\u002FXboard",[31],"Xboard",[157,180,181],{},"基于 V2board 二次开发",[157,183,184],{},"-",[139,186,187,193,196],{},[157,188,189],{},[27,190,50],{"href":191,"rel":192},"https:\u002F\u002Fgithub.com\u002Fwyx2685\u002Fv2board",[31],[157,194,195],{},"一个二改分支",[157,197,184],{},[139,199,200,207,210],{},[157,201,202],{},[27,203,206],{"href":204,"rel":205},"https:\u002F\u002Fgithub.com\u002Fcodeman857\u002Fv3board",[31],"V3board",[157,208,209],{},"基于 Xiao-V2board 二次开发",[157,211,184],{},[133,213,214,224],{},[136,215,216],{},[139,217,218,220,222],{},[142,219,144],{},[142,221,147],{},[142,223,150],{},[152,225,226,240,254,271,286],{},[139,227,228,235,238],{},[157,229,230],{},[27,231,234],{"href":232,"rel":233},"https:\u002F\u002Fgithub.com\u002Forvice\u002Fss-panel",[31],"SSPanel",[157,236,237],{},"基于 LightFish + Vue",[157,239,169],{},[139,241,242,249,252],{},[157,243,244],{},[27,245,248],{"href":246,"rel":247},"https:\u002F\u002Fgithub.com\u002FAnankke\u002FSSPanel-Uim",[31],"SSPanel-UIM",[157,250,251],{},"基于 PHP + Bootstrap 5",[157,253,184],{},[139,255,256,263,265],{},[157,257,258],{},[27,259,262],{"href":260,"rel":261},"https:\u002F\u002Fgithub.com\u002FBobCoderS9\u002FSSPanel-Metron",[31],"SSPanel-Metron",[157,264,184],{},[157,266,267],{},[268,269,270],"del",{},"（推测为 bob）",[139,272,273,280,283],{},[157,274,275],{},[27,276,279],{"href":277,"rel":278},"https:\u002F\u002Fgithub.com\u002Fehco1996\u002Fdjango-sspanel",[31],"SSpanel-django",[157,281,282],{},"基于 Diango 开发",[157,284,285],{},"已归档",[139,287,288,295,298],{},[157,289,290],{},[27,291,294],{"href":292,"rel":293},"https:\u002F\u002Fgithub.com\u002Fperfect-panel",[31],"PPanel",[157,296,297],{},"前端 TS，后端 Go",[157,299,184],{},[14,301,302],{},"因为面板也是我之前从未了解的事物，写出来后其实自己的底气也不是很足。",[10,304,305],{"id":305},"客户端",[14,307,308,309,314],{},"机场的闭源商业客户端也有些发展，除了熟知的那些开源客户端外。目前机场也有以 FlClash 为核心的闭源客户端（暂时没找到信息源头），这部分客户端目前是可以 ",[27,310,313],{"href":311,"rel":312},"https:\u002F\u002Flinux.do\u002Ft\u002Ftopic\u002F2456497",[31],"抓取订阅解密"," 的。",[14,316,317,318,323,324,329],{},"还有 ",[27,319,322],{"href":320,"rel":321},"https:\u002F\u002Ft.me\u002FAtlasSuperClient\u002F2",[31],"Atlas App","，以及 ",[27,325,328],{"href":326,"rel":327},"https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Fnextin-%E6%98%9F%E6%8B%93\u002Fid6754002454?l=zh-Hans-CN",[31],"Nextin"," 等闭源商业客户端，暂时不清楚是否同上文一样解密。",[10,331,332],{"id":332},"总结",[14,334,335],{},"后半段的内容，有另外的原因是没有找到有机场面板服务端汇总的文章（可能已经有了但是没找到），思考自己也写一个行不行？",[14,337,338],{},[268,339,340],{},"有一说一，开头的内容其实是我写博文以来思路最好的一次（）",{"title":342,"searchDepth":343,"depth":343,"links":344},"",4,[345,347,351,352,353],{"id":12,"depth":346,"text":12},2,{"id":62,"depth":346,"text":62,"children":348},[349],{"id":73,"depth":350,"text":73},3,{"id":120,"depth":346,"text":120},{"id":305,"depth":346,"text":305},{"id":332,"depth":346,"text":332},[355],"分享","2026-07-23 16:29:01","如题所示这其实是算一篇不完整的文章，写得有点累了就不想再写。可能后继有人，也可能后继无人来续写？总之，之后就看心情或者有能力再写了。",false,"md",null,{"slots":362},{},true,"\u002F2026\u002Fairport-panel",{"text":366,"minutes":367,"time":368,"words":369},"5 min read",4.14,248400,828,[371],{"title":372,"link":373},"Understanding the \"Airport\" Censorship Circumvention Ecosystem in China","https:\u002F\u002Farxiv.org\u002Fabs\u002F2606.18427",{"title":5,"description":357},{"loc":364},"posts\u002F2026\u002Fairport-panel",[378,379,73],"研究","调查","tech","2026-08-01 00:06:21","EKA8sBjWytQT3Ve1Enhkf0_bwRoHKPtYt5Ek0FD-BSs",[384,360],{"title":385,"path":386,"stem":387,"date":388,"type":380,"children":-1},"用 Rclone+FFmpeg 代替臃肿的上传工具","\u002F2026\u002Frclone-ffmpeg","posts\u002F2026\u002Frclone-ffmpeg","2026-05-06 17:02:31",1785645997172]