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.
- 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.
-
Clone the repository:
git clone https://github.com/yourusername/KeyLox-Server.git cd KeyLox-Server -
Install dependencies: Ensure you have Go installed. Then, install the required Go packages:
go mod tidy
-
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.
-
Run the server:
go run main.go
-
Access the API: The server will be running on
http://localhost:8080. You can use tools likecurl, Postman, or your web browser to interact with the API. -
Swagger Documentation: Access the Swagger documentation at
http://localhost:8080/swagger/index.htmlto explore the API endpoints and their usage.
-
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}
- Get vault details:
GET /vault/{username}
Contributions are welcome! Please fork the repository and submit pull requests.
This project is licensed under the MIT License.
For any questions or suggestions, please open an issue or contact the repository owner.