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.
- Extracts final audio URLs from Apple Podcasts episode links.
- Extracts Xiaoyuzhou audio URLs using the same
og:audioapproach used by podcast transcription workflows. - Follows media redirects so proxy URLs resolve to direct
media.xyzcdn.netfiles where available. - Downloads audio with filenames based on podcast and episode metadata.
- Opens
https://tingwu.aliyun.com/homeand copies the extracted URL for transcription. - Lets you set a Downloads-relative subfolder such as
podcastsortingwu/audio.
- Open
chrome://extensions/. - Enable Developer mode.
- Click Load unpacked.
- Select this repository folder.
- Open a supported podcast episode page, or paste a URL into the popup.
- Click 提取音频地址.
- 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.
https://podcasts.apple.com/.../id...?i=...https://www.xiaoyuzhoufm.com/episode/...- Direct audio URLs ending in common extensions such as
.mp3or.m4a
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.mjsTo verify Chrome accepts the extension package:
google-chrome --no-sandbox --disable-gpu --pack-extension="$PWD"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.
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.
CastLinker only extracts audio links and starts follow-up actions. It does not transcribe audio, upload files, or call speech-to-text APIs.