Skip to content

BobDLA/CastLinker

Repository files navigation

CastLinker

CastLinker is a Chrome Manifest V3 extension that extracts direct podcast audio links from Apple Podcasts and Xiaoyuzhou episode pages. It helps you download the source audio with a meaningful filename or open Tongyi Tingwu with the audio URL already copied to your clipboard.

Features

  • Extracts final audio URLs from Apple Podcasts episode links.
  • Extracts Xiaoyuzhou audio URLs using the same og:audio approach used by podcast transcription workflows.
  • Follows media redirects so proxy URLs resolve to direct media.xyzcdn.net files where available.
  • Downloads audio with filenames based on podcast and episode metadata.
  • Opens https://tingwu.aliyun.com/home and copies the extracted URL for transcription.
  • Lets you set a Downloads-relative subfolder such as podcasts or tingwu/audio.

Install Locally

  1. Open chrome://extensions/.
  2. Enable Developer mode.
  3. Click Load unpacked.
  4. Select this repository folder.

Usage

  1. Open a supported podcast episode page, or paste a URL into the popup.
  2. Click 提取音频地址.
  3. Choose 下载音频 or 打开通义听悟并复制链接.

Chrome extensions cannot choose an arbitrary absolute download directory. CastLinker stores files under Chrome's default Downloads directory, optionally inside the configured relative subfolder.

Supported Inputs

  • https://podcasts.apple.com/.../id...?i=...
  • https://www.xiaoyuzhoufm.com/episode/...
  • Direct audio URLs ending in common extensions such as .mp3 or .m4a

Development Checks

node --check popup.js
node --check background.js
node --check scripts/tingwu-demo.mjs
node --check test-resolvers.mjs
python3 -m json.tool manifest.json >/dev/null
env -u ALL_PROXY -u all_proxy -u HTTP_PROXY -u HTTPS_PROXY -u http_proxy -u https_proxy node test-resolvers.mjs

To verify Chrome accepts the extension package:

google-chrome --no-sandbox --disable-gpu --pack-extension="$PWD"

Project Structure

  • manifest.json: extension metadata, permissions, and host access.
  • popup.html, popup.css, popup.js: user interface and resolver logic.
  • background.js: Chrome downloads API integration and filename sanitization.
  • scripts/tingwu-demo.mjs: optional CDP demo for filling a podcast link into Tongyi Tingwu.
  • test-resolvers.mjs: live smoke test for representative podcast URLs.

Tongyi Tingwu Import Demo

Start Chrome with remote debugging, log in to Tongyi Tingwu, then run the demo:

google-chrome --remote-debugging-port=9222
node scripts/tingwu-demo.mjs --url "https://media.xyzcdn.net/626b46ea9cbbf0451cf5a962/lua5jan_xOpZ99VwXmLshdTC-gSp.m4a"

By default the script stops before clicking 开始转写. Add --submit only when you want it to submit the transcription task.

Notes

CastLinker only extracts audio links and starts follow-up actions. It does not transcribe audio, upload files, or call speech-to-text APIs.

About

Chrome extension to extract podcast audio links for download and Tongyi Tingwu

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors