https://github.com/importantimport/hatsu
🩵 Self-hosted & Fully-automated ActivityPub Bridge for Static Sites.
https://github.com/importantimport/hatsu
activity-stream activitypub docker federation fediverse hacktoberfest hatsu rust social-network webfinger
Last synced: 8 months ago
JSON representation
🩵 Self-hosted & Fully-automated ActivityPub Bridge for Static Sites.
- Host: GitHub
- URL: https://github.com/importantimport/hatsu
- Owner: importantimport
- License: agpl-3.0
- Created: 2023-07-19T05:54:18.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-05T14:27:43.000Z (9 months ago)
- Last Synced: 2025-03-28T15:07:35.724Z (8 months ago)
- Topics: activity-stream, activitypub, docker, federation, fediverse, hacktoberfest, hatsu, rust, social-network, webfinger
- Language: Rust
- Homepage: https://hatsu.cli.rs
- Size: 2.81 MB
- Stars: 185
- Watchers: 3
- Forks: 5
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- fucking-awesome-rust - importantimport/hatsu - 🩵 Self-hosted and fully-automated ActivityPub bridge for static sites. [](https://github.com/importantimport/hatsu/actions/workflows/release.yml) (Applications / Web)
- awesome-rust - importantimport/hatsu - 🩵 Self-hosted and fully-automated ActivityPub bridge for static sites. [](https://github.com/importantimport/hatsu/actions/workflows/release.yml) (Applications / Web)
README
# Hatsu「初」
[](.clippy.toml)
[](LICENSE)
[](https://matrix.to/#/#importantimport:matrix.org)
Self-hosted & Fully-automated ActivityPub Bridge for Static Sites.
[](https://codespaces.new/importantimport/hatsu?quickstart=1)
## About
Hatsu is a self-hosted bridge that interacts with Fediverse on behalf of your static site.
Normally it can do all the:
- When a Fediverse user searches for a user of your site (`@catch-all@example.com`), redirects to the corresponding user of the Hatsu instance.
- When a Fediverse user searches for your site URL (`https://example.com/hello-world`), redirects to the corresponding post on the Hatsu instance.
- Accepts follow requests and pushes new posts to the follower's homepage as they become available.
- Receive replies from Fediverse users and backfeed to your static site.
Best of all, these are fully automated! Just set it up once and you won't need to do anything else.
### Features
- Self hostable, easy to deploy.
- Comes with [Docker](https://hatsu.cli.rs/admins/install-docker.html).
- Works with any SSGs and most static hosting services.
- Use Feed instead of Webmention to check updates.
- It is not required that the site support microformats2.
- Redirection in many ways, including purely static files.
- Backfeed in many ways. [WIP]
- High performance.
- Backend is written in Rust.
- Supports aarch64.
### Installation
Read the [documentation](https://hatsu.cli.rs) to get started.
### Fediverse compatibility
Hatsu uses the same library as [Lemmy](https://github.com/LemmyNet/lemmy), [Activitypub-Federation](https://github.com/LemmyNet/activitypub-federation-rust), so it should behave similarly in practice.
In addition to this, Hatsu is also enabled:
- [signed_fetch_actor](https://docs.rs/activitypub_federation/latest/activitypub_federation/config/struct.FederationConfigBuilder.html#method.signed_fetch_actor)
- Hatsu performs an HTTP signature on each request. This ensures compatibility with [Mastodon instances with secure mode enabled](https://docs.joinmastodon.org/admin/config/#authorized_fetch) and [GoToSocial](https://docs.gotosocial.org/en/latest/federation/federating_with_gotosocial/#access-control).
- [http_signature_compat](https://docs.rs/activitypub_federation/latest/activitypub_federation/config/struct.FederationConfigBuilder.html#method.http_signature_compat)
- Like Lemmy, Hatsu enables this by default for [Pleroma](https://git.pleroma.social/pleroma/pleroma/-/issues/2939) compatibility.
If you're not sure whether it's a Hatsu or Activitypub-Federation compatibility issue, you should open new issue in Hatsu first.
## License
Licensed under [AGPLv3](LICENSE).
### Third Party Licenses
This project partially copies code from the following projects:
| Project | License |
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| [LemmyNet/activitypub-federation-rust](https://github.com/LemmyNet/activitypub-federation-rust) | [AGPL-3.0](https://github.com/LemmyNet/activitypub-federation-rust/blob/main/LICENSE) |
| [LemmyNet/lemmy](https://github.com/LemmyNet/lemmy) | [AGPL-3.0](https://github.com/LemmyNet/lemmy/blob/main/LICENSE) |