Homburg is a backend solution for creating and managing forum platforms. It employs a proof-of-concept authentication system with asymmetric post-quantum cryptography, eliminating the need for traditional IDs and passwords. This approach not only enforces privacy (against leaks) but also ensures protection against spoofing attacks, including those that could be perpetrated by the platform admins.
Designed with simplicity and ease-of-use in mind, Homburg also offers robust configuration and management, providing endpoints for adminitrators to effectively control the forum environment.
Statistics:
Language | Files | Lines | Blanks | Comments |
---|---|---|---|---|
Go | 13 | 440 | 105 | 58 |
Markdown | 3 | 132 | 39 | 0 |
Bash | 1 | 40 | 8 | 1 |
Total | 17 | 612 | 152 | 59 |
Features:
Feature | Status | Description |
---|---|---|
PGA | 🔲 In progress | Authentication based on asymmetric cryptography. |
Forum & Thread | 🔳 Planned | CRUD endpoints for forums and threads. |
Post | 🔳 Planned | CRUD endpoints for posts. |
Markdown | 🔳 Planned | Markdown syntax support for posts. |
Reporting | 🔳 Planned | Reporting system for posts and profile pictures. |
Admin panel | 🔳 Planned | Endpoints for easy management by the admin. |
Filter keywords | 🔳 Planned | Block and/or filter keyword rules for posts. |
Likes | 🔳 Planned | Like system for posts |
User titles | 🔳 Planned | User title system according to a set rule of achievements. |
Captcha | 🔳 Planned | Captcha support. |
Email notification | 🔳 Planned | Configuration options to send a notification email to the user when something happens. |
Install the dependencies:
$ go get .
Configure the SQL server:
$ sudo vim /etc/postgresql-16/postgresql.conf
# uncomment or add the following lines:
listen_addresses = 'localhost'
port = 9900
$ sudo vim /etc/postgresql-16/pg_hba.conf # if exists
# change to
local all postgres trust
local all all md5
$ sudo rc-service postgresql-16 start
Run the server:
$ ./reset.sh
$ go run .
The available frontend are listed below:
- None.
You can also implement your own following the REST API documentation.
REST api | DEV guide | USER guide |
---|---|---|
English | - | - |
Português | - | - |
Français | - | - |
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as needed. See the LICENSE file for more information.