Home
Softono
i

importantimport

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
2

Software by importantimport

Hatsu
Open Source

Hatsu

# Hatsu「初」 [![MSRV](https://img.shields.io/badge/rust-1.80%2B-red)](.clippy.toml) [![License](https://img.shields.io/github/license/importantimport/hatsu)](LICENSE) [![Matrix](https://img.shields.io/matrix/importantimport%3Amatrix.org)](https://matrix.to/#/#importantimport:matrix.org) Self-hosted & Fully-automated ActivityPub Bridge for Static Sites. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](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. <!-- - Frontend is written in Rust. --> ### 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. <!-- ### TODO - Upgrade dependencies - axum 0.7 - https://github.com/LemmyNet/activitypub-federation-rust/issues/87 - utoipa-swagger-ui 5.0 - axum-extra 0.9 - use typed-routing (https://github.com/tokio-rs/axum/issues/2218, https://github.com/ibraheemdev/matchit/issues/13) - activitypub-federation 0.5 - https://github.com/tokio-rs/axum/pull/2398 - https://github.com/hyperium/hyper-util/pull/66 - Using AFIT / RPITIT instead of `async-trait` - Performance improvements - https://github.com/TechEmpower/FrameworkBenchmarks/issues/8501#issuecomment-1780275745 - sonic-rs (required nightly) / simd-json - uuid-simd --> <!-- ### Useful links #### ActivityPub - https://github.com/LemmyNet/activitypub-federation-rust/tree/main/examples/ - https://github.com/LemmyNet/lemmy/tree/main/crates/apub/ - https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/ #### SeaORM - https://www.sea-ql.org/SeaORM/docs/basic-crud/basic-schema/ - https://github.com/SeaQL/sea-orm/tree/master/examples/axum_example/ - https://github.com/SeaQL/sea-orm/blob/master/tests/basic.rs #### OpenAPI - https://github.com/juhaku/utoipa/tree/master/examples/todo-axum #### Leptos - https://github.com/leptos-rs/start-axum - https://github.com/leptos-rs/start-axum-workspace #### Shuttle - https://docs.shuttle.rs/migration/migrating-to-shuttle - https://github.com/shuttle-hq/shuttle/issues/179#issuecomment-1203536025 --> ## 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) |

CMS & Blogging Social Networks & Fediverse
249 Github Stars
urara
Open Source

urara

