Trakt.tv 是一个自 2010 年起运行的网站,它由一个三人开发团队管理,拥有超过两百万用户。这个平台允许用户追踪自己观看的每一部电视节目和电影,并通过称为scrobbling的过程自动从用户最喜欢的媒体中心同步观看进度,保持所有设备上的观看记录同步,即使是跨越平台跨应用。

Trakt.tv 不直接提供电视节目或电影的在线观看服务,但它简化了在 Netflix、Amazon、Hulu 和 iTunes 等数百个流媒体服务中找到观看电视和电影的地方的过程,覆盖139个国家。用户可以通过点击“立即观看”按钮或图标,选择他们喜欢的服务开始观看内容。

这个网站我用了有一年多了,它的更新信息还是很全的,包括 Special, OVA 之类的在内都会有更新提示,有时候我还是靠它才发现看过的番居然有更新。

Plex Pass 订阅用户通过 Webhook 功能可以实现实时同步,Trakt 官方提供付费的同步通道,叫做 Plex Scrobbler,需要订阅年费会员,一年 30 美元,单为了这个功能其实是挺贵的。

​不过他们同时也提供了 API 接入的方式,以前可以用 Plex 的插件,甚至连 Plex Pass 都不需要,现在嘛,我折腾过,插件安装好了却一直没办法正常工作,最后还是放弃了。

后来我找到了 Plaxt 这个项目(感谢作者 Alexander Standke),可以很简单的通过 Scrobbling API 实现同步功能,都自建 Plex 了,再建个 Plaxt 对你来说应该是小菜一碟。

如果不想费这个劲,或者网络条件限制,可以使用我搭建并汉化的 Plaxt,地址是 https://plaxt.zetatechs.com

1. 前期准备

  1. 首先前往 Trakt 官网,注册账号(略),然后前往这个地址申请 API:

    https://trakt.tv/oauth/applications

  2. 点击绿色的 NEW APPLICATION 新建应用

  3. 填写格式如下:

  4. 要自建 Plaxt,首先通过 Trakt 创建一个API应用程序。应用名和描述随便填,可以参考上图。Redirect url​​这里将你使用的主机名设置为您将要访问 Plaxt 的地址,后面加上/authorize​​。例如你要用 http://10.20.30.40:8000​​,就填 http://10.20.30.40:8000/authorize​​。如果内网自建用,可以直接用IP地址加端口,但要确保你的 Plex 服务器可访问刀 Plaxt 应用。

  5. 如果使用域名,则可按照上图所示填写。例如我使用的是https://plaxt.zetatechs.com​​,就填 https://plaxt.zetatechs.com/authorize​​

  6. ​Permissions​​别忘了两个都勾选上。

  7. 最后点击 SAVE APP​​ 保存应用。

  8. 保存后你会得到 Client ID​​ 和 Client Secret​​,这个页面不要关闭,待会要用上这两个参数。

2. Plaxt Docker 部署

  1. Docker-compose(示例):

    version: "3.4" # This will probably also work with version 2
    services:
      plaxt:
        container_name: plaxt
        environment:
        - TRAKT_ID=eff48367**********************************************4857546d44
        - TRAKT_SECRET=9cc79ba3d*********************************************549c173e00
        - ALLOWED_HOSTNAMES=plaxt.zetatechs.com  # 修改成你的网址或IP
        image: xanderstrike/goplaxt:latest-arm7  # ARM版:xanderstrike/goplaxt:latest-arm7,X86版:xanderstrike/goplaxt
        ports:
        - 8060:8000
        restart: unless-stopped
        volumes:
        - ./keystore:/app/keystore
    
  2. 使用刚才获取的 Client ID​​ 和 Client Secret​​ 替换 TRAKT_ID​​ 和 TRAKT_SECRET​​:

    ​TRAKT_ID​​ ​Client ID​​

    TRAKT_SECRET​​:Client Secret​​

    注意:ARM 设备则把镜像image​​改为 xanderstrike/goplaxt:latest-arm7​​

  3. ALLOWED_HOSTNAMES​​设置为 Plaxt 的网址。注意:访问的网址与设置不同会导致页面报错。

  4. ​./keystore:/app/keystore​​ 即你要放用户配置文件的路径,按示例中的设置,是在同目录下的/keystore文件夹里。

  5. 将上述代码保存为docker-compose.yml​​文件,然后在同目录下运行

    # 二选一:
    docker compose up -d # 新版命令
    docker-compose up -d # 旧版命令
  6. 如果使用 Unraid 就更简单了,应用市场里搜镜像名,进入安装界面照着上面的参数填就行了。

  7. 安装好就是这样的:

    ​​ ​​

  8. 填自己的 Plex 用户名,点击 Authorize,获取链接,复制,到 Plex — 右上角扳手 — 左侧边栏 — Webhooks — 添加 Webhook — 粘贴 — 保存修改 — 完成。

    Plex 账号有【用户名】和【全名】之分,这里要填的是【用户名】,请注意甄别。早期 Plex 可以设置用户名为中文,这会导致无法使用,请修改【用户名】为英文。

  9. 到这里就设置完毕了,接下来我们来看看效果,随便播放一个电视或者电影,到这个链接去看看: https://trakt.tv/dashboard

我这里是开了会员,但是测试的时候使用的是 Plaxt,我用下来感觉和开会员没区别,看样子以后不需要再充值了。

(补充:后来会员到期了,截图里能看到过期提示,同步功能依然有效。)

除了历史播放记录,还能根据你看的电视自动创建追剧日历,效果如头图所示。

付费会员可以查看年度和所有的播放统计,界面还是很炫酷的,不过我更看中的是日历功能,个人觉得其实没太大必要买会员。

我个人搭建的 Plaxt 服务器地址,可供公开使用:https://plaxt.zetatechs.com

​​