commit
8802d5feef
15
README.md
15
README.md
@ -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:
|
||||
|
||||
|
3
build.sh
3
build.sh
@ -88,4 +88,5 @@ else
|
||||
cp $GOPATH/bin/srndv2 $root
|
||||
fi
|
||||
|
||||
echo "Built"
|
||||
echo -e "Built\n"
|
||||
echo "Now configure NNTPChan with ./srndv2 setup"
|
||||
|
46
doc/build.md
46
doc/build.md
@ -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).
|
||||
|
43
doc/cli.md
43
doc/cli.md
@ -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
72
doc/config.md
Normal 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
15
doc/securing-redis.md
Normal 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
|
Reference in New Issue
Block a user