Skip to content

ZeroJayLabs/VaultForge

Repository files navigation

Vault Forge

Vault Forge is a small self-hosted password generator for a LAN server. It gives you:

  • A browser UI at http://your-server-ip:8080
  • A JSON endpoint at /api/generate
  • Docker Compose deployment for an Ubuntu VM or Docker host
  • Windows 11 right-click integration that copies a generated password to the clipboard

Passwords are generated with cryptographic randomness. The browser uses Web Crypto, and the server endpoint uses Node.js crypto.randomInt.

Local project path on this machine:

C:\Projects\VaultForge

Run On Your Ubuntu Docker Server

Copy this project folder to the server, then run:

docker compose up -d --build

Open:

http://YOUR_SERVER_IP:8080

Health check:

curl http://YOUR_SERVER_IP:8080/health

Generate from the API:

curl "http://YOUR_SERVER_IP:8080/api/generate?length=24&symbols=true&avoidAmbiguous=true"

If you use a local DNS name such as vault-forge.local, make sure your Windows PC can resolve it. The server IP works fine too.

If PowerShell says docker is not recognized right after installing Docker Desktop, close and reopen the terminal. You can also run Docker directly from:

& "C:\Program Files\Docker\Docker\resources\bin\docker.exe" compose up -d --build

Add Windows 11 Context Menu Action

From PowerShell on your Windows PC, run:

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
.\windows\Install-ContextMenu.ps1 -ServerUrl "http://YOUR_SERVER_IP:8080" -Length 24

Then right-click the desktop or a folder background and choose Vault Forge > Generate Password (24). The password is copied to your clipboard.

The submenu also includes Vault Forge > Open Vault Forge, which opens the configured server URL in your default browser.

The context-menu action runs PowerShell hidden and shows a small auto-dismissing notification when the password is copied. Explorer launches the password action through Windows Script Host so no PowerShell console window appears.

Notification mode is configurable:

.\windows\Install-ContextMenu.ps1 -ServerUrl "http://YOUR_SERVER_IP:8080" -Length 24 -Notification Popup
.\windows\Install-ContextMenu.ps1 -ServerUrl "http://YOUR_SERVER_IP:8080" -Length 24 -Notification Toast
.\windows\Install-ContextMenu.ps1 -ServerUrl "http://YOUR_SERVER_IP:8080" -Length 24 -Notification Auto
.\windows\Install-ContextMenu.ps1 -ServerUrl "http://YOUR_SERVER_IP:8080" -Length 24 -Notification None

Remove the menu entries:

.\windows\Uninstall-ContextMenu.ps1

Windows 11 may place classic registry context-menu entries under Show more options depending on your Explorer configuration.

Local Development

npm install
npm run dev

Build and run the production server locally:

npm run build
npm start

Then open http://localhost:8080.

About

Generate secure passwords from the Windows context menu and share them securely through a self-hosted web interface.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors