akyuu/README.md

99 行
3.7 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
2016-02-12 22:18:59 +09:00
### Configure 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-12 22:18:59 +09:00
### Public sign-up
2016-02-10 10:22:34 +09:00
By default, sign up / account creation is not open to the public. The `--signup`
flag must be set explicitely to change that.
2016-02-10 10:22:34 +09:00
2016-02-12 22:18:59 +09:00
### Set 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-12 22:18:59 +09:00
### Activate password reset mails
Feed owners may add e-mail addresses to their login data to authenticate
themselves to the site operator and receive password reset links when requested.
The password reset mechanism by mail is inactive by default. To activate it, a
set of flags `--mailserver`, `--mailport`, `--mailuser` must be provided to
describe a SMTP server and its login from which to send password reset mails to
users' mail addresses. (The site operator will be prompted for his SMTP login
2016-02-12 22:20:16 +09:00
password on program start.) Whether this mechanism is trustworthy or not is a
decision up to the site operator.
2016-02-12 22:18:59 +09:00
### Changing HTML templates
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
## 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`