honk
honk is an Activitypub software that focused on Single-user instance. \
Install
honk is available at OpenBSD ports.
# pkg_add honk
Configuring httpd.conf
httpd will used for acme-client. Edit /etc/httpd.conf
:
# $OpenBSD: httpd.conf,v 1.22 2020/11/04 10:34:18 denis Exp $
server "example.com" {
listen on * port 80
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
location * {
block return 302 "https://$HTTP_HOST$REQUEST_URI"
}
}
Replace example.com
with your hostname.
Check the configuration with httpd -n
, if it is OK enable and start relayd (as root):
# rcctl enable httpd
# rcctl start httpd
Configuring relayd.conf
relayd will be used as the reverse proxy sitting in front of honk. Insert the following configuration in /etc/relayd.conf
:
# $OpenBSD: relayd.conf,v 1.4 2018/03/23 09:55:06 claudio Exp $
ext_inet="<IPv4 address>"
ext_inet6="<IPv6 address>"
table <honk_server> { 127.0.0.1 }
table <httpd_server> { 127.0.0.1 }
http protocol honk { # Protocol for upstream honk server
#tcp { nodelay, sack, socket buffer 65536, backlog 128 } # Uncomment and adjust as you see fit
tls { keypair example.com }
# Append a bunch of headers
match request header append "X-Forwarded-For" value "$REMOTE_ADDR" # This two header and the next one are not strictly required by honk but adding them won't hurt
match request header append "X-Forwarded-By" value "$SERVER_ADDR:$SERVER_PORT"
match request header append "Connection" value "upgrade"
}
relay www {
listen on $ext_inet port https tls # Comment to disable listening on IPv4
protocol honk
forward to <honk_server> port 4000
}
relay www6 {
listen on $ext_inet6 port https tls # Comment to disable listening on IPv6
protocol honk
forward to <honk_server> port 4000
}
Change example.com
with your instance domain.
Again, change <IPv4 address>
and <IPv6 address>
to your server's address(es) and comment one of the two listen options if needed.
Check the configuration with relayd -n
, if it is OK enable and start relayd (as root):
# rcctl enable relayd
# rcctl start relayd
Setting the honk up
We need to access /var/honk
to setup database. So login as root
$ doas su
Go to /var/honk
, Then set up database.
# cd /var/honk
# doas -u _honk honk init
username: yourusername
password:
listenaddr: 127.0.0.1:4000
servername: example.com
Replace yourusername
with your username, example.com
to your hostname.
Then start the server.
# rcctl start honk
If server succesfully started, You may start it during boot.
# rcctl enable honk
Finally, You can visit https://example.com to see your instance.
You may also adjust your instance settings by doing doas -u _honk honk admin
(Every honk
command must be run under _honk
user). Also read honk(1)
Managing users
honk is actually focused for single user instance, But it can also used for multiple users.
-
Adding user can done by executing
doas -u _honk honk adduser
-
Changing user password can done by executing
doas -u _honk honk chpass
-
Deleting user can done by executing
doas -u _honk honk deluser
User interface basic
honk is also known for it's humorous UI. An post is a "honk". Here's some info to get you started:
In honk, The users that you follow is called as "honkers" which you can manage at menu -> honkers
it's honking time
will create a post
Post Actions:
-
bonk
repost, rehonk, or reblog. -
honk back
reply to a post -
zonk
Delete a post -
ack
like a post. -
badonk
react to a post.
You can modify the text by editing header.html
under views
directory. \
\
And you may also like customizing your instance by copying style.css
to local.css
and edit local.css
under views
directory.