Hollo :hollo:'s avatar

Hollo :hollo:

@hollo@hollo.social

199 following853 followers

:hollo: A federated single-user microblogging software.

Pinned

@hollo@hollo.social

Introducing . Hollo is an -enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.

It's headless, meaning you can use existing client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use in the content of your posts and you can quote another post.

Oh, and Hollo is built using and .

https://github.com/dahlia/hollo

github.com

GitHub - dahlia/hollo: Federated single-user microblogging software

Federated single-user microblogging software. Contribute to dahlia/hollo development by creating an account on GitHub.

@Native@pointless.chat

포인트리스 연합우주 소프트웨어 호스팅 서비스
- 완전 관리형: 구독기간 중 업그레이드를 포함한 서버 유지보수가 무료입니다.
- 데이터베이스와 웹서버를 분리한 구조로 성능이 높습니다.
- 마스토돈, 미스키, Hollo 를 지원합니다.
- 방화벽: Cloudflare Zero Trust 를 구성해드립니다.
수익금은 포인트리스 서버비로 사용됩니다.

@hongminhee@hollo.social

I just discovered why some of my followers from larger instances (like mastodon.social) would mysteriously unfollow me after a while!

A pull request was just merged in Mastodon that fixes a critical bug in their follower synchronization mechanism.

Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!

This explains so much about the strange behavior I've been seeing with and other -based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.

Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on !

This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊

codeberg.org

fep/fep/8fcf/fep-8fcf.md at main

fep - Fediverse Enhancement Proposals

@hollo@hollo.social

Security Update: Hollo v0.3.10, v0.4.11, v0.5.5 Released

We've released security patches for Hollo in versions v0.3.10, v0.4.11, and v0.5.5. These updates address important security vulnerabilities, and we strongly recommend all users update immediately.

Docker users can update with:

docker pull ghcr.io/fedify-dev/hollo:0.5.5
# Or your current version series: 0.4.11, 0.3.10

For manual installations:

git fetch
git checkout 0.5.5 # Or 0.4.11, 0.3.10
pnpm install

For complete installation instructions, please visit our docs.

Thank you for using Hollo and helping keep our community secure.

docs.hollo.social

Manual installation

How to install Hollo manually.

@hollo@hollo.social

Security Update: Hollo v0.3.10, v0.4.11, v0.5.5 Released

We've released security patches for Hollo in versions v0.3.10, v0.4.11, and v0.5.5. These updates address important security vulnerabilities, and we strongly recommend all users update immediately.

Docker users can update with:

docker pull ghcr.io/fedify-dev/hollo:0.5.5
# Or your current version series: 0.4.11, 0.3.10

For manual installations:

git fetch
git checkout 0.5.5 # Or 0.4.11, 0.3.10
pnpm install

For complete installation instructions, please visit our docs.

Thank you for using Hollo and helping keep our community secure.

docs.hollo.social

Manual installation

How to install Hollo manually.

@thisismissem@hachyderm.io · Reply to Emelia 👸🏻

Previously @hollo used cryptography for authorization codes and access tokens, this had some implications such as preventing us from implementing PKCE, which requires state to be tracked between the authorize screen and the authorization code token exchange.

So this paves the path to supporting PKCE in Hollo.

@thisismissem@hachyderm.io
@tkgka@universeodon.com

hollo는 캐싱 정책 설정하기 매우 편하다

되게 간단하게 설정했는데 이정도라니

@hongminhee@hollo.social

@xenon, a new fediverse client app for iOS by @tkgka, is now in public beta! If you use iPhone give it a try!

Note that it also works well with @hollo.

https://xenon.social/@xenon/01955c88-10fa-7902-9949-9bfe9dfce121

A home timeline on Xenon, a new fediverse client app for iOS
ALT text

A home timeline on Xenon, a new fediverse client app for iOS

@thisismissem@hachyderm.io

Oh! Also had another API added to Mastodon today: currently when you attach media there's no way to immediately get it deleted, this changes that by allowing clients to delete media not yet attached to any status: github.com/mastodon/mastodon/p

This came about because I was looking at the media upload handling in @hollo the other weekend

github.com

Add API to delete media attachments that are not in use by ThisIsMissEm · Pull Request #33991 · mastodon/mastodon

This pairs nicely with #33988, allowing for clients to delete media which they have just uploaded, instead of leaving the file uploaded until the next scheduled cleanup.

Fedifyの関連プロジェクトをご紹介したいと思います。ActivityPubアプリケーション開発をより簡単にするツール群です:

Fedify :fedify:

