feat: add Bluesky, Lemmy, Odysee, and Archive.org alert backends
Bluesky (bs) searches public post API, constructs bsky.app URLs from at:// URIs. Lemmy (ly) queries 4 instances (lemmy.ml, lemmy.world, programming.dev, infosec.pub) with cross-instance dedup. Odysee (od) uses LBRY JSON-RPC claim_search for video, audio, and documents with lbry:// to odysee.com URL conversion. Archive.org (ia) searches via advanced search API sorted by date. All routed through SOCKS5 proxy via _urlopen. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -692,13 +692,17 @@ Platforms searched:
|
||||
- **Kick** (`kk`) -- Public search API: channels and livestreams (no auth required)
|
||||
- **Dailymotion** (`dm`) -- Public video API, sorted by recent (no auth required)
|
||||
- **PeerTube** (`pt`) -- Federated video search across 4 instances (no auth required)
|
||||
- **Bluesky** (`bs`) -- Public post search API via SOCKS5 proxy (no auth required)
|
||||
- **Lemmy** (`ly`) -- Federated post search across 4 instances (no auth required)
|
||||
- **Odysee** (`od`) -- LBRY JSON-RPC claim search: video, audio, documents (no auth required)
|
||||
- **Archive.org** (`ia`) -- Internet Archive advanced search, sorted by date (no auth required)
|
||||
|
||||
Polling and announcements:
|
||||
|
||||
- Alerts are polled every 5 minutes by default
|
||||
- On `add`, existing results are recorded without announcing (prevents flood)
|
||||
- New results announced as `[name/<tag>] Title -- URL` where tag is `yt`, `tw`,
|
||||
`sx`, `rd`, `ft`, `dg`, `gn`, `kk`, `dm`, or `pt`
|
||||
- New results announced as `[name/<tag>] Title -- URL` where tag is one of:
|
||||
`yt`, `tw`, `sx`, `rd`, `ft`, `dg`, `gn`, `kk`, `dm`, `pt`, `bs`, `ly`, `od`, `ia`
|
||||
- Titles are truncated to 80 characters
|
||||
- Each platform maintains its own seen list (capped at 200 per platform)
|
||||
- 5 consecutive errors doubles the poll interval (max 1 hour)
|
||||
|
||||
Reference in New Issue
Block a user