Skip to content

hakisolos/goPassX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoPassX 🔐

A simple, lightweight password manager written in Go that stores your passwords locally in JSON format.

Features

  • 📝 Add new password entries (website, username, password)
  • 👀 View all saved entries
  • 💾 Local JSON storage (no cloud dependency)
  • 🎨 Friendly command-line interface
  • 🔒 Simple and secure local storage

Installation & Setup

Prerequisites

  • Go 1.16 or higher installed on your system
  • Git (for cloning the repository)

Quick Start

  1. Clone the repository:

    git clone https://github.com/hakisolos/gopassx.git
  2. Navigate to the project directory:

    cd gopassx
  3. Run the application:

    go run main.go

Building the executable

If you want to create a standalone executable:

# Build for your current platform
go build -o gopassx main.go

# Run the executable
./gopassx

Cross-platform builds

# For Windows
GOOS=windows GOARCH=amd64 go build -o gopassx.exe main.go

# For macOS
GOOS=darwin GOARCH=amd64 go build -o gopassx-mac main.go

# For Linux
GOOS=linux GOARCH=amd64 go build -o gopassx-linux main.go

Usage

When you run GoPassX, you'll see a menu with three options:

==== GoPassX - Password Manager 🔐 ====
1. Add new entry
2. View entries
3. Exit
Choose an option (1-3):

Adding a new entry

  1. Select option 1
  2. Enter the website/service name
  3. Enter your username
  4. Enter your password
  5. The entry will be saved to data.json

Viewing entries

  1. Select option 2
  2. All saved entries will be displayed with their details

Exiting

  • Select option 3 to exit the application

File Structure

gopassx/
├── main.go          # Main application code
├── data.json        # Password storage file (created automatically)
└── README.md        # This file

Data Storage

  • Passwords are stored in a local data.json file
  • The file is created automatically when you add your first entry
  • Data format: JSON array of password entries

Example data.json structure:

[
  {
    "website": "github.com",
    "username": "myusername",
    "password": "mypassword123"
  }
]

Security Notes

⚠️ Important Security Considerations:

  • This is a basic password manager for learning/personal use
  • Passwords are stored in plain text in the JSON file
  • For production use, consider implementing encryption
  • Keep your data.json file secure and backed up
  • Don't commit data.json to version control

Development

Project Structure

  • PasswordEntry struct: Defines the data structure for password entries
  • main(): Main application loop and menu
  • addEntry(): Handles adding new password entries
  • viewEntries(): Displays all saved entries
  • saveToFile() & loadFromFile(): Handle JSON file operations

Contributing

Feel free to fork this project and submit pull requests for improvements!

Credits

Created by haki 💖

License

This project is open source. Feel free to use, modify, and distribute as needed.


Stay safe and keep your passwords secure! 🔐✨

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages