A website where to share university secret stories.
Accessible only by students and academic people!
- NodeJS v7
sendmailsetup on localhostpythoncpp(The C preprocessor)make
Developed and tested on Ubuntu 16.04. It also works on OSX. Other UNIX based systems should be supported with possibly minor changes.
Run make to install all npm modules.
If it is the first time you setup the server, configuration files will be created for you. You can edit files in config directory to change some settings.
make clean can be used to remove all temporaries
make purge will also clean all configuration
Configuration files will be created under UniSecrets/config
This file specifies server-side settings.
-
admin_emailsan array containing email addresses that will be used to send notifications to system admins -
auto_enable_collegesif set totrue, college domains will be enabled without admin approval -
email_hostnamethe email domain name used to send emails from the server -
hostnamehostname of the server, used by clients to connect via http and ws -
http_portandhttps_portports where to listen -
mail_debug_modewhen set totrueno emails will be sent, but only printed to console -
mail_dkim_privkey,mail_dkim_selector,mail_use_dkimto enable and configure dkim signatures -
ssl_certificate,ssl_privkeypaths to ssl fullchain certificate and private key files if SSL is to be enabled -
use_sslenables SSL -
ws_portport for websocket service to listen
The limiter module specifies limits for all users, such as the number of posts, registration attempts per unit of time. The configuration file can be edited to change the limits if necessary.
Each limit has 4 parameters:
-
locality, can beip(limit applies for the ip used to connect) oruser(limit applies for the user) -
timeframecan betick(1 minute unit) ortock(1 hour unit) after which limits are reset -
sensitivitycan becount(counter is increased for each action taken) orerror(counter is increased only when the action fails, such as login failure) -
limitthe number of attempts before any more actions of the same category are automatically blocked
First time setup is very simple:
-
Start the server
./StartServer -
Direct your browser to
localhost:8080(or the corresponding address if you have changed hostname/port/ssl in the configuration files
You will be redirected automatically to a setup page where you can create an administrator account.
Once completed the setup, your admin account can be used to activate new college emails and approve posts.
Simply run ./StartServer
This project was created by Giulio Jiang and Abraao Mota during the Hackathon ICHack 17.
Warning! This project contains hacks! They are totally hacky in the sense that they are no common practice at all, but that doesn't mean it makes the project less mantainable or understandable (they probably make it better ;) ). Enjoy!