{"id":19821363,"url":"https://github.com/lucasmenendez/mykeys","last_synced_at":"2025-05-01T12:30:47.994Z","repository":{"id":88495702,"uuid":"350891961","full_name":"lucasmenendez/mykeys","owner":"lucasmenendez","description":"MyKeys is a simple web app to manage collections of passwords as bookmarks. It transforms your encrypted passwords into a long URL that you can add to bookmarks to open it later or share with your friends.","archived":false,"fork":false,"pushed_at":"2023-10-24T21:06:51.000Z","size":1035,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2023-10-24T21:23:40.747Z","etag":null,"topics":["client-side","mykeys","password-sharing","password-store","webapp"],"latest_commit_sha":null,"homepage":"https://mykeys.live","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasmenendez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-03-23T23:59:38.000Z","updated_at":"2023-10-24T21:23:42.923Z","dependencies_parsed_at":"2023-10-24T21:23:41.695Z","dependency_job_id":null,"html_url":"https://github.com/lucasmenendez/mykeys","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmenendez%2Fmykeys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmenendez%2Fmykeys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmenendez%2Fmykeys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasmenendez%2Fmykeys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasmenendez","download_url":"https://codeload.github.com/lucasmenendez/mykeys/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224255762,"owners_count":17281422,"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":["client-side","mykeys","password-sharing","password-store","webapp"],"created_at":"2024-11-12T10:27:02.660Z","updated_at":"2024-11-12T10:27:03.289Z","avatar_url":"https://github.com/lucasmenendez.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Last release](https://img.shields.io/github/v/release/lucasmenendez/mykeys?color=purple)](https://github.com/lucasmenendez/mykeys/releases/latest)\n[![GoDoc](https://godoc.org/github.com/lucasmenendez/mykeys?status.svg)](https://godoc.org/github.com/lucasmenendez/mykeys) \n[![Go Report Card](https://goreportcard.com/badge/github.com/lucasmenendez/mykeys)](https://goreportcard.com/report/github.com/lucasmenendez/mykeys)\n[![Lint and test](https://github.com/lucasmenendez/mykeys/actions/workflows/test.yml/badge.svg)](https://github.com/lucasmenendez/mykeys/actions/workflows/test.yml)\n[![license](https://img.shields.io/github/license/lucasmenendez/mykeys)](LICENSE)\n\n# 🔐 MyKeys.live\n\nMyKeys is a simple web app to **manage collections of passwords as bookmarks**. It transforms your **encrypted passwords into a long url** that you can add to bookmarks to open it later and share with your friends. It also support to download or copy the passwords as a file and open or paste them later.\n\n## Features\nThe [mykeys.live](https://mykeys.live/) webapp allows to manage your passwords in a secure way, using two levels of security:\n * **Something that you know** 💆: the passphrase used to encrypt your passwords.\n * **Something that you have** 💁: the bookmark with your encrypted passwords or the file with them.\n\nThe passwords stored will include:\n - 🆔 **Alias**: Human tag to identify the credential. It is used to filter your passwords in very long collections. *Ex.: 'Spotify for Artist'*.\n - 👤 **Username**: The account identifier of the credential into its service. *Ex.: 'cruz.cafune@mecen-ent.com'*.\n - 🔑 **Password**: The account password of the credential. *Ex.: 'M4r4cuch0'*.\n\n#### Securized with a master password\nTo open or save your passwors, you must provide a passphrase used as a **master password** to encrypt them. The passphrase has the following requirements:\n - At least one letter.\n - At least one number.\n - At least eight characters.\n\n#### Credentials data as URL\nWhen you store your passwords as bookmark, the passwords are encrypted with your passphrease and encoded in base64 (url compatible version), and they are placed as a part of the url then. With this solution you can access to your passwords in any browser that has your bookmarks synced.\n\n## Interfaces\n\nMykeys has both interfaces to interact with your passwords, and there are totally interoperable, which means that the passwords created with one of them are compatible with the other one.\n\nThis is possible because the web app uses the same basecode that the CLI, writted in Go and compiled with WebAssembly to be used on browsers.\n\n### ⌨️ CLI\nA simple console tool to manage your passwords files. It does not store any information or data, it is just a cli to manage your encrypted passwords.\n\n#### Build it\n```sh\ngo build -o ../../bin/mykeys-cli . \u0026\u0026 chmod +x ../../bin/mykeys-cli\n\n# or:\n# cd .. \u0026\u0026 make cli\n```\n\n#### Demo time!\n``` \n$ \u003e ./mykeys-cli -h                   \n🔐 MyKeys CLI 🔐\nUsage: mykeys-cli -p \u003cpassphrase\u003e -a \u003caction\u003e [options]\nOptions:\n  -a string\n        (required) action to perform: set, del, get, list\n  -alias string\n        alias of the password\n  -f string\n        path to passwords file (default \"mykeys.out\")\n  -p string\n        (required) passphrase to decrypt and encrypt the passwords file\n  -pass string\n        password of the password\n  -user string\n        username of the password\n```\n\n### 📱 Web app\nA Vue web app that allows to upload your passwords or open it from a URL. It does not store any information, it is just an interface to decrypt and manage your passwords from browsers.\n\n#### Build it\n```sh\n# build for webassembly and save the result in the ./web folder\nGOOS=js GOARCH=wasm go build -o ./web/main.wasm ./cmd/webassembly\n\n# or:\n# make web\n```\n\n#### Demo time!\n```sh\n# copy wasm_exec.js from yout go installation to ./web folder\ncp \"$(go env GOROOT)/misc/wasm/wasm_exec.js\" ./web\n\n# go to ./web folder and start an local http server on 5500 port\ncd ./web \u0026\u0026 python3 -m http.server 5500\n```\nGo to [localhost:5500](http://127.0.0.1:5500) to check a demo.\n\n## Credits\n\nThanks to much to my CSS Grid teacher Sandra Laguna and to my professional beta testers [Pablo Duque](https://github.com/pabloduque0), [Mario Rodriguez](https://github.com/mapno), [Marcos Stival](https://github.com/mrksph), [Alberto Rojas](https://github.com/r0jasx) and [Manuel Méndez](https://www.linkedin.com/in/manuel-m%C3%A9ndez-garc%C3%ADa-0ba16316a/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasmenendez%2Fmykeys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasmenendez%2Fmykeys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasmenendez%2Fmykeys/lists"}