脚本
Watch Pornhub Together
这是一个让 AI 陪你看黄片的脚本。打电话的时候,你的 AI 自己去 P 站挑片,挑他想让你看的那种,投到你家的电视或投影仪上,然后在电话里陪你一起看。墙上演到哪、那个人正被弄成什么样,他都看得见;你看得越来越湿、呼吸越来越乱,他也听得见。片子不够劲,他就换一部更下流的。接上进阶篇的玩具,墙上的人被玩到高潮的时候,你也逃不掉。脚本只在你自己的电脑上运行。
⚠️ 先说清楚
- 只给成年人用,看之前确认你所在的地方允许。
- 截图要发给你用的 AI 服务商,它才"看得见"。露骨画面多半不符合服务商的使用政策,账号有被封的风险;介意的话就别接截图,只让 TA 管遥控。
- 别在云服务器上跑:P 站对不少机房 IP 直接拒绝(回 410),放在家里的电脑上跑最省事。
需要什么
- 一台常开的电脑(Mac / Windows / Linux 都可以),装好 Python 3.8 以上、yt-dlp(
pip install -U yt-dlp)、ffmpeg。 - 电脑能打开 P 站。梯子开 TUN/增强模式一般就行;只开了系统代理的话,命令行不一定走梯子,用
PHW_PROXY=http://127.0.0.1:端口指给它。 - 一台和电脑连同一个 Wi-Fi、支持 DLNA 投屏的电视或投影仪。没有的话,也可以用
--dry只起中转,再用电脑上的 VLC 打开它给的地址。
先自己试一遍
python3 ph-watch.py devices # 局域网里能投哪些电视
python3 ph-watch.py search 关键词 # 搜片
python3 ph-watch.py play <链接或viewkey> --vol 3 # 先把音量调到 3,再投上去放
python3 ph-watch.py state # 放到哪了
python3 ph-watch.py snap # 截最近 50 秒,打印图片路径
python3 ph-watch.py vol 8 / pause / resume
python3 ph-watch.py stop # 停止播放,顺手关掉本机中转
接给你的 AI
脚本只管遥控和截图,怎么接看你的 AI 用什么:能跑命令行的(比如 Claude Code、带 shell 工具的 agent)直接让 TA 跑这些命令;只会调函数的,就把这几条命令各包成一个工具。
给 TA 的说明里可以写上这几条,照你们的习惯改:
- 放片用
python3 ph-watch.py play <链接> --vol N。你说过要小声,就把音量写进这一条里,别先放再另起一条去调。 - 看画面用
python3 ph-watch.py snap,打开打印出来的图片。输出里写着这张截的是哪一段,对着进度说话;重放或换片以后旧图就作废了,先重新截。 - 电话里你说"小声点""太大声了",墙上又在放东西,先当成在说电视,马上用
vol调小。 - 不知道演到哪就截图看,不用问你。
它是怎么做的(给想改的人)
- 取地址:yt-dlp 拿 720p 的分段流(HLS)。隔着梯子偶尔只拿到整段 mp4、拿不到分段流,脚本会自己重试。
- 本机中转:电视多半够不着 P 站;P 站的分段还要求请求带上 Referer,并且只认取地址时的那个出口 IP。所以由电脑代取,再在局域网里递给电视。中转只认放过的片子,不是开放代理;会留最近几分钟的片段,截图时不用再隔着梯子重下。
- 投屏:DLNA。电视的控制地址每次都会重新确认,不少电视重启后端口会变。
- 截图:ffmpeg 只解关键帧,从中转取最近 50 秒,每 10 秒一帧,拼成 3×2。
- 文件都放在
~/.ph-watch/里,删掉这个文件夹就清干净了。
安全吗
- 脚本就一个文件、几百行,谁都能打开看。它只跟三个地方打交道:P 站、你家里的电视、你自己的电脑;不会上传你的任何东西,也不连作者的任何服务器。
- 放片时电脑上会开一个小中转(默认 8766 端口)。它只回应家里局域网的请求,外网来的直接拒绝;它只认你放过的片子,别人没法拿它当跳板去访问别的网站。不看了就
stop,中转会一起关掉。 - 看过什么会留在电脑上:
~/.ph-watch/里有片名和最后一张截图,不想留痕就删掉这个文件夹。 - 脚本只从作者给的链接下载,别用别人转手改过的版本;yt-dlp 用
pip从官方装。 - 在咖啡店、酒店这类公共 Wi-Fi 上,别开着中转。
常见问题
| 现象 | 多半是 | 怎么办 |
|---|---|---|
| 打不开 P 站 | 命令行没走梯子 | 开 TUN 模式,或者设 PHW_PROXY |
| 取不到这部的地址 / 410 | 在机房 IP 上跑,或者梯子出口被拒 | 换家里的电脑跑,或换个节点 |
| 放到一半断了 | 梯子换了出口,地址对不上 | 固定用一个节点,别开负载均衡 |
| 找不到电视 | 不在同一个 Wi-Fi,或者电视关着 | 连同一个 Wi-Fi;有好几台用 PHW_TV 指定 |
| 投上去没反应 | 选到了电视里另一套投屏服务 | devices 看名字,用 PHW_TV 换一个 |
| 一开声音就很大 | 先放后调 | play 时带上 --vol |
| AI 说的跟墙上对不上 | TA 看的是旧图 | 重放或换片后先 snap |