CSC842 mirror of private Github repo
Find a file
2023-05-26 18:04:31 -07:00
ghostforge Replaced rolled-own/argon2 with fastapi-users, oof 2023-05-26 18:04:31 -07:00
migrations Replaced rolled-own/argon2 with fastapi-users, oof 2023-05-26 18:04:31 -07:00
.dockerignore Preparing to setup fastapi-users 2023-05-26 11:25:42 -07:00
.DS_Store Layout work. Learning how to Alembic. 2023-05-25 18:33:08 -07:00
.env.sample Layout work. Learning how to Alembic. 2023-05-25 18:33:08 -07:00
.flake8 Basic JWT endpoints 2023-05-23 17:14:49 -07:00
.gitignore Layout work. Learning how to Alembic. 2023-05-25 18:33:08 -07:00
.pre-commit-config.yaml Migrate to pyproject, add black/flake8/bandit/etc. 2023-05-23 14:33:32 -07:00
alembic.ini Preparing to setup fastapi-users 2023-05-26 11:25:42 -07:00
docker-compose.yml Layout work. Learning how to Alembic. 2023-05-25 18:33:08 -07:00
Dockerfile Replaced rolled-own/argon2 with fastapi-users, oof 2023-05-26 18:04:31 -07:00
ghostforge.png Preparing to setup fastapi-users 2023-05-26 11:25:42 -07:00
LICENSE Migrate to pyproject, add black/flake8/bandit/etc. 2023-05-23 14:33:32 -07:00
pyproject.toml Replaced rolled-own/argon2 with fastapi-users, oof 2023-05-26 18:04:31 -07:00
README.md Preparing to setup fastapi-users 2023-05-26 11:25:42 -07:00

ghostforge Logo

ghostforge

ghostforge manages false identity information for privacy prudent persons.

tl;dr it's a fancy DB frontend with sensible design, tailored features, and a nice UX.

DeploymentFrequently Asked QuestionsContributingLicense

Deployment

Installation instructions are only provided for docker-based deployment. For manual deployment, you'll need to set environment variables (see .env) for database access before running ghostforge yourself.

using docker

You'll need docker-compose installed or you can convert the contents of docker-compose.yml into docker run commands yourself. Install and run ghostforge with something like:

git clone https://github.com/darrylnixon/ghostforge.git && \
cd ghostforge && \
cp .env.sample .env && \
PW=$(/usr/bin/env python3 -c "import secrets; print(secrets.token_urlsafe(32))") /bin/bash -c 'sed -i "" "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$PW/" .env' && \
JWT=$(/usr/bin/env python3 -c "import secrets; print(secrets.token_urlsafe(32))") /bin/bash -c 'sed -i "" "s/^GHOSTFORGE_JWT_SECRET=.*/GHOSTFORGE_JWT_SECRET=$JWT/" .env';
docker-compose up --detach --build;
docker exec --interactive --tty ghostforge ghostforge_adduser;

Follow the prompts to create an administrator user. Assuming you didn't change the default port, browse to http://localhost:1337/ to begin using ghostforge with your new credentials.

FAQ

What problem does ghostforge solve?

TODO

What's your roadmap?

TBD

Why did you select MIT? You use GPLv3 in other projects.

While GPLv3 still gives you the right to use, modify, and share this code, I know ghostforge would be useful to researchers and enthusiasts that need to tailor it to niche, particular, or sensitive use cases. Recognizing this, MIT seemed the best fit.

Contributing

If you would like to contribute to this project, feel free to submit a pull request or open an issue on GitHub.

This tool was written as part of my coursework for CSC 842 - Security Tool Development at Dakota State University. Consequently, I may choose not to maintain this tool beyond the length of the course, but have selected a license that enables open contributions in any case.

License

This project is licensed under the MIT License. See the LICENSE file for details.