resolve conflict
This commit is contained in:
commit
fb06097557
30
LICENSE
30
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 <ampernand@gmail.com>
|
||||
|
||||
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.
|
||||
|
17
README.md
17
README.md
@ -1,16 +1,18 @@
|
||||
# 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 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/)
|
||||
|
||||
## 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
|
||||
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
|
||||
# get the latest stable release
|
||||
cd ~/nntpchan/
|
||||
git checkout tags/0.2.1
|
||||
|
||||
# set up the workspace
|
||||
srndv2 setup
|
||||
@ -18,11 +20,12 @@ After you [built and installed the daemon](build-daemon.md) and [set up your dat
|
||||
# run the daemon
|
||||
srndv2 run
|
||||
|
||||
|
||||
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:
|
||||
|
@ -4,6 +4,44 @@
|
||||
<title> NNTPChan Frequently Asked Questions</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>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</p>
|
||||
<h2>NNTPChan faq </h2>
|
||||
<br/>
|
||||
<hr />
|
||||
<div id="faq">
|
||||
<p>
|
||||
<div>Question: What is nntpchan?</div>
|
||||
<div>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.</div>
|
||||
</p>
|
||||
<hr />
|
||||
<p>
|
||||
<div>Question: How is this different from *chan? </div>
|
||||
<div>NNTPChan is by design invulnerable to global censorship. All moderation is local to each server.</div>
|
||||
</p>
|
||||
<hr />
|
||||
<p>
|
||||
<div>Question: How does moderation work then? </div>
|
||||
<div>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.</div>
|
||||
</p>
|
||||
<hr />
|
||||
<p>
|
||||
<div>Question: How can I remove content from nntpchan completely? </div>
|
||||
<div>‾\(._.)/‾ 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.</div>
|
||||
</p>
|
||||
<hr />
|
||||
<p>
|
||||
<div>Question: Do you allow XYZ content? </div>
|
||||
<div>If it violates USA Law or causes problems with my host, no. Otherwise, yes. <b>All posts on this site are the responsibility of the individual poster and not the administration of this server</b>.</div>
|
||||
</p>
|
||||
<hr />
|
||||
<p>
|
||||
<div>Question: I found a bug or I have a feature request where do I go? </div>
|
||||
<div><a href="https://github.com/majestrate/nntpchan/issues">github</a></div>
|
||||
</p>
|
||||
<hr />
|
||||
<p>
|
||||
<div>Please send any questions to ampernand [|at\] gmail {dot} com with subject starting with "nntpchan question" </div>
|
||||
</p>
|
||||
<hr />
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -93,7 +93,6 @@ a:visited {
|
||||
padding: 5px 5px;
|
||||
margin: 5px 5px;
|
||||
display: inline-block;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
th {
|
||||
@ -141,10 +140,51 @@ 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;
|
||||
}
|
||||
|
||||
.redtext {
|
||||
color: #d50505;
|
||||
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;
|
||||
}
|
||||
@ -159,4 +199,25 @@ body {
|
||||
border: medium none;
|
||||
max-width: 300px;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
pre > p {
|
||||
margin: 0px 0px;
|
||||
}
|
||||
|
||||
.reply , .post_body > pre , .ukko_thread_header {
|
||||
padding: 7px 7px;
|
||||
border-radius: 5px;
|
||||
box-shadow: 1px 1px 3px black;
|
||||
}
|
||||
|
||||
.post_body > pre {
|
||||
background: #3f3f3f;
|
||||
color: #d17600;
|
||||
}
|
||||
|
||||
#faq > div {
|
||||
margin-left: 20%;
|
||||
width: 50%;
|
||||
padding: 10px;
|
||||
}
|
@ -17,9 +17,11 @@
|
||||
<div class="index-outer">
|
||||
<div class="index-inner">
|
||||
<h1> {{frontend}} on nntpchan </h1>
|
||||
<h2>View the <a href="ukko.html">overboard</a></h2>
|
||||
<h3>Read the <a href="{{prefix}}static/faq.html">FAQ</a></h3>
|
||||
<h3>View the <a href="ukko.html">overboard</a></h3>
|
||||
<h3>We've Had {{totalposts}} Posts Since August 01 2015 </h3>
|
||||
<h3>Join the <a href="https://i2p.rocks/irc/?channels=overchan&nick=nameless">IRC</a></h3>
|
||||
<h3>Fork on github: <a href="https://github.com/majestrate/nntpchan/">frontend</a> and <a href="https://github.com/majestrate/srndv2/">core</a></h3>
|
||||
<h4>We've Had {{totalposts}} Posts Since August 01 2015 </h4>
|
||||
</div>
|
||||
<div class="index-inner">
|
||||
<table id="board_graph">
|
||||
|
23
contrib/tools/thumbs.sh
Executable file
23
contrib/tools/thumbs.sh
Executable file
@ -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
|
@ -7,6 +7,7 @@
|
||||
* go 1.4 or higher
|
||||
* libsodium 1.0 or higher
|
||||
* imagemagick
|
||||
* RabbitMQ
|
||||
|
||||
## debian ##
|
||||
|
||||
@ -22,7 +23,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
|
||||
@ -43,12 +44,12 @@ 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 build the daemon:
|
||||
|
||||
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``
|
52
doc/peering.md
Normal file
52
doc/peering.md
Normal file
@ -0,0 +1,52 @@
|
||||
## 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
|
||||
|
||||
**TODO:** firewalling
|
Reference in New Issue
Block a user