passwall-server

PassWall Server is the core backend infrastructure for PassWall platform

Stars
727
Forks
103
Open issues
13
Closed issues
80
Last release
over 1 year ago
Last commit
9 months ago
Watchers
727
Total releases
18
Total commits
509
Open PRs
4
Closed PRs
103
Repo URL
Platform
License
agpl-3.0
Category
Usecase
Offers premium version?
NO
Proprietary?
NO
About

PassWall Server

PassWall Server is the core backend for open source password manager PassWall platform. Using this server, you can safely store your passwords and access them from anywhere.


Support

I promise all the coffee you have ordered will be spent on this project

Clients

PassWall Server can be used with PassWall Desktop

On Premise Installation

  1. Pull passwall-server image from Docker Hub.

docker pull passwall/passwall-server

  1. Download the docker-compose.yml file and start the server with the following commands.

mkdir $HOME/passwall-server
cd $HOME/passwall-server
wget https://raw.githubusercontent.com/passwall/passwall-server/main/docker-compose.yml
docker-compose up -d

  1. Create a new user with passwall-cli.

docker exec -it passwall-server /app/passwall-cli

  1. Download and install any passwall client you want from paswall.io.
  2. Open your client and write http://localhost:3625 into the server url field. Login with your newly created user information.

API Documentation

API documentation available at Postman Public Directory

Security

  1. PassWall uses The Advanced Encryption Standard (AES) encryption algorithm with Galois/Counter Mode (GCM) symmetric-key cryptographic mode. Passwords encrypted with AES can only be decrypted with the passphrase defined in the config.yml file.

  2. Endpoints are protected with security middlewares against attacks like XSS.

  3. Against SQL injection, PassWall uses Gorm package to handle database queries which clears all queries.

  4. There is rate limiter for signin attempts against brute force attacks.

Environment Variables

These environment variables are accepted:

Server Variables:

  • PORT
  • PW_SERVER_USERNAME
  • PW_SERVER_PASSWORD
  • PW_SERVER_PASSPHRASE
  • PW_SERVER_SECRET
  • PW_SERVER_TIMEOUT
  • PW_SERVER_GENERATED_PASSWORD_LENGTH
  • PW_SERVER_ACCESS_TOKEN_EXPIRE_DURATION
  • PW_SERVER_REFRESH_TOKEN_EXPIRE_DURATION

Database Variables

  • PW_DB_NAME
  • PW_DB_USERNAME
  • PW_DB_PASSWORD
  • PW_DB_HOST
  • PW_DB_PORT
  • PW_DB_LOG_MODE

Hello Contributors

  1. Don't send too much commit at once. It will be easier for us to do a code review.

  2. Be sure to take a look at the dev branch. The version I am working on is there.

  3. First try to fix // TODO:s in the code.

  4. Then you can contribute to the development by following the mile stones.

  5. Don't mess with the user interface. The design guide has not been released yet.

Alternative Projects
No projects found

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.