humungus - honk

i am gravely disappointed

i understand your pain

overview - docs - downloads - files - changes - changes rss

honk

## features

Take control of your honks and join the federation.
An ActivityPub server with minimal setup and support costs.
Spend more time using the software and less time operating it.

No attention mining.
No likes, no faves, no polls, no stars, no claps, no counts.

Purple color scheme. Custom emus. Memes too.
Avatars automatically assigned by the NSA.

The button to submit a new honk says "it's gonna be honked".

The honk mission is to work well if it's what you want.
This does not imply the goal is to be what you want.

Besides microblogging, honk might also server as the basis for a custom
ActivityPub server, a sort of integrated federation framework.
But you may need to get your hands dirty.

## build

It should be sufficient to type make after unpacking a release.
You'll need a go compiler version 1.21 or later. And libsqlite3 3.34.0+.

Even on a fast machine, building from source can take several seconds.

Development sources: hg clone https://humungus.tedunangst.com/r/honk

## setup

honk expects to be fronted by a TLS terminating reverse proxy.

First, create the database. This will ask four questions.

./honk init
listen address: (tcp or unix: 127.0.0.1:31337, /var/www/honk.sock, etc.)
   server name: (public DNS name: honk.example.com)
      username: (the username you want)
      password: (the password you want)

Then run honk.
./honk

## upgrade

old-honk backup `date +backup-%F`
./honk upgrade
./honk

## documentation

There is a more complete incomplete manual. This is just the README.

## guidelines

One honk per day, or call it an "eighth-tenth" honk.
If your honk frequency changes, so will the number of honks.

The honk should be short, but not so short that you cannot identify it.

The honk is an animal sign of respect and should be accompanied by a
friendly greeting or a nod.

The honk should be done from a seat and in a safe area.

It is considered rude to make noise in a place of business.

The honk may be made on public property only when the person doing
the honk has the permission of the owner of that property.

## disclaimer

Do not use honk to contact emergency services.

recent changes

2037:e90e3eebc698 on 2025-05-28 14:09:37 -0400 EDT by Ted Unangst <tedu@tedunangst.com>
Tagged: tip

don't bother with prefault

2036:76235a13ff6d on 2025-05-28 01:46:36 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

make first year configurable

2035:e252d80829c7 on 2025-05-28 00:46:26 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

using mmap probably requires prefaulting

2034:ff4b6f6d56ed on 2025-05-27 22:46:15 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

changelog update

2033:f82c0a121d2b on 2025-05-27 22:35:22 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

limit the avif encoders to avoid getting blasted

2032:3b092d6e43d9 on 2025-05-27 22:11:56 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

replace ReadFile with Mmap. now we're cooking with induction.

2031:23b0e16defdc on 2025-05-27 22:02:33 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

make sure blob row is closed in error case

2030:9ed5f2469fac on 2025-05-26 22:25:59 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

safe to rely on strings.ReplaceAll now

2029:5e31ad300551 on 2025-05-26 01:19:59 -0400 EDT by Ted Unangst <tedu@tedunangst.com>

try some sqlite changes

2028:61293331845b on 2025-05-24 22:19:22 -0400 EDT by Ted Unangst <tedu@tedunangst.com>
Parent: 2026:ddb8b76826ff

m