MCPcopy Index your code
hub / github.com/cloudflare/wildebeest

github.com/cloudflare/wildebeest @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
543 symbols 1,978 edges 277 files 3 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

:warning: This project has been archived and is no longer actively maintained or supported. Feel free to fork this repository, explore the codebase, and adapt it to your needs. Wildebeest was an opportunity to showcase our technology stack's power and versatility and prove how anyone can use Cloudflare to build larger applications that involve multiple systems and complex requirements.

Wildebeest

wildebeest illustration

Wildebeest is an ActivityPub and Mastodon-compatible server whose goal is to allow anyone to operate their Fediverse server and identity on their domain without needing to keep infrastructure, with minimal setup and maintenance, and running in minutes.

Wildebeest runs on top Cloudflare's Supercloud, uses Workers, Pages, Durable Objects, Queues, the D1 database to store metadata and configurations, Zero Trust Access to handle authentication and Images for media handling.

Currently, Wildebeest supports the following features:

  • ActivityPub, WebFinger, NodeInfo, WebPush and Mastodon-compatible APIs. Wildebeest can connect to or receive connections from other Fediverse servers.
  • Compatible with the most popular Mastodon web (like Pinafore), desktop, and mobile clients. We also provide a simple read-only web interface to explore the timelines and user profiles.
  • You can publish, edit, boost, or delete posts, sorry, toots. We support text, images, and (soon) video.
  • Anyone can follow you; you can follow anyone.
  • You can search for content.
  • You can register one or multiple accounts under your instance. Authentication can be email-based on or using any Cloudflare Access compatible IdP, like GitHub or Google.
  • You can edit your profile information, avatar, and header image.
  • You can do account migrations from Mastodon to Wildebeest servers.

Cloudflare will continue to evolve this open-source project with additional features over time and listen to the community feedback to steer our priorities. Pull requests and issues are welcome too.

Please read our announcement blog for more details on how we built Wildebeest.

Tutorial

Follow this tutorial to deploy Wildebeest:

Extension points exported contracts — how you extend this code

PreparedStatement (Interface)
(no doc) [1 implementers]
backend/src/database/index.ts
Env (Interface)
(no doc)
frontend/mock-db/worker.ts
Env (Interface)
(no doc)
do/src/index.ts
Cache (Interface)
(no doc)
backend/src/cache/index.ts
WebPushInfos (Interface)
(no doc)
backend/src/webpush/webpushinfos.ts
WebPushMessage (Interface)
(no doc)
backend/src/webpush/webpushinfos.ts
JWK (Interface)
(no doc)
backend/src/webpush/jwk.ts

Core symbols most depended-on inside this repo

createPerson
called by 180
backend/src/activitypub/actors/index.ts
makeDB
called by 175
backend/test/utils.ts
prepare
called by 134
backend/src/database/index.ts
bind
called by 88
backend/src/database/index.ts
get
called by 70
backend/src/cache/index.ts
getDatabase
called by 69
backend/src/database/index.ts
cors
called by 43
backend/src/utils/cors.ts
run
called by 33
backend/src/database/index.ts

Shape

Function 451
Method 35
Interface 34
Class 18
Enum 5

Languages

TypeScript100%

Modules by API surface

backend/src/database/neon.ts21 symbols
backend/src/database/index.ts21 symbols
backend/src/activitypub/objects/index.ts21 symbols
backend/src/utils/httpsigjs/parser.ts16 symbols
backend/test/utils.ts15 symbols
backend/src/errors/index.ts14 symbols
backend/src/webpush/util.ts11 symbols
backend/src/activitypub/actors/index.ts11 symbols
backend/src/webpush/message.ts10 symbols
backend/src/utils/key-ops.ts9 symbols
backend/src/mastodon/notification.ts9 symbols
backend/src/mastodon/follow.ts9 symbols

For agents

$ claude mcp add wildebeest \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact