没想好用什么作标题

前提条件

title: 一次搞定 Podsync date: 2021-07-07 21:22:34 thumbnail: description: categories: tags:

前提条件

因为懂的都懂,我只覆盖获取 Youtube API、Podsync 的方法。

  • 能连接 YouTube 的网络环境
  • YouTube API
  • 下载 Podsync 软件

创建 YouTube API

  1. 你需要准备一个 Google 账户用来访问 Google API Console 和申请 API 密钥。

  2. 登入 Google Cloud Platform,创建项目。image-20210711081644775

  3. 输入自定义项目名称,下文沿用 podsync-nozomi 为项目名称。地点选择默认「无组织」即可。image-20210711082247736

  4. 稍等十来秒,会收到项目创建完成的通知。刷新页面,左侧会出现新项目 podsync-nozomiimage-20210711082737258

  5. 我们现在要为新创建的项目启用 YouTube 的 API。先点左上角汉堡菜单、API 与服务、信息中心 image-20210711083646474

  6. 确认当前项目名称是刚刚新建的那个项目(e.g. podsync-nozomi)。然后,启用 API 与服务。image-20210711084119053

  7. 选择 YouTube Data API v3,启用 API。image-20210711084314678

    image-20210711084431272

  8. 创建凭据image-20210711084529373

  9. 如图选择 YouTube Data API v3Public Data(公开数据)。image-20210711084803519

  10. 复制密钥到电脑的备忘录,待会儿会用到。image-20210711085012346

创建 YouTube API 密钥完成。

下载 Podsync 软件包

从 GitHub/podsync 库,按照自己的系统和 CPU 架构 下载 最新版 releases 和 checksum.txtimage-20210713173422552

利用命令行验证校验和,确认对上 checksum.txt 里对应的 SHA256 码(最后几位对得上即可),以此保证文件没有遭到篡改或遗漏。

macOS:shasum -a 256 /下载的/Podsync压缩包/路径

Windows:certutil -hashfile \\下载的\Podsync\压缩包\路径 SHA256

image-20210713185311995

解压下载包到你希望的路径(例如我自己解压到了 /Downloads 路径)。

配置文件

Podsync 有个核心文件就是用户配置,由用户去撰写,根据自己的需求填写相应的选项。这份配置建议放在和下载包解压后的文件夹中。

image-20210722172812124

里面包含了几个必要的信息:

  • 服务器 IP 和端口
  • YouTube API 密钥
  • 需要抓取的目标频道

下图是一份配置文件样例,粉色框里的需要按照自己的需求修改他们。

image-20210711175628395

[server]

data_dir 填写后希望放置下载音频的路径。我自己填的是 /Users/用户名/Downloads/Podsync_2.4.0_Darwin_x86_64,与 Podsync 软件放在同一个文件夹中。

hostname 后填写 "http://IP:端口" 。这处填写的 IP 会直接影响到指向音频文件的 URL。

  • 如果你只是需要在与服务器相同的局域网内聆听播客,可以填写局域网 IP "http://192.168.xx.xx:8080",保持 port 参数和 hostname 里的端口一致。

    [server] port = 8080 hostname = "192.168.0.11:8080"
  • 要通过外网连接服务器,则需要填写公共 IP 和端口。你可以使用动态域名解决公共 IP 经常变更的问题。另外,还需在路由器上配置端口转发。

  • 如果有反向代理和域名,则可以填写 http://域名:反代端口反代端口port 不必要保持一致。使用反向代理后,服务器实际上通过 http://localhost:8080 访问,可是播客资源却是指向 https://podcast.haysc.tech:4443

    [server] port = 8080 hostname = "https://podcast.haysc.tech:4443"
[tokens]

填写早前复制下来的 YouTube 密钥。

[feeds]

填写订阅源和播客信息。每一个频道信息以 [feeds.ID名] 作为开头 , ID名 可以自定为任何数字英语组成的名字。为了方便记忆,最好和频道的名字相关。

以我最喜欢的 up 主贪玩歌姬「小宁子」为例子。up 主叫「小宁子」,可以取名 [feeds.ning]。url 填写她的 YouTube 频道链接,update_period = "2h" 每两个小时抓取一次。custom 里填写播客在播客名称、描述、封面图。更多选项请看官网文档自行研究【这里要加链接】。

[feeds] [feeds.ning] url = "https://www.youtube.com/channel/UCvUJ6BwgUGWBHuUd0cv546g" page_size = 50 update_period = "2h" quality = "high" format = "audio" custom = { title = "小宁子", description = "贪玩歌姬小宁子 唱歌/游戏/Vlog", cover_art = "https://yt3.ggpht.com/ytc/AKedOLQLoOyjEkQSCND4ZOWkqo4uKrCsNfJsNdRx9jetUw=s176-c-k-c0x00ffffff-no-rj", cover_art_quality = "high"]} opml = true clean = { keep_last = 25 }

服务端

完成配置 config.toml 后,就能开始运行软件。

教程覆盖了三个平台。我顺带标注了我进行测试时所使用的系统版本。

  1. Windows 10 ( 21H1 下通过测试)【未完成】
  2. macOS Big Sur ( 11.0.1 下通过测试)【完成了☑️】
  3. Docker 【还没写】

Windows 10

【这里要写 Windows 的安装依赖的方法,应该是 choco 或者 winget???】

根据你服务器的系统,只需看相应的部分即可。可以参考我的 【链接】

macOS

Podsync 依赖 youtube-dlffmpeg 。用 brew 安装最简单(如果没有 brew,请按照 教程 安装)。

brew install youtube-dl ffmpeg

前往 Podsync 解压后的文件夹。

cd /填写/你的/podsync路径

在 Podsync 文件夹内,运行 ./podsync 软件。

./podsync --config config.toml

image-20210722115534736

Docker

初步完成

这时,在浏览器打开你在 配置文件.config - server - hostname 填写的 IP 和端口。例如 http://192.168.0.11:8080

image-20210718224334735

图中,XML 文件就是你需在播客 app 中填写 RSS 订阅链接文件。复制链接(e.g. http://192.168.0.11:8080/ning.xml),打开你的播客软件,添加 RSS。

image-20210804175228554

还有点小瑕疵——仅当播客收听终端与 podsync 服务器在同一局域网内,才能获得播客更新和下载。这是因为当时填写的是内网 IP(192.168.xx.xx / 10.x.x.x)。当你出门了,便无法在线流媒体收听了。曲线救国的方法是设置自动下载,大多播客 app 都有这功能。每天回到家才连接服务器更新播客、下载,早上出门则离线收听。坏处则是有大半天的延误,早上有 up 主更新了视频,晚上回到家才更新发现。

我认识有些朋友,对他们来说,这已经足够好用,不需要。那么这篇教程看到这里就已经足够了。

除此以外,一劳永逸的方法便是设立公网服务器,只要有互联网,便能随时收听。这方法则需要更多的网络知识和操作门槛。

公网访问

在设置之前,你需要有:

  1. 公网 IP