借助浏览器远程使用PT-Plugin Plus

由 Mitlearn 发布

缘由

由于iOS系统天生限制,并无浏览器支持加载Chrome/Firefox浏览器插件(相对于Android而言,可以使用Yandex/Kiwi),但又有iOS用户想要在手机上使用PTPP,即使iOS15已经支持浏览器插件,但移植难度与开发者证书问题使得想法不成立;又有用户提议将PTPP作为服务运行,但它只是个插件且官方明确不会开发为服务……

一日看到其他教程提到内网浏览器,研究一番后心生想法,曲线救国——借助浏览器远程使用PT-Plugin Plus。

准备工作

  • 一台长时间在线且能够安装Docker环境的设备并且能访问到下载器(比如NAS
  • 公网IP 或 任意穿透内网的方法

开搞

如何安装Docker环境以及穿透内网不在本教程讨论范围,请读者按能力及需求解决。

  • 安装浏览器

    这里使用 vital987/chrome-novnc 的镜像安装Chrome浏览器,它的启动命令也很简单(注意在root权限下运行)

    docker run vital987/chrome-novnc:latest
    

    因默认端口使用的为8080,可能与你的其他服务有所冲突,并且我们还需要加载PTPP,为了方便起见,在此基础上添加一些参数

    docker run -d \
      --name=chrome-novnc \
      -p 18880:8080 \
      -e VNC_PASS='password' \
      -v <path to ext>:/ext \
      vital987/chrome-novnc:latest

    这里做简单说明 以下按需进行设置:

    • 18880 为你想要使用的端口
    • password 为访问该服务的密码
    • 为映射宿主机的路径

    等待镜像拉取完毕后,在浏览器输入 http://<Docker所在宿主机IP>:18880 即可访问,密码为启动时设置的password

    login

  • 安装字体

    Docker为了最小化,没有中文字体,故我们需要安装(能够无阻碍阅读英文的可忽略)。

    你可以直接将电脑上的字体拷贝出来使用,或者下载你喜欢的字体,得到的字体放入上一步映射的路径内。假设该字体文件名为 msyh.ttc 映射路径为/ext

    通过ssh连接宿主机,输入

    docker exec -it chrome-novnc bash

    进入容器后,依此输入以下命令

    cp /ext/msyh.ttc /usr/share/fonts/
    mkfontscale
    mkfontdir
    fc-cache
    fc-list :lang=zh
    kill -s 9 `pgrep chrome`

    以上命令如果成功,最后会返回如下内容

    /usr/share/fonts/msyh.ttc: Microsoft YaHei UI:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
    /usr/share/fonts/msyh.ttc: Microsoft YaHei,微软雅黑:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta

    而后Chrome也会自动重启

  • 安装插件

    下载插件PT-Plugin-Plus 。因正式版许久未Release,这里使用Action版

    下载Action版需要Github账号,如果没有账号的可以到这个频道(需要科学访问)下载。有账号的请按图步骤操作

    action

    而后在浏览器内点击右上方三个点按图步骤操作

    load

    加载完毕后就能在右上角的拼图图标内找到PTPP了,新安装可能是英文(因为浏览器的语言是英文且不知道为什么无法修改),不要惊慌,点击下方Switch Language即可切换至中文,熟悉的界面出现了~

    switch

    如果需要加载备份,只需要将备份文件放置于与解压插件相同的路径下,再到PTPP内找到路径导入即可

一些问题

尽管我们安装了中文字体,依然无法解决Chromium的显示语言问题,推测Docker构建时直接使用的二进制程序,不受apt安装的语言包影响,暂无解决方法

抛砖引玉

由于这是一个存在于局域网内的浏览器,所以它可以方便地让你访问内网的所有服务

  • 访问群晖上的其他服务
  • 进入路由器后台更改设置
  • 操作内网的其他设备的WEBUI
  • ……

只需要将此浏览器的端口进行转发,大大降低了暴露过多端口至公网带来的风险(这也需要对VNC_PASS设置地足够强度高),也降低了设置的难度,便于远程操作。

感谢

vital987/chrome-novnc

ronggang/PT-Plugin-Plus


7 条评论

  1. leeyonwang
    leeyonwang · 2022-06-07 00:07

    这个容器 重启后 中文就丢失了 又变成英文了

    1. Mitlearn
      Mitlearn 回复 leeyonwang · 2022-06-11 20:41 作者

      可能不同平台的重启逻辑不同 字体部分操作有更新 可以尝试一下

  2. luwei
    luwei · 2022-06-15 17:06

    请教一下大佬,vital987/chrome-novnc这个版本的有什么特别之处 么,为什么没有用人气更高的oldiy/chrome-novnc这个呢

    1. Mitlearn
      Mitlearn 回复 luwei · 2022-06-15 23:02 作者

      oldiy/chrome-novnc Last pushed 3 years ago by oldiy
      vital987/chrome-novnc Last pushed a month ago by vital987

      1. luwei
        luwei 回复 Mitlearn · 2022-06-16 12:01

        感谢解答,这个方案每次连接vnc都有一定的大概率会连接失败,每次都需要多点几次才行(有的时候在外网能点十几次都连接不上),请问有什么好的解决方法么?

        1. Mitlearn
          Mitlearn 回复 luwei · 2022-06-16 14:28 作者

          本地使用只有概率性断联 外网的情况估计是你的转发方式带来的网络问题
          你也可以尝试是说的oldiy的镜像 原理是一样的 只是那个镜像的浏览器版本可能不是很新 也是我没有采用的原因 但有可能解决你的连接问题

  3. bright
    bright · 2022-07-06 15:33

    请问浏览器最小化后怎么找回来?

发表评论