REPOSITORY OVERVIEWLive repository statistics
★ 2Stars
⑂ 0Forks
◯ 0Open issues
◉ 2Watchers
42/100
OPENREPOHUB HEALTH SIGNALLimited signals
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
10 Community adoption25% weight
5 Maintenance state20% weight
100 License clarity10% weight
100 Project information10% weight
75 This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview

Hackerfill
Web programming school project. Hackerfill is a platform that provides a collection of articles regarding cybersecurity.
This project can be viewed at https://hackerfill.lukeaz.ml
In case of abuse or malfunction contact me on the email indicated in the profile.
General info
This project was developed for a school project at Eastern Piedmont University during the web programming course.
Technologies
Project includes:
- Nodejs programming language
- Express framework for the web server
- JWT token for the authentication system
- Server side rendering using ejs
- Sqlite3 for database
- Markdown editor for creating articles, editing and displaying them
- Using DOMPurify to avoid xss when converting markdown to html
- Using char.js for leaderboard
- Using fontawesome for some icons
- CONFIGURE THE APPLICATION
Certificates for authentication by JWT and for HTTPS are already in place.
Generate certificates for JWT authentication
- enter with the terminal in the /config folder
- have openssl installed and configured in the path
- generate certificates with
./generatejwtRS256Key.sh by bash
Generate certificates for HTTPS
- enter with the terminal in the /config folder
- have openssl installed and configured in the path
- generate certificates with
./generateMyCa.sh by bash
Port used by express
- open the config.json file located in /config.
- change the PORT field to the desired port.
- if you use the docker the command to build the container must contain the correct port forwadding.
Argon2i Configuration
- open the config.json file located in /config.
- modify the argon parameters following the correct specifications indicated on the official site (in case of modification of these parameters it will no longer be possible to access users already registered because the hash of the password saved in the database will no longer be valid).
Deleting hackerfill.db file
- If the database is deleted it will be automatically initialized and filled (attention: the folders of the articles and the associated materials will not be recreated, for the repopulation by default the articles folder should not be deleted).
- START THE APPLICATION
Standard method:
- have nodejs installed
- open the terminal and move to the project folder.
- have gcc compiler installed and then install node-gyp with:
npm install -g node-gyp.
- install dependencies with
npm install.
- start the application with
npm start.
Using the docker from cli:
- have docker installed.
- open terminal and move to the project folder.
- build the container image:
sudo docker build . -t luca/hackerfill.
- build the container (it will be started automatically):
sudo docker run -p 3000:3000 --name Hackerfill -d luca/hackerfill.
- see running containers:
sudo docker ps.
- start container:
docker start [container id].
- shut down container:
docker stop [container id].
- remove container:
docker rm [container id].
- see the built images:
docker images -a.
- delete image:
docker rmi luca/hackerfill.
- Users
Here are the users present by default:
| Username | Password | Ruolo |
|---|
| lukeaz | Hackerfill_00 | advertiser |
| radolfo | Hackerfill_00 | advertiser |
| giova | Hackerfill_00 | advertiser |
| granfranco | Hackerfill_00 | advertiser |
| tommy | Hackerfill_00 | advertiser |
| giuse | Hackerfill_00 | advertiser |
| marcello | Hackerfill_00 | advertiser |
| paolo | Hackerfill_00 | advertiser |
| gianluca | Hackerfill_00 | advertiser |
| virgilio | Hackerfill_00 | reader |
| luigi | Hackerfill_00 | reader |
