Home
Softono

Diboard

Open source Java
13
Stars
1
Forks
0
Issues
3
Watchers
9 years
Last Commit

 About Diboard

Decentralized ImageBoard

Platforms

Web Self-hosted

Languages

Java

Links

Need Help Installing Diboard?

We provide expert installation service for this software. Our team will install, configure, and secure Diboard on your server. plans start at just $30.

Build Status

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. peering philosophy

Structure:

  1. Import Existing Maven project diboard
  2. Import Existing Maven project dibd - Main core NNTP module that can work independently.
  3. Import Existing Maven project webspringboot - Web-frontend. Spring boot with embedded Tomcat.

System Requirements

  • Min RAM for everything 600MB free.
  • Java 8 JDK.
  • ImageMagic. (used for thumbnails)
  • PostgreSQL or MySQL.

Installation

  1. Install RDBMS: postgresql (or mysql)
  2. 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
  1. configure webspringboot/dibd.conf
  2. install ImageMagic (read https://www.imagemagick.org/script/security-policy.php)
  3. Compile
$ cd diboard
$ mvn clean compile package
  1. 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

Features:

  • 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).

Knews issues:

  • Impossible to chage HTML templates without recompilation.
  • HTTP proxy not supported.

TODO:

  1. create another web-frontend with external templates and more minimalistic.
  2. replace XOVER with new commands.

For nntpchan:

  • Fix XOVER and block empty articles.

jar verification:

$ 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