From ad220c72df2bbcba993ff42b51b502b4155911af Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 21:50:52 -0400 Subject: [PATCH 01/39] fix css on code blocks --- contrib/static/site.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/static/site.css b/contrib/static/site.css index bbf2b76..a48f458 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -159,4 +159,8 @@ body { border: medium none; max-width: 300px; max-height: 200px; +} + +pre > p { + margin: 0px 0px; } \ No newline at end of file From 40a7f4b3d916e1dcb9b2585d9d7d9e6c10dedd02 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:35:35 -0400 Subject: [PATCH 02/39] add style for code blocks --- contrib/static/site.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contrib/static/site.css b/contrib/static/site.css index a48f458..b1b7980 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -163,4 +163,9 @@ body { pre > p { margin: 0px 0px; +} + +.post_body > pre { + background: #3f3f3f; + color: #d17600; } \ No newline at end of file From 67f644fc68f627fe927f7bcba3b3f2d391b61df0 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:40:44 -0400 Subject: [PATCH 03/39] ammend style --- contrib/static/site.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contrib/static/site.css b/contrib/static/site.css index b1b7980..616e2cb 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -166,6 +166,9 @@ pre > p { } .post_body > pre { + padding: 7px 7px; + border-radius: 5px; + box-shadow: 10px 10px 4px black; background: #3f3f3f; color: #d17600; } \ No newline at end of file From e96786a285e78421ac99c3b911c6166bdf8a7f16 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:41:54 -0400 Subject: [PATCH 04/39] fix box shadow so it sucks less --- contrib/static/site.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/static/site.css b/contrib/static/site.css index 616e2cb..a7f4363 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -168,7 +168,7 @@ pre > p { .post_body > pre { padding: 7px 7px; border-radius: 5px; - box-shadow: 10px 10px 4px black; + box-shadow: 1px 1px 4px #ddd; background: #3f3f3f; color: #d17600; } \ No newline at end of file From ba4c44e148ed3a859457a4367718cdfbd729d9dd Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:42:25 -0400 Subject: [PATCH 05/39] fix box shadow again --- contrib/static/site.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/static/site.css b/contrib/static/site.css index a7f4363..650e624 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -168,7 +168,7 @@ pre > p { .post_body > pre { padding: 7px 7px; border-radius: 5px; - box-shadow: 1px 1px 4px #ddd; + box-shadow: 3px 3px 4px #ddd; background: #3f3f3f; color: #d17600; } \ No newline at end of file From da82cd1c3672766cd982c523455d6fea9c84eb0d Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:43:09 -0400 Subject: [PATCH 06/39] box shadow fix --- contrib/static/site.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/static/site.css b/contrib/static/site.css index 650e624..dc525df 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -168,7 +168,7 @@ pre > p { .post_body > pre { padding: 7px 7px; border-radius: 5px; - box-shadow: 3px 3px 4px #ddd; + box-shadow: 5px 5px 3px black; background: #3f3f3f; color: #d17600; } \ No newline at end of file From 4e26ced4879208a2b85f11ba7f7062cf16095f50 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:43:37 -0400 Subject: [PATCH 07/39] i hate css --- contrib/static/site.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/static/site.css b/contrib/static/site.css index dc525df..3b15bb5 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -168,7 +168,7 @@ pre > p { .post_body > pre { padding: 7px 7px; border-radius: 5px; - box-shadow: 5px 5px 3px black; + box-shadow: 2px 2px 3px black; background: #3f3f3f; color: #d17600; } \ No newline at end of file From 1d61c06750ca4ecb685fb63af9b845035eb4ec7d Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:45:07 -0400 Subject: [PATCH 08/39] css sucks --- contrib/static/site.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/static/site.css b/contrib/static/site.css index 3b15bb5..b2a0f75 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -165,10 +165,13 @@ pre > p { margin: 0px 0px; } -.post_body > pre { +.reply , .post_body > pre { padding: 7px 7px; border-radius: 5px; box-shadow: 2px 2px 3px black; +} + +.post_body > pre { background: #3f3f3f; color: #d17600; } \ No newline at end of file From 2f8c41d93c23b42165419b6c6da47b88cf95b8b6 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:45:56 -0400 Subject: [PATCH 09/39] seriously css sucks --- contrib/static/site.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/static/site.css b/contrib/static/site.css index b2a0f75..5fbcb88 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -168,7 +168,7 @@ pre > p { .reply , .post_body > pre { padding: 7px 7px; border-radius: 5px; - box-shadow: 2px 2px 3px black; + box-shadow: 1px 1px 3px black; } .post_body > pre { From ee686d5a8618868739ed385871e8287be5ce5541 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 19 Aug 2015 22:46:50 -0400 Subject: [PATCH 10/39] css is only good when it works (never) --- contrib/static/site.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contrib/static/site.css b/contrib/static/site.css index 5fbcb88..49d0336 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -93,7 +93,6 @@ a:visited { padding: 5px 5px; margin: 5px 5px; display: inline-block; - border-radius: 10px; } th { @@ -165,7 +164,7 @@ pre > p { margin: 0px 0px; } -.reply , .post_body > pre { +.reply , .post_body > pre , .ukko_thread_header { padding: 7px 7px; border-radius: 5px; box-shadow: 1px 1px 3px black; From 4a7129c45591e3c48282acadf724f9a02a820005 Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 20 Aug 2015 11:02:41 -0400 Subject: [PATCH 11/39] fix front page so it sucks less --- contrib/templates/default/frontpage.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/templates/default/frontpage.mustache b/contrib/templates/default/frontpage.mustache index 1754904..c55e084 100644 --- a/contrib/templates/default/frontpage.mustache +++ b/contrib/templates/default/frontpage.mustache @@ -17,9 +17,9 @@

{{frontend}} on nntpchan

+

View the overboard

Read the FAQ

-

View the overboard

-

We've Had {{totalposts}} Posts Since August 01 2015

+

We've Had {{totalposts}} Posts Since August 01 2015

From be8e9cfbf6146ec1b52166aa9ee8d5fc4ea27aa6 Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 20 Aug 2015 11:49:43 -0400 Subject: [PATCH 12/39] add github links --- contrib/templates/default/frontpage.mustache | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/templates/default/frontpage.mustache b/contrib/templates/default/frontpage.mustache index c55e084..783ecee 100644 --- a/contrib/templates/default/frontpage.mustache +++ b/contrib/templates/default/frontpage.mustache @@ -19,6 +19,7 @@

{{frontend}} on nntpchan

View the overboard

Read the FAQ

+

Fork on github: frontend and core

We've Had {{totalposts}} Posts Since August 01 2015

From ac20b7e0f2254eb7f856034c4c7be851a01af586 Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 20 Aug 2015 11:51:19 -0400 Subject: [PATCH 13/39] spelling is hard --- contrib/templates/default/frontpage.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/templates/default/frontpage.mustache b/contrib/templates/default/frontpage.mustache index 783ecee..08d3802 100644 --- a/contrib/templates/default/frontpage.mustache +++ b/contrib/templates/default/frontpage.mustache @@ -19,7 +19,7 @@

{{frontend}} on nntpchan

View the overboard

Read the FAQ

-

Fork on github: frontend and core

+

Fork on github: frontend and core

We've Had {{totalposts}} Posts Since August 01 2015

From 5a8b51a6051f94508a1a8072f09fdf7a1da84a45 Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 22 Aug 2015 19:45:03 -0400 Subject: [PATCH 14/39] ammend readme --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b1ca47..fe8eafe 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,10 @@ If you don't want to compile from source, you can download a precompiled binary After you [built and installed the daemon](build-daemon.md) and [set up your database](database-setup.md), clone this repository and start up the daemon + # build it + go get github.com/majestrate/srndv2 + go install github.com/majestrate/srndv2 + # clone it git clone https://github.com/majestrate/nntpchan cd nntpchan @@ -22,7 +26,7 @@ Then open http://127.0.0.1:18000/ukko.html in your browser. *PLEASE* report any bugs you find while setting up or building [(here)](https://github.com/majestrate/nntpchan/issues) so that the problems get fixed (^: -For peering requests, questions or support find me on [rizon](https://qchat.rizon.net/?channels=#8chan-dev) as \__uguu\__ +For peering requests, questions or support find me on [rizon](https://qchat.rizon.net/?channels=#nntpchan) as \__uguu\__ Like this project? Fund it: From 97188d03b4085ba2a30fb39aa090e65f43e1f01b Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 22 Aug 2015 19:46:32 -0400 Subject: [PATCH 15/39] NFRU -> MIT --- LICENSE | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/LICENSE b/LICENSE index 3d043e9..2259bdd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,17 +1,21 @@ +The MIT License (MIT) - NOT FOR RECTAL USE PUBLIC LICENSE - Version 1.1, Febuary 2015 +Copyright (c) 2015 Jeff Becker - Copyright (C) 2015 Jeff Becker - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - NOT FOR RECTAL USE PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. NOT for rectal use. - 1. Don't sue me, it's your fault. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. From 21e81602e3fd0414c93ffb10ecb1c008d5103262 Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 22 Aug 2015 19:49:16 -0400 Subject: [PATCH 16/39] fix documentation --- README.md | 6 ------ build-daemon.md | 1 + 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/README.md b/README.md index fe8eafe..a79d517 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,8 @@ NNTPChan (previously known as overchan) is a decentralized imageboard that uses ## getting started ## -If you don't want to compile from source, you can download a precompiled binary [here](https://github.com/majestrate/srndv2/releases) when they are released. - After you [built and installed the daemon](build-daemon.md) and [set up your database](database-setup.md), clone this repository and start up the daemon - # build it - go get github.com/majestrate/srndv2 - go install github.com/majestrate/srndv2 - # clone it git clone https://github.com/majestrate/nntpchan cd nntpchan diff --git a/build-daemon.md b/build-daemon.md index 745622c..0fbcf4f 100644 --- a/build-daemon.md +++ b/build-daemon.md @@ -49,6 +49,7 @@ We'll also need to install some dependancies that come with debian: Now you can build the daemon: + go get github.com/majestrate/srndv2 go install github.com/majestrate/srndv2 It will create an executable at $GOPATH/bin/srndv2 which is already in our $PATH so it can be run by typing ``srndv2`` From 88e6b2b4d0514e14e66fcd3415cd3838cb1cd446 Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 22 Aug 2015 19:49:56 -0400 Subject: [PATCH 17/39] $$ -> $ --- build-daemon.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-daemon.md b/build-daemon.md index 0fbcf4f..f02114e 100644 --- a/build-daemon.md +++ b/build-daemon.md @@ -22,7 +22,7 @@ Debian Jessie has go 1.3, we need 1.4 or higher to build the nntpchan daemon so # set up a directory for our go distribution mkdir -p $HOME/local - cd $$HOME/local + cd $HOME/local # obtain and unpack go binary distribution wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz -O go-stable.tar.gz From 1e5ff5bba966c796adf0df28baae1012ec5bccf7 Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 22 Aug 2015 19:52:31 -0400 Subject: [PATCH 18/39] reorganize docs --- README.md | 2 +- build-daemon.md => doc/build.md | 0 database-setup.md => doc/database.md | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename build-daemon.md => doc/build.md (100%) rename database-setup.md => doc/database.md (100%) diff --git a/README.md b/README.md index a79d517..65b5380 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ NNTPChan (previously known as overchan) is a decentralized imageboard that uses ## getting started ## -After you [built and installed the daemon](build-daemon.md) and [set up your database](database-setup.md), clone this repository and start up the daemon +After you [built and installed the daemon](doc/build.md) and [set up your database](doc/database.md), clone this repository and start up the daemon # clone it git clone https://github.com/majestrate/nntpchan diff --git a/build-daemon.md b/doc/build.md similarity index 100% rename from build-daemon.md rename to doc/build.md diff --git a/database-setup.md b/doc/database.md similarity index 100% rename from database-setup.md rename to doc/database.md From 68a154c6ecb6700cd9d3f3b0517ff3cebb816621 Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 22 Aug 2015 20:17:15 -0400 Subject: [PATCH 19/39] add short peering info --- doc/peering.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 doc/peering.md diff --git a/doc/peering.md b/doc/peering.md new file mode 100644 index 0000000..9806e2f --- /dev/null +++ b/doc/peering.md @@ -0,0 +1,50 @@ +## peering with other nodes ## + +In order to actually be distributed, you need another person to sync posts with, otherwise what's the point right? + +Right now peering information is private, there is no link level authenticatio (yet) so everything is done via either a vpn tunnel or a tor hidden service. + +### Peering via cjdns vpn tunnel ### + +Set up cjdns, read more [here](https://github.com/cjdelisle/cjdns/blob/master/doc/configure.md#connection-interfaces) + + git clone https://github.com/cjdelisle/cjdns + cd cjdns && ./do + ./cjdroute --genconf >> cjdroute.conf + ./cjdroute < cjdroute.conf + +Get your ipv6 address for cjdns + + ip addr show tun0 + +Edit srnd.ini to bind nntp on that ipv6 address, make sure to use the square brances `[` and `]` + + [nntp] + ... + bind=[xxxx:xxxx:xxxx:xxx:xx....]:1199 + + +say you have 2 friends at fc33:3:3::aadd and fc03:9f:123::a3df. right now feeds.ini can't take raw ipv6 addresses so add them to `/etc/hosts` + + # add these lines to /etc/hosts + fc33:3:3::aadd bob + fc03:9f:123::a3df charlie + +then add to feeds.ini the following: + + + [feed-bob] + proxy-type=none + + [bob] + overchan.*=1 + ctl=1 + + [feed-charlie] + proxy-type=none + + [charlie] + overchan.*=1 + ctl=1 + +then restart srndv2 From d7c70c99a55c0a0206c6a532932dbeb51ad2dedb Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 22 Aug 2015 20:17:48 -0400 Subject: [PATCH 20/39] add extra note --- doc/peering.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/peering.md b/doc/peering.md index 9806e2f..f794335 100644 --- a/doc/peering.md +++ b/doc/peering.md @@ -48,3 +48,5 @@ then add to feeds.ini the following: ctl=1 then restart srndv2 + +**TODO:** firewalling From 29060e32f3793f4095180bdf79de8cc4b4b1ca15 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 24 Aug 2015 06:05:01 -0400 Subject: [PATCH 21/39] add irc link to front page --- contrib/templates/default/frontpage.mustache | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/templates/default/frontpage.mustache b/contrib/templates/default/frontpage.mustache index 08d3802..c04a431 100644 --- a/contrib/templates/default/frontpage.mustache +++ b/contrib/templates/default/frontpage.mustache @@ -19,6 +19,7 @@

{{frontend}} on nntpchan

View the overboard

Read the FAQ

+

Join the IRC

Fork on github: frontend and core

We've Had {{totalposts}} Posts Since August 01 2015

From 5e1bb7e014e1a01c305f0ffc0698dfcc74ca2e5b Mon Sep 17 00:00:00 2001 From: jeff Date: Tue, 25 Aug 2015 09:10:10 -0400 Subject: [PATCH 22/39] flesh out faq --- contrib/static/faq.html | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/contrib/static/faq.html b/contrib/static/faq.html index e393977..3c38cc9 100644 --- a/contrib/static/faq.html +++ b/contrib/static/faq.html @@ -4,6 +4,29 @@ NNTPChan Frequently Asked Questions -

No CP or anything illegal under United States law allowed. All posts on this site are the responsibility of the individual poster and not the administration of this site

+

No CP or anything illegal under United States law allowed. All posts on this site are the responsibility of the individual poster and not the administration of this server

+

+

Question: What is nntpchan?
+
nntpchan is a federated imageboard that spans across several networks including tor, i2p and anonet. There are no central servers so that as long as 1 server is left the forum will continue to function
+

+

+

Question: How is this different from *chan?
+
nntpchan is by design invulnerable to global censorship. All moderation is local to each server.
+

+

+

Question: How does moderation work then?
+
moderation is done with our special tripcodes (ed25519-sha512 signed posts). Anyone can give moderation suggestions, but that doesn't mean anyone will accept them. Those who trust the actions of a moderator can have their frontend whitelist the moderation actions and have them performed without oversight by another moderator
+

+

+

Question: How can I remove content from nntpchan completely?
+
‾\(._.)/‾ I don't know. You probably can't unless every server agrees to remove the content, even then, nothing prevents someone from reposting it. You can't delete what you post on the internet, it doesn't work that way.
+

+

+

Question: Do you allow XYZ content?
+
If it violates USA Law or causes problems with my host, no. Otherwise, yes. All posts on this site are the responsibility of the individual poster and not the administration of this server
+

+

+

please send any questions to ampernand [|at\] gmail {dot} com with subject starting with "nntpchan question"
+

From be813b4c04b58b4435a5647037a15e59dea66bf7 Mon Sep 17 00:00:00 2001 From: jeff Date: Tue, 25 Aug 2015 09:21:18 -0400 Subject: [PATCH 23/39] fix up faq --- contrib/static/faq.html | 63 +++++++++++++++++++++++++---------------- contrib/static/site.css | 6 ++++ 2 files changed, 45 insertions(+), 24 deletions(-) diff --git a/contrib/static/faq.html b/contrib/static/faq.html index 3c38cc9..3bcfd64 100644 --- a/contrib/static/faq.html +++ b/contrib/static/faq.html @@ -4,29 +4,44 @@ NNTPChan Frequently Asked Questions -

No CP or anything illegal under United States law allowed. All posts on this site are the responsibility of the individual poster and not the administration of this server

-

-

Question: What is nntpchan?
-
nntpchan is a federated imageboard that spans across several networks including tor, i2p and anonet. There are no central servers so that as long as 1 server is left the forum will continue to function
-

-

-

Question: How is this different from *chan?
-
nntpchan is by design invulnerable to global censorship. All moderation is local to each server.
-

-

-

Question: How does moderation work then?
-
moderation is done with our special tripcodes (ed25519-sha512 signed posts). Anyone can give moderation suggestions, but that doesn't mean anyone will accept them. Those who trust the actions of a moderator can have their frontend whitelist the moderation actions and have them performed without oversight by another moderator
-

-

-

Question: How can I remove content from nntpchan completely?
-
‾\(._.)/‾ I don't know. You probably can't unless every server agrees to remove the content, even then, nothing prevents someone from reposting it. You can't delete what you post on the internet, it doesn't work that way.
-

-

-

Question: Do you allow XYZ content?
-
If it violates USA Law or causes problems with my host, no. Otherwise, yes. All posts on this site are the responsibility of the individual poster and not the administration of this server
-

-

-

please send any questions to ampernand [|at\] gmail {dot} com with subject starting with "nntpchan question"
-

+

NNTPChan faq

+
+
+
+

+

Question: What is nntpchan?
+
NNTPCchan is a federated imageboard that spans across several networks including tor, i2p and anonet. There are no central servers so that as long as 1 server is left the forum will continue to function.
+

+
+

+

Question: How is this different from *chan?
+
NNTPChan is by design invulnerable to global censorship. All moderation is local to each server.
+

+
+

+

Question: How does moderation work then?
+
Moderation is done with our special tripcodes (ed25519-sha512 signed posts). Anyone can give moderation suggestions, but that doesn't mean anyone will accept them. Those who trust the actions of a moderator can have their frontend whitelist the moderation actions and have them performed without oversight by another moderator.
+

+
+

+

Question: How can I remove content from nntpchan completely?
+
‾\(._.)/‾ I don't know. You probably can't unless every server agrees to remove the content, even then, nothing prevents someone from reposting it. You can't delete what you post on the internet.
+

+
+

+

Question: Do you allow XYZ content?
+
If it violates USA Law or causes problems with my host, no. Otherwise, yes. All posts on this site are the responsibility of the individual poster and not the administration of this server.
+

+
+

+

Question: I found a bug or I have a feature request where do I go?
+ +

+
+

+

Please send any questions to ampernand [|at\] gmail {dot} com with subject starting with "nntpchan question"
+

+
+
diff --git a/contrib/static/site.css b/contrib/static/site.css index 49d0336..a7a4de9 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -173,4 +173,10 @@ pre > p { .post_body > pre { background: #3f3f3f; color: #d17600; +} + +#faq > div { + margin-left: 20%; + width: 50%; + padding: 10px; } \ No newline at end of file From 7fe3297264fd7f49e27eb6d0f9d1c038ed41ef07 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 26 Aug 2015 18:00:34 -0400 Subject: [PATCH 24/39] add period to README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 65b5380..c05b39b 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,8 @@ After you [built and installed the daemon](doc/build.md) and [set up your databa # set up the workspace srndv2 setup - - # run the daemon + + # run the daemon. srndv2 run Then open http://127.0.0.1:18000/ukko.html in your browser. From d3ba0b2725dd2d2aada622b9bc0ac2199d7e9707 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 26 Aug 2015 18:02:37 -0400 Subject: [PATCH 25/39] remove inane change --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c05b39b..902b7e3 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ After you [built and installed the daemon](doc/build.md) and [set up your databa # set up the workspace srndv2 setup - # run the daemon. + # run the daemon srndv2 run Then open http://127.0.0.1:18000/ukko.html in your browser. From 82b93e919418a667f9c711b606e903064b1fff32 Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 27 Aug 2015 09:00:20 -0400 Subject: [PATCH 26/39] ammend readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 65b5380..9df9911 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # NNTPChan # -NNTPChan (previously known as overchan) is a decentralized imageboard that uses nntp to synchronize content between many different servers. It utilizes cryptograpghicly signed posts to perform optional/opt-in decentralized moderation (currently work-in-progress) +NNTPChan (previously known as overchan) is a decentralized imageboard that uses nntp to synchronize content between many different servers. It utilizes cryptograpghicly signed posts to perform optional/opt-in decentralized moderation. + +This repository contains resources used by the core daemon which is located [here](https://github.com/majestrate/srdnv2) along with general documentation, [here](doc/) ## getting started ## From 1f4977edc20642c3426f58640d42709afe2815ad Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 27 Aug 2015 09:02:12 -0400 Subject: [PATCH 27/39] fix link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e0a1976..a24b80d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ NNTPChan (previously known as overchan) is a decentralized imageboard that uses nntp to synchronize content between many different servers. It utilizes cryptograpghicly signed posts to perform optional/opt-in decentralized moderation. -This repository contains resources used by the core daemon which is located [here](https://github.com/majestrate/srdnv2) along with general documentation, [here](doc/) +This repository contains resources used by the core daemon which is located [here](https://github.com/majestrate/srndv2) along with general documentation, [here](doc/) ## getting started ## @@ -14,7 +14,7 @@ After you [built and installed the daemon](doc/build.md) and [set up your databa # set up the workspace srndv2 setup - + # run the daemon srndv2 run From c08fb8b2fd2f48f539bb4f4a9e6e869b82ab65c3 Mon Sep 17 00:00:00 2001 From: jeff Date: Fri, 28 Aug 2015 09:12:06 -0400 Subject: [PATCH 28/39] add rabbitmq configs --- contrib/configs/rabbitmq/rabbit.config | 8 ++++++++ contrib/configs/rabbitmq/rabbitmq-env.conf | 5 +++++ 2 files changed, 13 insertions(+) create mode 100644 contrib/configs/rabbitmq/rabbit.config create mode 100644 contrib/configs/rabbitmq/rabbitmq-env.conf diff --git a/contrib/configs/rabbitmq/rabbit.config b/contrib/configs/rabbitmq/rabbit.config new file mode 100644 index 0000000..cb20003 --- /dev/null +++ b/contrib/configs/rabbitmq/rabbit.config @@ -0,0 +1,8 @@ +[ + {rabbitmq_management, [ + {listener, [{ip, "127.0.0.1"} + ]}, + {kernel, [ + {inet_dist_use_interface,{127,0,0,1}} + ]} +]. diff --git a/contrib/configs/rabbitmq/rabbitmq-env.conf b/contrib/configs/rabbitmq/rabbitmq-env.conf new file mode 100644 index 0000000..19d003e --- /dev/null +++ b/contrib/configs/rabbitmq/rabbitmq-env.conf @@ -0,0 +1,5 @@ +export RABBITMQ_NODENAME=rabbit@localhost +export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 +export ERL_EPMD_ADDRESS=127.0.0.1 + +export RABBITMQ_CONFIG_FILE="/etc/rabbitmq/rabbit.config" From 6e4c38bc95b3050faab3cd7a767cfd6597f24151 Mon Sep 17 00:00:00 2001 From: jeff Date: Fri, 28 Aug 2015 16:55:56 -0400 Subject: [PATCH 29/39] ammend docs, update board.mustache --- README.md | 10 ++++--- contrib/templates/default/board.mustache | 8 +++--- doc/build.md | 8 +++--- doc/setup.md | 33 ++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 11 deletions(-) create mode 100644 doc/setup.md diff --git a/README.md b/README.md index a24b80d..be56466 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,19 @@ This repository contains resources used by the core daemon which is located [her After you [built and installed the daemon](doc/build.md) and [set up your database](doc/database.md), clone this repository and start up the daemon # clone it - git clone https://github.com/majestrate/nntpchan - cd nntpchan + git clone https://github.com/majestrate/nntpchan ~/nntpchan + cd ~/nntpchan # set up the workspace srndv2 setup - # run the daemon + # run the core daemon srndv2 run + # run the worker threads + srndv2 worker + + Then open http://127.0.0.1:18000/ukko.html in your browser. *PLEASE* report any bugs you find while setting up or building [(here)](https://github.com/majestrate/nntpchan/issues) so that the problems get fixed (^: diff --git a/contrib/templates/default/board.mustache b/contrib/templates/default/board.mustache index dce6874..0d071fe 100644 --- a/contrib/templates/default/board.mustache +++ b/contrib/templates/default/board.mustache @@ -32,11 +32,11 @@
- {{{OP.RenderPost}}} - {{#Replies}} - {{{RenderPost}}} + {{{OP.Truncate.RenderPost}}} + {{#Truncate.Replies}} + {{{Truncate.RenderPost}}}
- {{/Replies}} + {{/Truncate.Replies}}


diff --git a/doc/build.md b/doc/build.md index f02114e..85e7267 100644 --- a/doc/build.md +++ b/doc/build.md @@ -7,6 +7,7 @@ * go 1.4 or higher * libsodium 1.0 or higher * imagemagick +* RabbitMQ ## debian ## @@ -43,11 +44,10 @@ We'll also need to install some dependancies that come with debian: # as root - apt-get update - apt-get install libmagickwand-dev libsodium-dev + apt update + apt install imagemagick libsodium-dev - -Now you can build the daemon: +Now build the daemon: go get github.com/majestrate/srndv2 go install github.com/majestrate/srndv2 diff --git a/doc/setup.md b/doc/setup.md new file mode 100644 index 0000000..d0d14d5 --- /dev/null +++ b/doc/setup.md @@ -0,0 +1,33 @@ + +Postgres on Debian: + + + # install + apt install postgresql postgresql-client + + +Setting up postgres (as root) + + # become postgres user + su postgres + # spawn postgres admin shell + psql + +You'll get a prompt, enter the following: + + CREATE ROLE srnd WITH LOGIN PASSWORD 'srndpassword'; + CREATE DATABASE srnd WITH ENCODING 'UTF8' OWNER srnd; + \q + +Change the username and password as desired. + +RabbitMQ on Debian: + + # install + apt install rabbitmq-server + +Copy the rabbitmq configs and restart rabbitmq + + # as root + cp ~/nntpchan/contrib/configs/rabbitmq/* /etc/rabbitmq/ + systemctl restart rabbitmq-server From 902650ac00facfea4b6634c016bae1e8d3594d6e Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 09:20:54 -0400 Subject: [PATCH 30/39] ammend docs and readme --- README.md | 5 +---- doc/setup.md | 33 --------------------------------- 2 files changed, 1 insertion(+), 37 deletions(-) delete mode 100644 doc/setup.md diff --git a/README.md b/README.md index be56466..98c47bf 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,9 @@ After you [built and installed the daemon](doc/build.md) and [set up your databa # set up the workspace srndv2 setup - # run the core daemon + # run the daemon srndv2 run - # run the worker threads - srndv2 worker - Then open http://127.0.0.1:18000/ukko.html in your browser. diff --git a/doc/setup.md b/doc/setup.md deleted file mode 100644 index d0d14d5..0000000 --- a/doc/setup.md +++ /dev/null @@ -1,33 +0,0 @@ - -Postgres on Debian: - - - # install - apt install postgresql postgresql-client - - -Setting up postgres (as root) - - # become postgres user - su postgres - # spawn postgres admin shell - psql - -You'll get a prompt, enter the following: - - CREATE ROLE srnd WITH LOGIN PASSWORD 'srndpassword'; - CREATE DATABASE srnd WITH ENCODING 'UTF8' OWNER srnd; - \q - -Change the username and password as desired. - -RabbitMQ on Debian: - - # install - apt install rabbitmq-server - -Copy the rabbitmq configs and restart rabbitmq - - # as root - cp ~/nntpchan/contrib/configs/rabbitmq/* /etc/rabbitmq/ - systemctl restart rabbitmq-server From 5a8188e33d012a1551d692cb474ee876da8fbb17 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 09:21:09 -0400 Subject: [PATCH 31/39] we don't need rabbitmq anymore --- contrib/configs/rabbitmq/rabbit.config | 8 -------- contrib/configs/rabbitmq/rabbitmq-env.conf | 5 ----- 2 files changed, 13 deletions(-) delete mode 100644 contrib/configs/rabbitmq/rabbit.config delete mode 100644 contrib/configs/rabbitmq/rabbitmq-env.conf diff --git a/contrib/configs/rabbitmq/rabbit.config b/contrib/configs/rabbitmq/rabbit.config deleted file mode 100644 index cb20003..0000000 --- a/contrib/configs/rabbitmq/rabbit.config +++ /dev/null @@ -1,8 +0,0 @@ -[ - {rabbitmq_management, [ - {listener, [{ip, "127.0.0.1"} - ]}, - {kernel, [ - {inet_dist_use_interface,{127,0,0,1}} - ]} -]. diff --git a/contrib/configs/rabbitmq/rabbitmq-env.conf b/contrib/configs/rabbitmq/rabbitmq-env.conf deleted file mode 100644 index 19d003e..0000000 --- a/contrib/configs/rabbitmq/rabbitmq-env.conf +++ /dev/null @@ -1,5 +0,0 @@ -export RABBITMQ_NODENAME=rabbit@localhost -export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 -export ERL_EPMD_ADDRESS=127.0.0.1 - -export RABBITMQ_CONFIG_FILE="/etc/rabbitmq/rabbit.config" From 6ab0e2b17a04e82bc26c9044bf5a3c361a93ea18 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 10:46:04 -0400 Subject: [PATCH 32/39] truncate threads and posts in overboard --- contrib/templates/default/ukko.mustache | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/templates/default/ukko.mustache b/contrib/templates/default/ukko.mustache index 479b535..c5269e8 100644 --- a/contrib/templates/default/ukko.mustache +++ b/contrib/templates/default/ukko.mustache @@ -23,10 +23,10 @@
{{{OP.RenderPost}}} - {{#Replies}} - {{{RenderPost}}} + {{#Truncate.Replies}} + {{{Truncate.RenderPost}}}
- {{/Replies}} + {{/Truncate.Replies}}
{{/threads}} From cb5f7f2453b7545fdf51e150e4dc80f8191e0ad2 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 10:58:28 -0400 Subject: [PATCH 33/39] add thumb.sh tool --- contrib/tools/thumbs.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 contrib/tools/thumbs.sh diff --git a/contrib/tools/thumbs.sh b/contrib/tools/thumbs.sh new file mode 100755 index 0000000..0c38ef2 --- /dev/null +++ b/contrib/tools/thumbs.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# +# shell script for regenerating thumbnails +# + +if [ "$1" == "" ] ; then + echo "usage: $0 webroot_dir" +else + cd $1 + echo "regenerate missing thumbs in $(pwd)" + find img/ \ + -type f \ + -regextype posix-extended \ + -iregex '.*\.(png|jpg|gif)$' \ + -not -execdir test -f '../thm/{}' \; \ + -exec echo 'generating missing thumb for {}' \; \ + -exec mogrify \ + -define jpeg:size=500x500 \ + -thumbnail '250>x250>' \ + -path thm/ \ + -strip \ + '{}' \; +fi From 1f346b9da7dde23e95eb2b5443991211cc1193a0 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 11:09:26 -0400 Subject: [PATCH 34/39] ammend readme to have users check out stable tags --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 98c47bf..c1e568f 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,9 @@ After you [built and installed the daemon](doc/build.md) and [set up your databa # clone it git clone https://github.com/majestrate/nntpchan ~/nntpchan - cd ~/nntpchan + # get the latest stable release + cd ~/nntpchan/ + git checkout tags/0.2 # set up the workspace srndv2 setup From 4b56272fdd0586251fa0277fb8a1c69baca4f9bd Mon Sep 17 00:00:00 2001 From: Erkan Yilmaz Date: Mon, 31 Aug 2015 18:25:45 +0200 Subject: [PATCH 35/39] change 1 word to: cryptographically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1e568f..e7bb045 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # NNTPChan # -NNTPChan (previously known as overchan) is a decentralized imageboard that uses nntp to synchronize content between many different servers. It utilizes cryptograpghicly signed posts to perform optional/opt-in decentralized moderation. +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. This repository contains resources used by the core daemon which is located [here](https://github.com/majestrate/srndv2) along with general documentation, [here](doc/) From fffd5beea50579e4f30208463f38d68485665621 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 13:33:08 -0400 Subject: [PATCH 36/39] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1e568f..e439ea3 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ After you [built and installed the daemon](doc/build.md) and [set up your databa git clone https://github.com/majestrate/nntpchan ~/nntpchan # get the latest stable release cd ~/nntpchan/ - git checkout tags/0.2 + git checkout tags/0.2.1 # set up the workspace srndv2 setup From fd1193f73a221141fe4911d6ac96a625d3fde02e Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 16:14:32 -0400 Subject: [PATCH 37/39] add redtext css rules --- contrib/static/site.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/contrib/static/site.css b/contrib/static/site.css index a7a4de9..5720b30 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -144,6 +144,11 @@ body { color: green; } +.redtext { + color: #d50505; + font-weight: bold; +} + .intro { margin-bottom: 0.75em; } From a2fd94a83e106fb710e0ba5dd9fe4a4f22726b19 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 16:41:25 -0400 Subject: [PATCH 38/39] add spoiler css --- contrib/static/site.css | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/contrib/static/site.css b/contrib/static/site.css index 5720b30..25b32fa 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -149,6 +149,20 @@ body { font-weight: bold; } +.spoiler { + display: inline-block; +} + +.spoiler > p { + background: black; + color: black; +} + +.spoiler:hover > p { + background: black; + color: white; +} + .intro { margin-bottom: 0.75em; } From f9ea9480716e53feca80e007d8fc83d897c51262 Mon Sep 17 00:00:00 2001 From: jeff Date: Mon, 31 Aug 2015 16:58:30 -0400 Subject: [PATCH 39/39] psy tag --- contrib/static/site.css | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/contrib/static/site.css b/contrib/static/site.css index 25b32fa..0c205f7 100644 --- a/contrib/static/site.css +++ b/contrib/static/site.css @@ -140,6 +140,28 @@ body { color: #de04ef; } +@keyframes psych +{ + 0% {background-color: red; color: blue; } + 10% {background-color: yellow; color: red; } + 20% {background-color: blue; color: green; } + 30% {background-color: green; color: yellow; } + 40% {background-color: red; color: blue; } + 50% {background-color: yellow; color: green; } + 60% {background-color: blue; color: yellow; } + 70% {background-color: green; color: blue; } + 80% {background-color: red; color: green; } + 90% {background-color: yellow; color: red; } + 95% {background-color: blue; color: yellow; } + 100% {background-color: green; color: white; } +} + +.psy > p { + animation: psych 2s linear infinite; + display: inline-block; +} + + .memearrows { color: green; }