Categorygithub.com/MangoLambda/KeyLox-Server
module
0.0.0-20241203030213-eb26ef57bc4e
Repository: https://github.com/mangolambda/keylox-server.git
Documentation: pkg.go.dev

# README

KeyLox-Server

KeyLox-Server is a server designed for the KeyLox password manager. It allows credentials synchronization between clients, ensuring that your passwords and other sensitive information are securely stored and synchronized across multiple devices.

Features

  • User Registration: Register new users with secure password hashing and salting.
  • User Authentication: Authenticate users securely.
  • Vault Management: Create and manage vaults for storing credentials.
  • Credentials Synchronization: Synchronize credentials between multiple clients.
  • RESTful API: Provides a RESTful API for interacting with the server.
  • Swagger Documentation: Includes Swagger documentation for easy API exploration.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/KeyLox-Server.git
    cd KeyLox-Server
    
  2. Install dependencies: Ensure you have Go installed. Then, install the required Go packages:

    go mod tidy
    
  3. Set up the database: The server uses SQLite for storage. Ensure you have SQLite installed. The database will be created automatically when you run the server.

Usage

  1. Run the server:

    go run main.go
    
  2. Access the API: The server will be running on http://localhost:8080. You can use tools like curl, Postman, or your web browser to interact with the API.

  3. Swagger Documentation: Access the Swagger documentation at http://localhost:8080/swagger/index.html to explore the API endpoints and their usage.

API Endpoints

User Endpoints

  • Register a new user:

    POST /register
    

    Request Body:

    {
        "username": "example_user",
        "key": "base64_encoded_key",
        "clientSalt": "base64_encoded_salt"
    }
    
  • Get user details:

    GET /user/{username}
    

Vault Endpoints

  • Get vault details:
    GET /vault/{username}
    

Contributing

Contributions are welcome! Please fork the repository and submit pull requests.

License

This project is licensed under the MIT License.

Acknowledgements

  • Chi for the HTTP router.
  • SQLite for the database.
  • Swagger for API documentation.

Contact

For any questions or suggestions, please open an issue or contact the repository owner.

# Packages

No description provided by the author