<br /> <div align="center"> <a href="https://github.com/importantimport/urara"> <img src="https://github.com/importantimport/urara/raw/main/urara/hello-world/urara.webp" alt="urara" /></a> </div> <br /> <p align="center"> <a href="https://fff.js.org"><img src="https://img.shields.io/badge/%F0%9F%8C%9F%20F%20F%20F-1.2-yellow?style=flat" alt="fff" /></a> <img src="https://img.shields.io/github/languages/top/importantimport/urara?color=%23ff3e00" alt="Language" /> <a href="https://github.com/importantimport/urara/blob/main/COPYING"><img src="https://img.shields.io/github/license/importantimport/urara?color=%23fff" alt="License" /></a> <img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fimportantimport%2Furara.svg?type=shield" alt="FOSSA Status" /> </p> <p align="center"> <a href="https://urara-demo.netlify.app">🚀 Demo</a> / <a href="https://urara-docs.netlify.app">📝 Documentation</a> / <a href="https://github.com/importantimport/urara/discussions">💬 Discussions</a> </p> <p align="center"> <span>English</span> | <a href="https://github.com/importantimport/urara/blob/main/README.zh.md">正體中文</a> </p> ## 🎉 Try it now! ### Local ```bash npx degit importantimport/urara my-blog && cd my-blog # create a new project in my-blog pnpm i # if u don't have pnpm installed, run: npm i -g pnpm ``` ### Remote [![Open in StackBlitz](https://img.shields.io/badge/-Open%20in%20StackBlitz-1374ef?style=for-the-badge&logo=Amp)](https://stackblitz.com/github/importantimport/urara) [![Use this template](https://img.shields.io/badge/-Use%20this%20Template-181717?style=for-the-badge&logo=GitHub)](https://github.com/importantimport/urara/generate) [![Deploy with Vercel](https://img.shields.io/badge/-Deploy%20with%20Vercel-1374ef?style=for-the-badge&logo=Vercel)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fimportantimport%2Furara&env=URARA_SITE_URL&envDescription=Site%20URL.&envLink=https%3A%2F%2Fexample.com&project-name=urara-blog&repository-name=urara-blog) [![Deploy to Netlify](https://img.shields.io/badge/-Deploy%20to%20Netlify-15847d?style=for-the-badge&logo=Netlify&logoColor=white)](https://app.netlify.com/start/deploy?repository=https%3A%2F%2Fgithub.com%2Fimportantimport%2Furara#URARA_SITE_URL=https://example.com&CUSTOM_LOGO=https://github.com/importantimport/urara/raw/main/urara/assets/[email protected]) ## ⚡️ Usage ### Developing Start a development server: ```bash pnpm dev ``` ### Building Create a production version of ur blog: ```bash pnpm build ``` u can preview the built app with `pnpm preview`. ### Documentation For full documentation, visit [urara-docs.netlify.app](https://urara-docs.netlify.app). ### Give this project a star tyvm! ur ⭐ will give me more motivation to improve this project. ## ✨ Features - Out of the box **Atom feed** (WebSub), **Sitemap**, **PWA** (Web app manifest & ServiceWorker) support. - Present beautiful interface designs and animations with daisyUI, of course. - Good [IndieWeb](https://indieweb.org/) Compatibility - Multi-kind posts with [microformats2](https://microformats.org/) markup content, Showcasing [Webmentions](https://indieweb.org/Webmention) via [webmentions.io](https://webmentions.io) API. - Don't worry about the article and image directories - just put them under a folder and they'll be [copied automatically at build time](https://github.com/importantimport/urara/blob/main/urara.ts). - [Comment Components](https://github.com/importantimport/urara/tree/main/src/lib/components/comments): Webmentions, Giscus, Utterances... u can use more than one. ## 📦️ Pre-packed ### TailwindCSS & PostCSS Plugins - [daisyUI](https://github.com/saadeghi/daisyui) - The most popular, free and open-source Tailwind CSS component library. - [Tailwind CSS Typography](https://github.com/tailwindlabs/tailwindcss-typography) - Beautiful typographic defaults for HTML you don't control. - [Autoprefixer](https://github.com/postcss/autoprefixer) - Parse CSS and add vendor prefixes to rules by Can I Use. - [CSSNANO](https://github.com/cssnano/cssnano) - A modular minifier, built on top of the PostCSS ecosystem. ### Markdown preprocessor & Syntax highlighter - [MDsveX](https://github.com/pngwn/MDsveX) - A markdown preprocessor for Svelte. - [Shiki Twoslash](https://github.com/shikijs/twoslash) - A beautiful Syntax Highlighter. ### Vite Plugins - [UnoCSS](https://github.com/unocss/unocss) - The instant on-demand atomic CSS engine. - [VitePWA](https://github.com/antfu/vite-plugin-pwa) - Zero-config PWA for Vite. ## 🚀 Sites - [./kwaa.dev](https://kwaa.dev) - [kwaa/blog](https://github.com/kwaa/blog) - [Seviche.cc](https://seviche.cc) - [Sevichecc/Urara-Blog](https://github.com/Sevichecc/Urara-Blog) - [./khatta.sh](https://blog.shameerkashif.me) - [hash3liZer/khatta](https://github.com/hash3liZer/khatta) and more... - [urara-blog - Discussions](https://github.com/importantimport/urara/discussions/2) - [urara-blog - Topics](https://github.com/topics/urara-blog) are u using Urara? add the `urara-blog` topic on ur repo! ## 👥 Contributing If u're interested in contributing to Urara, pls read [contributing docs](.github/CONTRIBUTING.md) before submitting a pull request. ## 📝 License This work is free, it comes without any warranty. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See the [COPYING](https://github.com/importantimport/urara/blob/main/COPYING) file for more details. [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fimportantimport%2Furara.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fimportantimport%2Furara?ref=badge_large) special thanks / inspired from: - [@michaeloliverx - Generate Posts List](https://github.com/pngwn/MDsveX/issues/294#issuecomment-907029639) - icon made by [Kpouri](https://github.com/kpouri)

CMS & Blogging Static Site Generators
647 Github Stars