Skip to content

rsPass is a modern, secure password manager backend written in Rust

Notifications You must be signed in to change notification settings

Letgamer/rsPass

Repository files navigation

rsPass Backend 🦀

GitHub commit activity GitHub top language Github LOC GitHub Actions Workflow Status GitHub repo size Docker Open Source Love svg1 HitCount

rsPass is a modern, secure password manager backend written in Rust with a focus on performance, security, and scalability. 🚀
It provides a REST API to manage user authentication, password storage, and secure data synchronization. 📚
rsPass leverages SQLite for data storage, JWT for authentication, and integrates with Swagger-UI for API documentation. ✨

Features

  • User Management: Secure registration, login, and password change.
  • Data Encryption: Stores user-specific data in an encrypted format.
  • JWT Authentication: Stateless and secure authentication mechanism.
  • Swagger-UI Integration: Built-in API documentation.
  • Environment Configuration: Flexible setup using environment variables.
  • Database Transactions: Ensures data consistency using rusqlite transactions.
  • Security by Design: Input validation, SQL injection prevention, and Argon2id for password hashing.

Technology Stack

  • Rust: The programming language powering rsPass.
  • actix-web: Web framework for building the REST API.
  • rusqlite: Lightweight SQLite library for database operations.
  • JWT: Token-based authentication using actix-web-httpauth.
  • utoipa: API documentation generation.
  • Swagger-UI: Interactive API explorer.

Development

Prerequisites

  • Rust (latest stable version)
  • Docker (optional, for containerized setup)

Setup

Clone the repository:

git clone https://github.com/yourusername/rspass-backend.git
cd rspass-backend

Set up the environment variables: Create a .env file in the root directory:

JWT_SECRET=your_jwt_secret_key

Run the programm:

cargo watch -x run

API Documentation

rsPass integrates with Swagger-UI for API documentation.
After starting the server, navigate to https:///swagger-ui to explore the available endpoints.

Deployment

The Backend can be deployed using Docker:

docker pull ghcr.io/letgamer/rspass:main

A docker-compose example file can also be found at docker-compose.yaml.

Routes

See the Wiki for detailed Documentation about the Routes and API Logic

About

rsPass is a modern, secure password manager backend written in Rust

Resources

Stars

Watchers

Forks

Packages