{"id":46619147,"url":"https://github.com/makepkg/securegen","last_synced_at":"2026-05-11T22:01:07.159Z","repository":{"id":319717218,"uuid":"1023083895","full_name":"makepkg/SecureGen","owner":"makepkg","description":"🔐 Hardware TOTP Authenticator \u0026 Password Manager | 8-layer security | AES-256 | BLE Keyboard | Offline | ESP32 T-Display | T-Display S3","archived":false,"fork":false,"pushed_at":"2026-04-29T16:21:44.000Z","size":76607,"stargazers_count":56,"open_issues_count":2,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-29T17:29:39.341Z","etag":null,"topics":["2fa","aes-256","air-gapped","arduino","authentication","ble","bluetooth-le","embedded","encryption","esp32","hardware","iot","lilygo","offline","password-manager","platformio","security","t-display","totp","two-factor-authentication"],"latest_commit_sha":null,"homepage":"https://github.com/makepkg/SecureGen","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/makepkg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"Unix-like-SoN","custom":["Crypto: USDT BEP-20: 0x4f85f29892b261fa8029f3cfd64211e166744733","Crypto: USDT TRC-20: TDnjDg9HxySo1J2FPSrvWQejyZ4gHKiXSJ"]}},"created_at":"2025-07-20T13:47:28.000Z","updated_at":"2026-04-29T16:27:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"7905b11b-255c-404b-be8f-d4444967ea9e","html_url":"https://github.com/makepkg/SecureGen","commit_stats":null,"previous_names":["unix-like-son/esp32-t-display-totp","unix-like-son/securegen","makepkg/securegen"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/makepkg/SecureGen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makepkg%2FSecureGen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makepkg%2FSecureGen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makepkg%2FSecureGen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makepkg%2FSecureGen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makepkg","download_url":"https://codeload.github.com/makepkg/SecureGen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makepkg%2FSecureGen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32914533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"ssl_error","status_checked_at":"2026-05-11T17:08:45.420Z","response_time":120,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["2fa","aes-256","air-gapped","arduino","authentication","ble","bluetooth-le","embedded","encryption","esp32","hardware","iot","lilygo","offline","password-manager","platformio","security","t-display","totp","two-factor-authentication"],"created_at":"2026-03-07T21:05:42.241Z","updated_at":"2026-05-11T22:01:07.152Z","avatar_url":"https://github.com/makepkg.png","language":"C","funding_links":["https://github.com/sponsors/Unix-like-SoN","Crypto: USDT BEP-20: 0x4f85f29892b261fa8029f3cfd64211e166744733","Crypto: USDT TRC-20: TDnjDg9HxySo1J2FPSrvWQejyZ4gHKiXSJ","https://github.com/sponsors/makepkg"],"categories":[],"sub_categories":[],"readme":"# ESP32 T-Display Multifunctional Security Device\n\n\u003cdiv align=\"center\"\u003e\n\n**Open-source hardware security device featuring TOTP Authenticator and Password Manager with BLE/USB HID**\n\n*Supports T-Display ESP32 and T-Display-S3*\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PlatformIO](https://img.shields.io/badge/PlatformIO-Compatible-orange.svg)](https://platformio.org/)\n[![ESP32](https://img.shields.io/badge/ESP32-Powered-blue.svg)](https://www.espressif.com/)\n\n[![YouTube](https://img.shields.io/badge/YouTube-Demo-red?logo=youtube)](https://www.youtube.com/watch?v=YTVQBwgok_E)\n[![Hackster](https://img.shields.io/badge/Hackster.io-Featured-00979D?logo=hackster)](https://www.hackster.io/makepkg/securegen-open-source-totp-authenticator-password-manager-c350d6)\n[![Dev.to](https://img.shields.io/badge/Dev.to-Blog-0A0A0A?logo=dev.to)](https://dev.to/makepkg)\n[![Product Hunt](https://img.shields.io/badge/Product_Hunt-Launched-DA552F?logo=producthunt\u0026logoColor=white)](https://www.producthunt.com/products/securegen-2)\n[![Flash Online](https://img.shields.io/badge/Flash-Online-brightgreen?logo=espressif)](https://makepkg.github.io/SecureGen/flash)\n[![Languages](https://img.shields.io/badge/Languages-EN%20%7C%20RU%20%7C%20DE%20%7C%20ZH%20%7C%20ES-informational)](#)\n\n[Video Demo](#-video-demo) • [Features](#-key-features) • [Installation](#-quick-start) • [Documentation](#-documentation) • [Security](#-security) • [Support](#-support)\n\n\u003c/div\u003e\n\n---\n\n## 📸 Device Gallery\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/screenshots/photos/dual-board-on.jpg\" alt=\"T-Display ESP32 \u0026 S3 in Action\" width=\"80%\"/\u003e\n  \u003cbr/\u003e\n  \u003cb\u003eT-Display ESP32 \u0026 S3 — Dual Board Showcase\u003c/b\u003e\n  \u003cbr/\u003e\n  \u003ci\u003eESP32 (left) running TOTP authenticator · S3 (right) running password manager with larger 1.9\" display\u003c/i\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n### Device Features \u0026 Modes\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/totp-dark-mode.jpg\" alt=\"TOTP Dark Theme\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eTOTP Mode (Dark Theme)\u003c/b\u003e\n      \u003cbr/\u003eReal-time authentication codes\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/totp-light-mode.jpg\" alt=\"Light Theme\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eTOTP Mode (Light Theme)\u003c/b\u003e\n      \u003cbr/\u003eCustomizable display themes\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/hotp-light-mode.jpg\" alt=\"HOTP Light Theme\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eHOTP Mode (Light Theme)\u003c/b\u003e\n      \u003cbr/\u003eCounter-based authentication\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/password-manager-mode.jpg\" alt=\"Password Manager\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003ePassword Manager Mode\u003c/b\u003e\n      \u003cbr/\u003eSecure offline password vault\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/esp32-s3.jpg\" alt=\"T-Display-S3\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eT-Display-S3 Close-up\u003c/b\u003e\n      \u003cbr/\u003e1.9\" display, USB HID support\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/qr-code-export.jpg\" alt=\"QR Export\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eQR Code Export\u003c/b\u003e\n      \u003cbr/\u003eExport keys directly from display\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Hardware \u0026 Settings\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/dual-board-off.jpg\" alt=\"Hardware Comparison\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eHardware Comparison\u003c/b\u003e\n      \u003cbr/\u003eESP32 (1.14\") vs S3 (1.9\")\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/battery-status.jpg\" alt=\"Battery Status\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eBattery \u0026 Status\u003c/b\u003e\n      \u003cbr/\u003eReal-time monitoring\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/ble-security-pin.jpg\" alt=\"BLE Security\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eBLE Security Mode\u003c/b\u003e\n      \u003cbr/\u003eEncrypted wireless transmission\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/boot-mode-prompt.jpg\" alt=\"Boot Mode Selection\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eBoot Mode Selection\u003c/b\u003e\n      \u003cbr/\u003eWiFi / AP / Offline at startup\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/photos/factory-reset.jpg\" alt=\"Factory Reset\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eFactory Reset\u003c/b\u003e\n      \u003cbr/\u003eSecure data wiping\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Web Management Interface\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/screenshots/web-dashboard.png\" alt=\"Web Dashboard\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eDashboard\u003c/b\u003e\n      \u003cbr/\u003eSecure web access\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/screenshots/web-totp-management.png\" alt=\"TOTP Management\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eTOTP Management\u003c/b\u003e\n      \u003cbr/\u003eQR code scanning \u0026 bulk import\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/screenshots/web-password-vault.png\" alt=\"Password Vault\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003ePassword Vault\u003c/b\u003e\n      \u003cbr/\u003eEncrypted storage \u0026 search\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/screenshots/web-security-settings.png\" alt=\"Security Settings\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eSecurity Settings\u003c/b\u003e\n      \u003cbr/\u003ePIN \u0026 authentication config\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/screenshots/web-device-config.png\" alt=\"Device Config\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eDevice Configuration\u003c/b\u003e\n      \u003cbr/\u003eNetwork \u0026 display settings\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"33%\"\u003e\n      \u003cimg src=\"assets/screenshots/screenshots/pass-generation.png\" alt=\"Password Generator\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003ePassword Generator\u003c/b\u003e\n      \u003cbr/\u003eAdvanced generation \u0026 statistics\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🎥 Video Demo\n\n\u003cdiv align=\"center\"\u003e\n\n[![SecureGen Demo Video](https://img.youtube.com/vi/YTVQBwgok_E/maxresdefault.jpg)](https://www.youtube.com/watch?v=YTVQBwgok_E)\n\n**Watch the full demonstration** — TOTP generation, password management, BLE keyboard, and web interface.\n\n[▶️ Watch on YouTube](https://www.youtube.com/watch?v=YTVQBwgok_E)\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cimg src=\"assets/screenshots/gifs/t-display-spining.gif\" alt=\"T-Display Device\" width=\"50%\"/\u003e\n\n\u003c/div\u003e\n\n---\n\n## ✨ Key Features\n\n### 🔐 TOTP / HOTP Authenticator\n- Compatible with Google Authenticator, Microsoft Authenticator, Authy, and all RFC 6238 / RFC 4226 services\n- SHA1 / SHA256 / SHA512, 6 and 8 digit codes, 30s and 60s periods\n- HOTP counter-based codes with automatic counter increment\n- Add keys via QR code scan (camera or file), manual entry, or bulk import\n- Export any key as QR code — displayed on the device screen and in the web interface\n- Encrypted storage with unique per-device key\n\n### 🔑 Password Manager\n- Offline encrypted vault — works without any network connection\n- **BLE HID keyboard** (ESP32 \u0026 S3): types passwords directly into any device, no clipboard\n- **USB HID keyboard** (S3 only): native USB connection, no pairing needed\n- PIN protection for BLE transmission\n- Encrypted export/import for backup and migration\n\n### 🌐 Web Management Interface\n- Runs on the device itself — no cloud, no external servers\n- Full TOTP and password management from any browser\n- Password generator with complexity settings\n- Three network modes: WiFi client, AP hotspot, or fully offline\n- Multilingual interface — English, Russian, German, Chinese (Simplified), and Spanish\n\n### 🎨 Display \u0026 Themes\n- Light and dark themes, switchable from the web interface\n- Custom splash screens on boot\n- Battery indicator and WiFi status always visible\n\n### ⚡ Hardware\n\n**Supported Boards:**\n- **T-Display ESP32** — dual-core 240MHz, 1.14\" SPI display (135×240), BLE HID keyboard\n- **T-Display-S3** — dual-core 240MHz, 1.9\" parallel display (170×320), 8MB PSRAM, **USB HID + BLE HID** keyboard support\n\n**Features:**\n- Battery monitoring with real-time voltage and percentage\n- Deep sleep and light sleep power saving\n- **DS3231 RTC module support** — accurate offline timekeeping without WiFi; enables TOTP in AP and Offline modes\n- **USB HID on S3** — type passwords via native USB connection (no BLE pairing needed), better performance with AES encryption\n\n---\n\n## 🛡️ Security\n\nAll sensitive data is encrypted with AES-256 using a unique per-device key derived from your PIN via PBKDF2-HMAC-SHA256. The web interface runs over an HTTPS-like encrypted channel (ECDH P-256 key exchange + AES-256-GCM) — works even in AP mode without certificates.\n\n**8 layers of web protection:** key exchange → session encryption → URL obfuscation → header obfuscation → decoy traffic → method tunneling → timing protection → honeypot endpoints.\n\n**Device security:** PIN with persistent lockout (5 attempts across reboots), secure memory wipe before deep sleep, encrypted BLE pairing.\n\n### Known Limitations\n- PBKDF2 iteration count (25,000) is below OWASP 2023 recommendations due to ESP32 hardware constraints\n- No hardware secure enclave or secure boot by default\n- Active MITM on initial ECDH exchange is not detectable without a server certificate\n\n→ [Security Overview](docs/development/security/SECURITY_OVERVIEW.md) — full security summary  \n→ [Security Model](docs/development/security/security_model.md) — technical reference for developers and auditors\n\n---\n\n## 🎮 Device Controls\n\n| Button | Action | Function |\n|--------|--------|----------|\n| **Button 1** (Top) | Short press | Previous item |\n| | Long press 2s | Switch TOTP ↔ Password Manager |\n| **Button 2** (Bottom) | Short press | Next item |\n| | Long press 5s | Power off (deep sleep) |\n| **Both buttons** | 2s in Password Mode | Activate BLE keyboard |\n| | 5s on PIN screen | Shutdown |\n| | 5s on boot | Factory reset |\n\nWake from sleep: press Button 2.\n\n---\n\n## 🚀 Quick Start\n\n### Requirements\n- [PlatformIO](https://platformio.org/platformio-ide) (VS Code extension)\n- LILYGO® TTGO T-Display ESP32 **or** T-Display-S3\n- USB-C cable\n\n### ⚡ No tools? Flash from browser\n[**→ Web Flasher**](https://makepkg.github.io/SecureGen/flash) — Chrome/Edge + USB, no install needed  \n[**→ User Guide**](https://makepkg.github.io/SecureGen/guide)  \n[**→ Decrypt Export Tool**](https://makepkg.github.io/SecureGen/tools)\n\n### Install\n\n```bash\ngit clone https://github.com/makepkg/SecureGen.git\ncd SecureGen\n\n# Open in VS Code with PlatformIO extension\n\n# For T-Display ESP32:\npio run -e lilygo-t-display -t upload\n\n# For T-Display-S3:\npio run -e lilygo-t-display-s3 -t upload\n```\n\n### First Boot\n\n1. Device creates AP `ESP32-TOTP-Setup` → connect and open `192.168.4.1`\n2. Enter WiFi credentials\n3. Set administrator password and optional PIN\n4. Device syncs time via NTP and is ready\n\n→ [Complete User Manual](docs/user/GUIDE.html) for detailed setup and usage\n\n---\n\n## 📚 Documentation\n\n\u003e 🔌 **Want to run SecureGen on your own hardware?**  \n\u003e See the [Hardware Porting Guide](docs/development/PORTING.md) — hardware requirements, step-by-step board setup, and which `#ifdef` to touch.\n\n| Document | Audience |\n|----------|----------|\n| [User Manual](docs/user/GUIDE.html) | All users — setup, operation, features |\n| [Operating Modes](docs/user/MODES.md) | Network and display mode reference |\n| [Decrypt Export Tool](docs/user/decrypt-export-guide.md) | Offline backup decryption |\n| [Security Overview](docs/development/security/SECURITY_OVERVIEW.md) | Security summary |\n| [Security Model](docs/development/security/security_model.md) | Full technical security reference |\n| [API Endpoints](docs/development/ENDPOINTS.md) | Developer API reference |\n| [System Design](docs/development/system_design.md) | Architecture and boot sequence |\n| [Logging System](docs/development/LOGGING_SYSTEM.md) | Debug and log configuration |\n| [Multi-Board Support](docs/development/multi-board.md) | Internal multi-board development rules (for maintainers) |\n| [Hardware Porting Guide](docs/development/PORTING.md) | Port SecureGen to your own ESP32 board |\n\n---\n\n## 🗺️ Roadmap\n\n### User Experience\n- Quick search by favorites / pinned accounts\n- Display settings in web interface (brightness)\n\n### Security Enhancements\n- **Export with physical presence confirmation** — export requires button press on \n  device; ephemeral key derived on-device, never entered manually\n- Flash encryption and secure boot (optional hardening)\n- ATECC608 secure element support\n\n### Cryptography\n- Migration ECDH P-256 → X25519 (~400ms → ~80ms key exchange)\n\n---\n\n## 🤝 Support \u0026 Community\n\n- **Issues:** [GitHub Issues](https://github.com/makepkg/SecureGen/issues)\n- **Discussions:** [GitHub Discussions](https://github.com/makepkg/SecureGen/discussions)\n- **YouTube:** [Demo \u0026 Tutorials](https://www.youtube.com/watch?v=YTVQBwgok_E)\n- **Dev.to:** [Technical Articles](https://dev.to/makepkg)\n- **Twitter/X:** [@makepkg](https://x.com/makepkg_)\n- **Hackster.io:** [Featured Project](https://www.hackster.io/makepkg/securegen-open-source-totp-authenticator-password-manager-c350d6)\n- **Product Hunt:** [Launch Page](https://www.producthunt.com/products/securegen-2)\n\n### Donations\n\n[![Sponsor](https://img.shields.io/badge/Sponsor-❤-red.svg)](https://github.com/sponsors/makepkg)\n\n**USDT BEP-20:** `0x4f85f29892b261fa8029f3cfd64211e166744733`  \n**USDT TRC-20:** `TDnjDg9HxySo1J2FPSrvWQejyZ4gHKiXSJ`\n\n**⭐ Star this repo if you find it useful!**\n\n---\n\n## 📄 License\n\nMIT — see [LICENSE](LICENSE). Third-party: TFT_eSPI (FreeBSD), ESPAsyncWebServer (LGPL-3.0), AsyncTCP (LGPL-3.0), ArduinoJson (MIT), mbedTLS (Apache 2.0).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ for the open-source community**\n\n[⬆ Back to Top](#esp32-t-display-multifunctional-security-device)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakepkg%2Fsecuregen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakepkg%2Fsecuregen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakepkg%2Fsecuregen/lists"}