缘由

由于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