![]() |
||
---|---|---|
templates | ||
LICENSE | ||
README.md | ||
main.go |
README.md
htwtxt – hosted twtxt server
Rationale
twtxt is a protocol and client for decentralized microblogging. Users are expected to provide their feeds as plain text files with URLs accessible over the Internet. htwtxt is a web server to host and grow such text files for users without trivial access to their own web space.
Set up and run
Set up Go development environment
With htwtxt written in Go, the setup instructions below expect a Go development
environment – with a somewhat current go tool
installed, and a $GOPATH
set. If your system does not have such an
environment, here's some hints on what could possibly work on your system to set
it up:
wget https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.5.3.linux-amd64.tar.gz
export GOPATH=~/go
export PATH=$PATH:/usr/local/go/bin
(You might want to add the last two lines to your .bashrc
or whatever usually
initializes your environment variables. And you might want to replace the
package pulled by wget by whatever is the newest stable release of Go
available.)
Clone, build, run
With htwtxt written in Go, the following instructions expect a Go development
environment with the go tool installed, and the
$GOPATH
set:
git clone https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt
go get htwtxt
mkdir ~/htwtxt
$GOPATH/bin/htwtxt
This will build and start the server, which will store login and feed data below
~/htwtxt
. An alternate directory may be specified with the --dir
flag.
Tweaking
Configuring port number and TLS
By default, htwtxt serves unencrypted HTTP over port 8000. But the executable
accepts the flag --port
to provide an alternate port number, and the flags
--cert
and --key
to provide paths to an SSL certificate and key file to run
htwtxt as an HTTPS server.
You might encounter the following issue when trying to set a low port number (such as the HTTP standard 80, or the HTTPS standard 443):
ListenAndServe: listen tcp :80: bind: permission denied
This is a common privilege problem and might be solved bis this:
sudo setcap 'cap_net_bind_service=+ep' $GOPATH/bin/htwtxt
Templates
By default, HTML templates are read out of the directory
$GOPATH/src/htwtxt/templates
. An alternate path can be given with the flag
--templates
(the alternate directory should, however, contain template files
of the same names as the default ones).
Copyright, license
htwtxt (c) 2016 Christian Heller a.k.a. plomlompom
License: Affero GPL version 3, see ./LICENSE