Use: $ git clone --recursive --depth=1 https://github.com/Anoncheg1/diboard.git
diboard v1.0.8 Decentralized ImageBoard just like nntpchan with following differences:
- scientific research on this topic
- main goal of project is a quality of code
- the least possible amount of third-party libraries
- more accurate with rfc
- philosophy: closed groups of trusted servers to protect against flood and user fingerprint leaks.
- Import Existing Maven project diboard
- Import Existing Maven project dibd - Main core NNTP module that can work independently.
- Import Existing Maven project webspringboot - Web-frontend. Spring boot with embedded Tomcat.
- Min RAM for everything 600MB free.
- Java 8 JDK.
- ImageMagic. (used for thumbnails)
- PostgreSQL or MySQL.
- Install RDBMS: postgresql (or mysql)
- Create database
$ su
# su postgres
$ psql
postgres=# CREATE ROLE dibd WITH LOGIN PASSWORD 'mysecret';
postgres=# CREATE DATABASE dibd WITH OWNER dibd ENCODING 'UTF8';
postgres=# \q
$ psql dibd
dibd=# \i /home/user/diboard/dibd.SQL
- configure webspringboot/dibd.conf
- install ImageMagic (read https://www.imagemagick.org/script/security-policy.php)
- Compile
$ cd diboard
$ mvn clean compile package
- Run
$ cd webspringboot
$ java -jar target/diboard.jar -p 9119
To run as a daemon on port 119 see dibd/util
Port 119 may be accessed local for debug:
iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 119 -j REDIRECT --to-port 9119
- No JavaScript.
- Short links works globally
- No message loss even with too large attachment.
- Fully compatible with nntpchan network (except tripcodes, AUTH command, decentralized moderation, DKIM).
- Only images supported for now. One attachment per post.
- SOCKS proxy connection for Tor OR i2p working.
- Flexible control of used disk space and used resources.
- Abstract API for implementing any JVM supported web-frontend (with thread pool or with dynamically spawn threads).
- Impossible to chage HTML templates without recompilation.
- HTTP proxy not supported.
- create another web-frontend with external templates and more minimalistic.
- replace XOVER with new commands.
- Fix XOVER and block empty articles.
$ gpg2 --import pubkey.asc
$ cd webspringboot/target/
$ gpg --verify diboard.jar.sig diboard.jar
fingerprint 24B8 DB4A 109A 254C 1CD8 1629 BBC5 0968 5FC9 36DB