forwarder
所属分类:代理服务器
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2023-11-30 21:46:18
上 传 者:
sh-1993
说明: 播客转发器MVP
(MVP of podcast forwarder)
文件列表:
Cargo.lock (33948, 2023-11-30)
Cargo.toml (1180, 2023-11-30)
Dockerfile (950, 2023-11-30)
LICENSE-APACHE (10741, 2023-11-30)
LICENSE-MIT (1084, 2023-11-30)
Makefile (1665, 2023-11-30)
docs/ (0, 2023-11-30)
docs/RESOURCES.md (1421, 2023-11-30)
docs/how-to-change-rss-feed.md (414, 2023-11-30)
fixtures/ (0, 2023-11-30)
fixtures/doppelgaenger_20220205.rss (753639, 2023-11-30)
fixtures/engineering_kiosk_20220205.rss (67688, 2023-11-30)
package-lock.json (111489, 2023-11-30)
package.json (209, 2023-11-30)
src/ (0, 2023-11-30)
src/client.rs (13368, 2023-11-30)
src/event.rs (2391, 2023-11-30)
src/forward.rs (1620, 2023-11-30)
src/helpers.rs (642, 2023-11-30)
src/lib.rs (4946, 2023-11-30)
src/openpodcast.rs (2327, 2023-11-30)
src/panic.rs (349, 2023-11-30)
src/posthog.rs (3943, 2023-11-30)
src/rss.rs (24579, 2023-11-30)
wrangler.toml (492, 2023-11-30)
# Edge worker
The forwarder is the part of the Open Podcast platform which RSS feeds and
replaces mp3 links with a custom URL on the fly. We don't use a [full RSS
parser][rss] yet as we could run into a lot of edge-cases. Instead, we just
extract the URLS with a regex and replace them.
## Usage
Run `make help` for a full list of commands.
```bash
# compile project to WebAssembly
make build
# run Worker in a development environment
wrangler dev
# deploy Worker to Cloudflare
wrangler login
wrangler publish
# test request
curl -A "Spotify/1.0" -c - https://forwarder.mre.workers.dev
```
## Worker Config
To deploy different workers you can change the path to the wrangler config with
```bash
CONFIG=wrangler-redcircle.toml make deploy
```
## Implementation steps
1. RSS feed edge worker replaces `` elements by new URL of edge worker with the original URL encoded.
Important: URLs have to end with `.mp3`
2. requests are forwarded to original url by edge worker
## Matomo Instance for Testing
Instance URL: https://piwik.inlupus.at/matomo.php?idsite=15&rec=1
[Matomo API Docs](https://developer.matomo.org/api-reference/tracking-api)
## RSS Examples
- [Engineering Kiosk RSS (redcircle)](https://feeds.redcircle.com/0ecfdfd7-fda1-4c3d-9515-476727f9df5e)
- [Doppelgaenger Podcast with more than 100 episodes (podigee)](https://doppelgaenger.podigee.io/feed/mp3)
## Resources
- [DB of User agents](https://github.com/opawg/podcast-rss-useragents/blob/master/src/rss-ua.json)
- [insights about a tagged tracking approach](https://soundsprofitable.com/update/rss-useragents)
[rss]: https://github.com/emilyskidsister/pyrocast/blob/master/loader/src/rss.rs
近期下载者:
相关文件:
收藏者: