Archived
1
0

Merge pull request #70 from deavmi/master

add more documentation
This commit is contained in:
Jeff 2016-06-04 14:23:13 -04:00
commit 8802d5feef
6 changed files with 158 additions and 36 deletions

View File

@ -1,17 +1,20 @@
# NNTPChan #
NNTPChan
========
NNTPChan (previously known as overchan) is a decentralized imageboard that uses nntp to synchronize content between many different servers. It utilizes cryptographically signed posts to perform optional/opt-in decentralized moderation.
**NNTPChan** (previously known as overchan) is a decentralized imageboard that uses the [NNTP protocol](https://en.wikipedia.org/wiki/Network_News_Transfer_Protocol) (network-news protocol) to synchronize content between many different servers. It utilizes cryptographically signed posts to perform optional/opt-in decentralized moderation.
This repository contains resources used by the core daemon which is located on [github](https://github.com/majestrate/srndv2) (for now) along with general documentation, [here](doc/)
## getting started ##
##Getting started
This is a step-by-step guide for getting up and running with NNTPChan.
[see build documentation](doc/build.md)
1. [Compile the NNTPChan server](doc/build.md)
2. [Configuring your NNTPChan node](doc/config.md)
---
##Bugs and issues
*PLEASE* report any bugs you find while setting up or building on [github](https://github.com/majestrate/nntpchan/issues) or [gitgud](https://gitgud.io/uguu/nntpchan/issues) so that the problems get fixed :\^)
*PLEASE* report any bugs you find while building, setting-up or using NNTPChan on the [GitHub issue tracker](https://github.com/majestrate/nntpchan/issues) or on the [GitGud issue tracker](https://gitgud.io/uguu/nntpchan/issues) so that the probelms can be resolved or discussed.
IRC:

View File

@ -88,4 +88,5 @@ else
cp $GOPATH/bin/srndv2 $root
fi
echo "Built"
echo -e "Built\n"
echo "Now configure NNTPChan with ./srndv2 setup"

View File

@ -1,38 +1,52 @@
# building the daemon #
Building the NNTPChan server
============================
This document will help you setup the NNTPChan server from the source code.
## requirements ##
##Requirements
* linux or freebsd
* libsodium 1.0 or higher
NNTPChan can run on the following operating systems:
* Linux
* FreeBSD
Dependancies:
* libsodium _1.0_ or _higher_
* imagemagick
* ffmpeg
* sox
* go _1.6_ or _higher_ **with redis driver**
* go _1.3_ or _higher_ **without redis driver**
## supported go versions ##
##Debian instructions
* `go 1.6` or higher with redis driver
These are installation instructions for Debian.
* `go 1.3` or higher without redis driver
###Install Go
## debian ##
Install the Go programming language version _1.6_ from the [Go website](https://golang.org/dl/).
Get `go 1.6` from [here](https://golang.org/dl/) for your platform
Get the dependancies
###Install the dependancies
sudo apt-get update
sudo apt-get --no-install-recommends install imagemagick libsodium-dev ffmpeg sox build-essential git ca-certificates
###Get the NNTPChan source
Check out the repo and build it
git clone https://github.com/majestrate/nntpchan
git clone https://github.com/majestrate/nntpchan --depth=1
cd nntpchan
###Now compile!
If you want to compile with Redis support (recommended - Redis is easy to use) then run:
./build.sh
If you want to build without supporting redis then build with the `--no-redis` flag
If you want to build without support for Redis then build with the `--no-redis` flag:
./build.sh --no-redis
To run eiter run `./srndv2 setup` and browse to http://127.0.0.1:18000 or configure [by hand](database.md)
##Now let's setup NNTPChan
Check out [Configuring NNTPChan](config.md).

View File

@ -1,20 +1,37 @@
# command line interface
#Command-line interface
**srndv2** comes with a selection of command-line arguments for managing your node.
##Rebuild all thumbnails
To rebuild all thumbnails run:
# rebuild all thumbnails
srndv2 tool rethumb
# generate a new tripcode keypair
# print out to stdout
##Generate a new tripcode keypair (prints to stdout)
srndv2 tool keygen
##Add a public key to moderation trust
Where `publickey` is the public key to be added.
srndv2 tool mod add publickey
# add an nntp login
##Remove a public key from moderation trust
Where `publickey` is the public key to be removed.
srndv2 tool mod del publickey
##Add a new NNTP user
Where `username` is the username and `password` is the user's password for the new uer.
srndv2 tool nntp add-login username password
# remove an nntp login
##Remove an existing NNTP user
Where `username` is the username of the user to be deleted.
srndv2 tool nntp del-login username
# add public key to moderation trust
srndv2 tool mod add publickeygoeshere
# remove public key from moderation trust
srndv2 tool mod del publickeygoeshere

72
doc/config.md Normal file
View File

@ -0,0 +1,72 @@
Configuring NNTPChan server
===========================
This document provides a step-by-step guide to configurin your NNTPChan node.
##Configuring via web-interface
You can configure NNTPChan via the web-interface by navigating your browser to http://127.0.0.1:18000.
###Selecting your data-storage system
![Image 1](http://i.imgur.com/l9iiXxB.png)
First your will be asked what data-storage system you would like to use. We support Redis and PostgreSQL.
<hr>
####Redis configuration
![Image 2](http://i.imgur.com/HDp4Ddf.png)
If you have chosen Redis then fill in the fields below:
* **Hostname or IP Address** - This is the hostname or IP address of your Redis server (I would run it locally on 127.0.0.1 to be safe).
* **Port number** - The port that your Redis server is running on.
* **Password** - Optional authentication password for Redis ([Setting up a Redis password](securing-redis.md)).
<hr>
####PostgreSQL configuration
![Image 3](http://i.imgur.com/WPXedZB.png)
If you have chosen PostgreSQL then fill in the fields below:
* **Hostname or IP Address** - This is the hostname or IP address of your PostreSQL server (I would run it locally on 127.0.0.1 to be safe).
* **Port number** - This is the port that your PostgreSQL server is running on.
* **Username** - The username for PostgreSQL.
* **Password** - The password for PostgreSQL.
<hr>
###Configuring the NNTP server
![Image 4](http://i.imgur.com/FXxShtu.png)
Fill in the fields required for the NNTP server.
* **Name of NNTP instance** - What is the significamce of this name.
* **Allow attachements** - Check the box if you want people to be able to add attachements to posts.
* **Allow anonymous posters** - Check the box if you want to allow anonymous posters.
* **Allow attachments from anonymous posters** - Check the box if you want to allow anonymous posters to add attachments to their posts.
* **Require TLS for incoming connections** - Check the box if NNTP connections must be encrypted and authenticated with TLS (highly recommended).
###Configuring TLS
![Image 5](http://i.imgur.com/EjkrjTT.png)
Fill in the fields required for the TLS security system.
* **Hostname or IP address** - FIXME.
* **TLS keyname** - FIXME.
###Set paths to external programs
![Image 6](http://i.imgur.com/hBXYJDo.png)
NNTPChan needs to know the paths to the listed programs on your system.
* **convert path** - Path to the `convert` program.
* **ffmpeg path** - Path to the `ffmpeg` program.
* **sox path** - Path to the `sox` program.

15
doc/securing-redis.md Normal file
View File

@ -0,0 +1,15 @@
Securing Redis
==============
This document provides a good tip for securing your Redis server, just to be 100% happy with the security.
##Adding an authentication password for commands
This will allow you to add a password to your Redis server that must be used before any other commands can be issued to your Redis server.
* Remember choose a strong password with lower-case, upper-case, numbers and other symbols.
* Make sure there are no spaces. (need to still test this #6969)
Then take your password, `x` and run this command (with `sudo` if needed).
echo "requirepass x" >> /path/to/your/redis.conf