Expose external accounts as virtual Org Social feeds that any client
can follow with a plain #+FOLLOW: line:
- /bridge/activitypub/@{user}@{instance}/ bridges a Mastodon or any
ActivityPub account (WebFinger, actor and paginated outbox; only
public top-level notes, with CW, hashtags, language and attachments)
- /bridge/rss/?url={feed} bridges any RSS/Atom feed (entry title as
*** sub-heading, converted body and link to the original article)
Registration is implicit on first GET. Bridged data is stored in the
existing Profile/Post tables so /profile/, /search/ and the rest of
the API work on bridged feeds. Active bridges are refreshed every 15
minutes; bridges unrequested for 90 days are cleaned up.
Remote HTML is converted to Org text, escaping headline-like lines so
external content cannot inject posts. Fetches enforce the Webmention
SSRF protections, a 10s timeout and a 5MB size cap. Bridged posts
never queue Webmentions nor publish notifications.
13 lines
No EOL
233 B
Text
13 lines
No EOL
233 B
Text
django>=5.2.6
|
|
djangorestframework>=3.14.0
|
|
django-filter>=24.0
|
|
huey>=2.5.0
|
|
redis>=4.0.0
|
|
django-redis>=5.0.0
|
|
requests>=2.31.0
|
|
python-dateutil>=2.8.0
|
|
feedparser>=6.0.0
|
|
pytest>=7.0.0
|
|
pytest-django>=4.5.0
|
|
org-python>=0.3.1
|
|
uvicorn>=0.30.0 |