{"id":25132887,"url":"https://github.com/dongitran/esp32pass","last_synced_at":"2026-04-11T07:43:44.494Z","repository":{"id":276469832,"uuid":"929340557","full_name":"dongitran/Esp32Pass","owner":"dongitran","description":"A minimalist, secure, and offline password manager running on ESP32","archived":false,"fork":false,"pushed_at":"2025-02-08T12:24:43.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T13:28:40.943Z","etag":null,"topics":["arduino","embedded","esp32","platformio"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dongitran.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-08T10:15:47.000Z","updated_at":"2025-02-08T12:26:33.000Z","dependencies_parsed_at":"2025-02-09T20:45:11.677Z","dependency_job_id":null,"html_url":"https://github.com/dongitran/Esp32Pass","commit_stats":null,"previous_names":["dongitran/esp32pass"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dongitran%2FEsp32Pass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dongitran%2FEsp32Pass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dongitran%2FEsp32Pass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dongitran%2FEsp32Pass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dongitran","download_url":"https://codeload.github.com/dongitran/Esp32Pass/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246916762,"owners_count":20854514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","embedded","esp32","platformio"],"created_at":"2025-02-08T15:18:50.910Z","updated_at":"2026-04-11T07:43:44.454Z","avatar_url":"https://github.com/dongitran.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32Pass 🔐\n\nA minimalist, secure, and offline password manager running on ESP32. Store your passwords locally with PIN protection and SHA-256 hashing.\n\n![System Overview](https://s0.dtur.xyz/cover/esp32-password-manager-1.jpg)\n\n## Features ✨\n\n- 🔒 PIN-based authentication with SHA-256 hashing\n- 💾 Local storage using SPIFFS (SPI Flash File System)\n- 📝 JSON-based password management\n- 🖥️ Simple Serial Terminal interface\n- ⚡ Fast and efficient operation\n- 🛡️ Offline security - no network connection required\n\n## Requirements 🛠️\n\n### Hardware\n- ESP32 development board (tested on ESP32-C3-DevKitC-02)\n- USB cable for power and communication\n\n### Software\n- PlatformIO\n- Arduino framework\n- Required libraries:\n  - ArduinoJson (^7.3.0)\n  - Built-in ESP32 libraries (SPIFFS, mbedtls)\n\n## Installation 📥\n\n1. Clone this repository:\n```bash\ngit clone https://github.com/dongitran/Esp32Pass.git\n```\n\n2. Open the project in PlatformIO\n\n3. Build and upload to your ESP32:\n```bash\npio run -t upload\n```\n\n4. Open serial monitor at 115200 baud rate\n\n## Usage 📖\n\n### First Time Setup\n1. Connect to your ESP32 using a serial terminal (115200 baud)\n2. Create a PIN when prompted\n3. Use the PIN to authenticate and access the password manager\n\n### Available Commands\n- `create` : Add a new password\n- `get`    : Retrieve a stored password\n- `delete` : Remove a password\n- `list`   : Show all stored passwords\n- `info`   : Display system information\n\n### Example Usage\n```\nEnter new PIN \u003e ****\n✓ PIN created successfully!\n\n\u003e create\nEnter password name \u003e github\nEnter password for 'github' \u003e super_secret_456\n✓ Password saved successfully!\n```\n\n## Security Features 🛡️\n\n- PIN is hashed using SHA-256 before storage\n- Passwords are stored in protected SPIFFS storage\n- Offline operation prevents network-based attacks\n- System limitations to prevent memory attacks:\n  - Maximum 32 characters for password names\n  - Maximum 8000 characters per password\n  - Maximum 1000 stored passwords\n  - Maximum 100KB total storage\n\n## Contributing 🤝\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License 📄\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdongitran%2Fesp32pass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdongitran%2Fesp32pass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdongitran%2Fesp32pass/lists"}