A self-hostable twtxt server, fork of htwtxt
ファイルへ移動
Christian Heller f375134d8f Improve documentation. 2016-02-10 02:22:34 +01:00
templates Fix previous commits lacking templating template. 2016-02-09 03:16:06 +01:00
LICENSE Overhaul auth, drop sessions & build/run scripts, change licence. 2016-02-07 16:28:08 +01:00
README.md Improve documentation. 2016-02-10 02:22:34 +01:00
main.go Fix internal feeds path handling. 2016-02-10 01:23:39 +01:00

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).

htwtxt (c) 2016 Christian Heller a.k.a. plomlompom

License: Affero GPL version 3, see ./LICENSE