Hollo :hollo:'s avatar

Hollo :hollo:

@hollo@hollo.social

197 following697 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

@hollo@hollo.social

0.6.0 is coming soon!

We're putting the finishing touches on our biggest security and feature update yet. Here's what's coming:

Enhanced

  • RFC 8414 (OAuth metadata discovery)
  • RFC 7636 ( support)
  • Improved authorization flows following RFC 9700 best practices

New features

  • Extended character limit (4K → 10K)
  • Code syntax highlighting
  • Customizable profile themes
  • EXIF metadata stripping for privacy

Important notes for update

  • Node.js 24+ required
  • Updated environment variables for asset storage
  • Stronger SECRET_KEY requirements (44+ chars)

Special thanks to @thisismissem for the extensive OAuth improvements that help keep the secure and compatible! 🙏

Full changelog and upgrade guide coming with the release.

@thisismissem@hachyderm.io
@thisismissem@hachyderm.io
@thisismissem@hachyderm.io
@kokoi@n-kaiwai.work
@thisismissem@hachyderm.io · Reply to Emelia 👸🏻

If you're wondering why I'm doing tonnes of OAuth implementation work in @hollo, it's because it allows me to more quickly ship prototypes of things like:
- Client ID Metadata Documents
- Expiring Access Tokens & Refresh Tokens
- Public Clients

Both of those are planned for Mastodon, but I'm still waiting on funding & needing to make upstream dependency changes or write entirely new dependencies.

By implementing in Hollo, I can get these features in the hands of downstream client developers like @cheeaun to have them test out and prepare for supporting these features. (They're all discoverable via OAuth Authorizatiob Server Metadata)

Like does a Mastodon API-like server support these things? Check the OAuth Authorization Server Metadata for client_id_metadata_documents_supported (or something) and check if grant_types_supported has refresh_grant and scopes has offline_access, or something like that.

And then that tells you how to interact with that Mastodon API-like server, e.g., do you need to dynamically register a client (current) or can you use Client ID Metadata Documents (future)

Getting these things into Mastodon can take significantly longer because of complex dependencies and extensive test coverage and other interesting issues. And then longer into developers hands due to release cadence & ease of development deployments

@thisismissem@hachyderm.io

In between working on FIRES yesterday, I also finished up a rather substantial contribution to @hollo that I'd been working on.

github.com/fedify-dev/hollo/pu

It's an OAuth thing, which to end users shouldn't really change anything, but internally it helps pave the way for supporting PKCE and Device Code Authorization Grant Flow, the first shipped in Mastodon 4.3, the second I want to land in a future version of Mastodon (it's a low priority on the oauth roadmap but just because of a dependency issue)

This also increases the test coverage of Hollo too, which is neat.

Admittedly we're able to take some shortcuts in Hollo, like only supporting Bearer tokens and not access_token query parameter, because the latter really shouldn't be used.

We do currently only support client_secret_post as a client authentication mechanism, not client_secret_basic and none, so those need to be added too, to be more compatible.

github.com

Implement access grants for OAuth by ThisIsMissEm · Pull Request #130 · fedify-dev/hollo

This is still a work in progress, but gives an idea of how the code changes. I haven't yet implemented PKCE in here, though the database supports it.

@hollo@hollo.social

We're pleased to announce that has been included in the Nivenly Fediverse Security Fund program!

The @nivenly Foundation has launched a security bounty fund to support contributors who identify and help fix vulnerabilities in popular software. Both Hollo and @fedify are among the selected projects that meet their responsible security disclosure requirements.

This program will run from April–September 2025, with bounties of $250–$500 USD for high and critical security vulnerabilities.

We're honored to be recognized alongside other established fediverse projects like Mastodon, Misskey, and Lemmy. This further encourages our commitment to maintaining strong security practices.

If you're interested in contributing to Hollo's security, please follow our responsible disclosure process outlined in our SECURITY.md file.

Learn more about the program:

https://nivenly.org/blog/2025/04/01/nivenly-fediverse-security-fund/

nivenly.org

Nivenly Fediverse Security Fund

Security bounty fund to sponsor contributors who responsibly disclose security vulnerabilities in popular open source Fediverse software.

@rns_8i8@calc.rettuce.page
@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.

@liaizon@wake.st
@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