akyuu/README.md

83 行
2.9 KiB
Markdown
Raw 通常表示 履歴

2016-02-10 10:22:34 +09:00
# htwtxt hosted twtxt server
2016-02-07 01:05:26 +09:00
2016-02-10 10:22:34 +09:00
## Rationale
2016-02-07 01:05:26 +09:00
2016-02-10 07:28:42 +09:00
[*twtxt*](https://github.com/buckket/twtxt) is a protocol and client for
decentralized microblogging. Users are expected to provide their feeds as plain
2016-02-10 07:28:42 +09:00
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.
2016-02-07 01:05:26 +09:00
## Online demo
A demo instance with frequent downtimes can be tested at
2016-02-10 10:41:45 +09:00
http://test.plomlompom.com:8000 don't expect any of its feeds' URLs to be
stable. It's just for testing, and data frequently gets deleted.
2016-02-10 10:25:15 +09:00
## Setup and run
2016-02-10 10:22:34 +09:00
2016-02-10 10:25:15 +09:00
### Setup Go build environment
2016-02-10 10:22:34 +09:00
With htwtxt written in Go, the setup instructions below expect a Go development
environment with a somewhat current [go tool](https://golang.org/cmd/go/)
installed, and a `$GOPATH` set. If your system does not have such an
2016-02-10 10:28:22 +09:00
environment, here's some hints on how to set it up:
2016-02-10 10:22:34 +09:00
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
2016-02-07 01:05:26 +09:00
2016-02-10 10:25:15 +09:00
Once your Go build environment is ready, do this:
2016-02-07 01:05:26 +09:00
git clone https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt
2016-02-08 00:36:46 +09:00
go get htwtxt
mkdir ~/htwtxt
$GOPATH/bin/htwtxt
2016-02-07 01:05:26 +09:00
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.
2016-02-07 01:05:26 +09:00
2016-02-10 10:22:34 +09:00
## Tweaking
### Configuring port number and TLS
2016-02-07 01:05:26 +09:00
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.
2016-02-07 01:05:26 +09:00
2016-02-10 10:22:34 +09:00
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](http://stackoverflow.com/q/413807) and
[might be solved](http://stackoverflow.com/a/414258) bis this:
sudo setcap 'cap_net_bind_service=+ep' $GOPATH/bin/htwtxt
2016-02-10 10:49:37 +09:00
### Changing HTML templates
2016-02-10 10:22:34 +09:00
2016-02-10 10:28:22 +09:00
By default, HTML templates are read out of `$GOPATH/src/htwtxt/templates/`. An
alternate directory can be given with the flag `--templates` (it should contain
template files of the same names as the default ones, however).
2016-02-10 10:22:34 +09:00
### Setting site owner contact info
The server serves a `/info` page (from the `info.html` template) that may
include the site owner's contact info, as given with the `--info` flag.
2016-02-10 10:22:34 +09:00
## Copyright, license
2016-02-07 01:05:26 +09:00
2016-02-10 07:23:15 +09:00
htwtxt (c) 2016 Christian Heller a.k.a. plomlompom
License: Affero GPL version 3, see `./LICENSE`