Fedify@fedify)はActivityPubやその他のフェディバース標準を活用する連合型サーバーアプリケーションを構築するためのTypeScriptライブラリです。Activity Vocabularyの型安全なオブジェクト、WebFingerクライアント・サーバー、HTTP Signaturesなどを提供し、ボイラープレートコードを削減してアプリケーションロジックに集中できるようにします。

Hollo :hollo:

Hollo@hollo)はFedifyで動作するお一人様用マイクロブログサーバーです。個人向けに設計されていますが、ActivityPubを通じて完全に連合化されており、フェディバース全体のユーザーと交流することができます。HolloはMastodon互換APIを実装しているため、独自のウェブインターフェースがなくても、ほとんどのMastodonクライアントと互換性があります。

Holloはまた、正式リリース前の最新Fedify機能をテストする実験場としても活用されています。

BotKit :botkit:

BotKit@botkit)は私たちの最も新しいメンバーで、ActivityPubボットを作成するために特別に設計されたフレームワークです。従来のMastodonボットとは異なり、BotKitはプラットフォーム固有の制限(文字数制限など)に縛られない独立したActivityPubサーバーを作成します。

BotKitのAPIは意図的にシンプルに設計されており、単一のTypeScriptファイルで完全なボットを作成できます!


これら三つのプロジェクトはすべて@fedify-dev GitHubオーガニゼーションでオープンソースとして公開されています。それぞれ異なる目的を持っていますが、ActivityPub開発をより身近にし、フェディバースのエコシステムを拡大するという共通の目標を共有しています。

これらのプロジェクトを試してみたり、開発に貢献したりすることに興味がある場合は、以下をご覧ください:

botkit.fedify.dev

BotKit by Fedify

A framework for creating your ActivityPub bots

자매 프로젝트들을 소개해 드리고자 합니다. 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:

Fedify :fedify:

Fedify(@fedify)는 ActivityPub와 다른 () 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.

Hollo :hollo:

Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.

Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.

BotKit :botkit:

BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.

BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!


세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.

이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:

botkit.fedify.dev

BotKit by Fedify

A framework for creating your ActivityPub bots

We'd like to introduce the project family—a set of related tools that make building applications more accessible:

Fedify :fedify:

Fedify (@fedify) is a library for building federated server applications powered by ActivityPub and other standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.

Hollo :hollo:

Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.

Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.

BotKit :botkit:

BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).

BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!


All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.

If you're interested in trying any of these projects or contributing to their development, check out:

botkit.fedify.dev

BotKit by Fedify

A framework for creating your ActivityPub bots

@hongminhee@hollo.social

I have great respect for @thisismissem's tremendous work on @hollo.😲

https://hachyderm.io/@thisismissem/114056333638591578

hachyderm.io

Emelia 👸🏻 (@thisismissem@hachyderm.io)

Extended my previous contribution to @hollo@hollo.social tonight with some tests for the `GET /api/v1/accounts/verify_credentials` route: https://github.com/fedify-dev/hollo/pull/126/files#diff-944986dc760a778a36a291dd17b1e234ece1252336b9eefed1032e64a468601e There's some magic going on here, but I'm pretty happy with the results. Though, node.js's test runner seems really slow at times and I've no idea why, like some of these are taking 1-4 seconds, whereas other tests are 54ms. I've tried instrumenting the code to find slownesses and I can't, everything's taking only milliseconds.

@thisismissem@hachyderm.io

Extended my previous contribution to @hollo tonight with some tests for the `GET /api/v1/accounts/verify_credentials` route:

github.com/fedify-dev/hollo/pu

There's some magic going on here, but I'm pretty happy with the results.

Though, node.js's test runner seems really slow at times and I've no idea why, like some of these are taking 1-4 seconds, whereas other tests are 54ms. I've tried instrumenting the code to find slownesses and I can't, everything's taking only milliseconds.

github.com

Refactor OAuth logic for improved testability by ThisIsMissEm · Pull Request #126 · fedify-dev/hollo

Overview This pull request aims to improve the ability to write tests for the OAuth routes & middleware by extracting out helpers to create authorization codes, access tokens and client credent...

@thisismissem@hachyderm.io · Reply to Emelia 👸🏻

Found the slowness! It was because each account that was created for the tests generated two keypairs for activitypub usage. We don't need those for these tests.

Now they run in like 150ms each, or a 10x increase in speed.

@thisismissem@hachyderm.io · Reply to Emelia 👸🏻

One of the things I'm wanting to do is also implement some of the **planned** OAuth functionality for Mastodon in @hollo first to get a feel for how it works — I'm way better at writing typescript compared to ruby.

So things like Device Code Grant Flow for input constrained devices (sign-in to hollo on your TV or retro computer), or supporting access token expiration and Client ID Metadata Documents (which removes the need for a client to pre-register with a given server before doing an oauth flow).