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: 10 days 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 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-05T14:27:43.000Z (about 1 month ago)
- Last Synced: 2025-03-28T15:07:35.724Z (17 days 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)
- 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 (`@[email protected]`), 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) |