A minimal and self-standing binary that serve comments for statically generated websites (Octopress and others...). Comments are stored in a JSON file. Full C++ project using the Wt Web Framework. No dependancy https://gitorious.org/wt-comments/wt-comments

Timothée Ravier 0f6eb1dfdd sendemail: use sendmail instead of mail 4 years ago
octopress 0e43306ac5 octopress: properly fix the integration on firefox/chromium 6 years ago
systemd c3090e8e86 Fix systemd service for the WtHTTP version 6 years ago
test 3a45d11151 test: add sample files for basic testing 4 years ago
CMakeLists.txt e4d34b2690 CMake 3.0 hack 4 years ago
INSTALL 0f6eb1dfdd sendemail: use sendmail instead of mail 4 years ago
README cd91208ebe Move install doc sections from README to INSTALL 4 years ago
comment.cpp dc1fdd7ccc Minor whitespace fix 4 years ago
comment.h 4b3e1685e8 Use #pragma once in headers 4 years ago
commentsdb.cpp dc1fdd7ccc Minor whitespace fix 4 years ago
commentsdb.h 4b3e1685e8 Use #pragma once in headers 4 years ago
config.cpp 94793fce43 Use config file to set website name and url 4 years ago
config.h 94793fce43 Use config file to set website name and url 4 years ago
main.cpp dc1fdd7ccc Minor whitespace fix 4 years ago
sendemail.cpp 0f6eb1dfdd sendemail: use sendmail instead of mail 4 years ago
sendemail.h 4b3e1685e8 Use #pragma once in headers 4 years ago
unsubscribe.cpp b6dd451ded Improve include order and header name definitions 4 years ago
unsubscribe.h 4b3e1685e8 Use #pragma once in headers 4 years ago
util.cpp 6226294619 ease file manipulation by changing CWD to the binary's folder 6 years ago
util.h 4b3e1685e8 Use #pragma once in headers 4 years ago
view.cpp 7419956dbe view: say that the notification email is optional 4 years ago
view.h 4b3e1685e8 Use #pragma once in headers 4 years ago

README

# Wt Comments

Wt Comments is a project that was written in order to allow users to comment on
static websites (such as http://www.mupuf.org).

The goal was to create a secure, minimal and self-standing binary that would
serve user's comments as needed. These comments are to be stored in a JSON
file.

I wanted a program that would run under a specific UID (using FCGI or a
built-in http server) and that would provide strong separation between
code and data in order to limit the risks posed by this service to the system.

I decided to write this project in Wt, a C++ Web Framework that I have been
looking into using for a while now, because it satisfied all my
pre-requirements and allowed the usage of hardware and gcc security features
such as the NX bit and canaries.

The program has been written with portability in mind. However, it is currently
limited to Linux due to one simple function (getExeDirectory()). Feel free to
send me patches ;)

## Dependencies, Installation, Execution

Please have a look at INSTALL and if necessary systemd/README (systemd is
completely optional and only used for managing the Wt process).

## Octopress integration

Please have a look at octopress/REAME.

## Upgrade notes

Before commit 8869027, comment thread database files were named by the full URL
including the protocol used to access the comments. Thus if you served your
blog on both HTTP and HTTPS, comments were split across two files. Starting
from commit 8869027, the protocol is stripped but Wt-comments won't strip
previous comment thread filenames. In order to keep old comments you should
just rename (and eventually merge) those files manually.