2016-06-05 14:24:13 +05:00
`feeds.ini`
===========
2015-10-07 23:04:50 +05:00
2016-06-05 14:24:13 +05:00
##Peering
2015-10-08 03:55:54 +05:00
In order to actually be distributed, you need another person to sync posts with, otherwise what's the point right?
2016-06-05 14:24:13 +05:00
###Peering over the regular internet with TLS
2016-01-07 23:27:43 +05:00
Requirements:
* Each Side's server must have a domain name
* Each Side must have each other's certificates (.crt files) in the `certs` folder
* Each Side's `srnd.ini` crypto section must have entry `tls-hostname = domain.tld` where domain.tld is the domain name of the server it is on
* Each Side's `srnd.ini` nntp section must have entry `require_tls = 1`
2016-06-05 20:53:47 +05:00
If Alice owns `nntp.alice.net` and Bob owns `nntp.bob.com` and are both using port `1199` the configs for each side are as follows:
2016-01-07 23:27:43 +05:00
# alice's srnd.ini crypto section
...
[crypto]
tls-hostname = nntp.alice.net
tls-trust-dir = certs
tls-keyname = overchan-alice
# alice's feeds.ini
[feed-bob]
host = nntp.bob.com
port = 1199
[bob]
overchan.* = 1
ctl = 1
# bob's srnd.ini crypto section
...
[crypto]
tls-hostname = nntp.bob.com
tls-trust-dir = certs
tls-keyname = overchan-bob
# bob's feeds.ini
[feed-alice]
host = nntp.alice.net
port = 1199
[alice]
overchan.* = 1
ctl = 1
2016-06-05 14:24:13 +05:00
Each side's `certs` directory contains 2 files:
2016-01-07 23:27:43 +05:00
* overchan-alice-nntp.alice.net.crt (alice's certificate)
* overchan-bob-nntp.bob.com.crt (bob's certificate)
Alice keeps `overchan-alice-nntp.alice.net.key` secret and never shares it
Bob keeps `overchan-bob-nntp.bob.com.key` secret and never shares it
2015-10-08 03:55:54 +05:00
2016-06-05 14:24:13 +05:00
###Peering Authentication with passwords
2016-01-13 04:02:01 +05:00
adding / removing credentials via the command line:
# add an nntp login via command line
srndv2 tool nntp add-login user-name-here pass-word-here
# remove an nntp login via command line
srndv2 tool nntp del-login user-name-here
2016-06-05 20:53:47 +05:00
Example `feeds.ini` :
2016-01-13 04:02:01 +05:00
# section pair in feeds.ini
# connects to nntp.something.tld:1199 and authenticates with a username and password
2016-01-13 10:22:08 +05:00
# sync = 1 makes you download all applicable posts from the remote server on startup
2016-01-13 04:02:01 +05:00
[feed-authenticated]
host = nntp.something.tld
port = 1199
username = user-user-here
password = pass-word-here
2016-01-13 10:22:08 +05:00
sync = 1
2016-01-13 04:02:01 +05:00
[authenticated]
overchan.* = 1
ctl = 1
2016-06-05 14:24:13 +05:00
###Peering over Tor
2015-10-08 03:55:54 +05:00
2016-06-05 20:53:47 +05:00
Install Tor
2015-10-08 03:55:54 +05:00
apt-get install tor
Make a tor hidden service point from outside port 119 to port 1199
Add to /etc/tor/torrc:
HiddenServiceDir /var/lib/tor/nntp_feed
HiddenServicePort 119 127.0.0.1:1199
restart/reload tor then
cat /var/lib/tor/nntp_feed/hostname
This is your in feed address
2016-01-07 23:27:43 +05:00
If you use an onion with tls, `srnd.ini` crypto section should have the entry `tls-hostname = youroniongoeshere.onion` . If you don't use tls NEVER disclose the onion address to anyone not trusted.
2015-10-08 03:55:54 +05:00
Then to peer with someone over tor add this to you feeds.ini
2015-10-24 18:32:40 +05:00
[feed-ourpeer.onion]
host=PeersOnionAddress.onion
port=119
2015-10-08 03:55:54 +05:00
proxy-type=socks4a
proxy-host=127.0.0.1
proxy-port=9050
2015-10-24 18:32:40 +05:00
[ourpeer.onion]
2015-10-08 03:55:54 +05:00
overchan=1
ctl=1
2016-06-05 14:24:13 +05:00
##Options
2015-10-08 03:55:54 +05:00
2016-06-05 14:24:13 +05:00
####You need one connection and one settings block for each connection
2015-10-08 03:55:54 +05:00
Here is an example entry in feeds.ini
2015-10-24 18:32:40 +05:00
[feed-them.onion]
host=aabbccddeeff2233.onion
port=119
2015-10-08 03:55:54 +05:00
proxy-type=socks4a
proxy-host=127.0.0.1
proxy-port=9050
2016-01-13 04:02:01 +05:00
username=somerandomusername
password=somerandompassword
2015-10-08 03:55:54 +05:00
2015-10-24 18:32:40 +05:00
[them.onion]
2015-10-08 03:55:54 +05:00
overchan=1
ano.paste=0
ctl=1
But what does it mean?
2015-10-24 18:32:40 +05:00
[feed-them.onion]
2015-10-08 03:55:54 +05:00
Connection settings for a peer
2015-10-24 18:32:40 +05:00
host=aabbccddeeff2233.onion
port=119
2015-10-08 03:55:54 +05:00
proxy-type=socks4a
proxy-host=127.0.0.1
proxy-port=9050
Proxy settings, straight forward. Supported proxy types are `socks4a` and `none`
2015-10-24 18:32:40 +05:00
[them.onion]
2015-10-08 03:55:54 +05:00
2016-06-05 14:24:13 +05:00
NNTP synchronization settings
2015-10-08 03:55:54 +05:00
overchan=1
Sync all boards, use
overchan.bad=0
to prevent certain boards from syncing with certain peers. It can be used to keep bad boards out or keep exclusive boards in
ano.paste=0
2016-06-05 20:53:47 +05:00
This WILL be the nntpchan pastebin, but it's not implemented yet
2015-10-08 03:55:54 +05:00
ctl=1
2015-10-08 04:08:06 +05:00
Allows you to recieve moderation notifications from other boards, it's also used for decentralized moderation