{"id":19595115,"url":"https://github.com/zessx/nikagi","last_synced_at":"2026-05-12T20:02:56.649Z","repository":{"id":70578329,"uuid":"48739949","full_name":"zessx/nikagi","owner":"zessx","description":"Client-side password manager based on public and private keys.","archived":false,"fork":false,"pushed_at":"2020-11-22T16:15:08.000Z","size":164,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-09T07:13:31.280Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","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/zessx.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-29T09:36:18.000Z","updated_at":"2020-11-22T16:15:02.000Z","dependencies_parsed_at":"2023-04-14T01:00:43.703Z","dependency_job_id":null,"html_url":"https://github.com/zessx/nikagi","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zessx%2Fnikagi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zessx%2Fnikagi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zessx%2Fnikagi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zessx%2Fnikagi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zessx","download_url":"https://codeload.github.com/zessx/nikagi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240868207,"owners_count":19870559,"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":[],"created_at":"2024-11-11T08:45:49.202Z","updated_at":"2026-05-12T20:02:51.594Z","avatar_url":"https://github.com/zessx.png","language":"PHP","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=KTYWBM9HJMMSE\u0026lc=FR\u0026item_name=Buy%20a%20coffee%20to%20zessx%20%28Samuel%20Marchal%29\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abmac%3aNonHosted","https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=KTYWBM9HJMMSE\u0026lc=FR\u0026item_name=Buy%20a%20tea%20to%20zessx%20%28Samuel%20Marchal%29\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abmac%3aNonHosted"],"categories":[],"sub_categories":[],"readme":"# Nikagi\n![Nikagi](https://raw.githubusercontent.com/zessx/nikagi/master/assets/images/logo.png)  \n\n## What is Nikagi?\n\u003e How should I manage my passwords?\n\nNikagi (*formerly 2Keys*) is a client-side password manager which wants to answer to this everyday question.  \nIts purpose is to allow people to easily use a different password for each service, without having to remember them, store them, or worse: write them.\n\n## How does it work?\nNikagi takes some input data:\n- the password length\n- charsets to use (lowercases, uppercases, digits, symbols)\n- a public key\n- a private key\n\nThen it uses all these data to generate a password, and here come the two main interest of Nikagi:\n- the **same input data** generates the **same password**\n- everything is generated on the fly, **nothing is stored**\n\n## How should I use Nikagi?\nAs long as you understand how Nikagi works, your password management policy is up to you!\n\nThe most common way to use it would be to use the service name as the public key, and a unique private key. It's worth mentioning this 1Password-like policy requires your strong private key to never, ever be revealed to anyone.\n\nWhatever the way you're using Nikagi, just remember that **your private key must never be guessable from your public key**. This would make the whole process of having various passwords useless.\n\n## How to install it?\nUse `git clone`, or download and extract this whole repository on your own server.  \nAccess to your brand new password manager, and the installation process will launch itself. It will ask you to create an admin account (used to manage [presets](#presets)), and to define the default values used by Nikagi.\n\nYou're now ready to use Nikagi!\n\n## Presets\nSome online services require password with a limited length, or without any symbols. Nikagi allows you to take these limitations in account, without having to remember it, using presets.  \nTo create a new preset, access to your administration page through the bottom left buttons. \n\nEach preset offers you a shortcut. For example, if you've set a preset for the public key `github`, you'll be able to use the following url: `http://host.io/Nikagi/github`.  \nThis url will load your settings, leaving you with a single field to fill: your private key.\n\n## How to change the default values?\nYou've defined the default values at the installation, but you may want to change them at a time.  \nSimply clear the `config/config.ini` file and the installation process will be launched again.\n\n## Security\nThe `config/` directory does not contain anything critical, but it's still not a good idea to leave it public. You should protect this folder, with an `.htaccess` containing `Deny from all` for example if you're using Apache2.\n\n## Changelog\n# [v0.2.4](https://github.com/zessx/nikagi/releases/tag/v0.2.4)\n- (~) Remove config folder for better deploys\n\n# [v0.2.3](https://github.com/zessx/nikagi/releases/tag/v0.2.3)\n- (+) Add entry point for mobile users\n- (+) Add robots.txt\n\n# [v0.2.2](https://github.com/zessx/nikagi/releases/tag/v0.2.2)\n- (~) Project renamed from 2keys to Nikagi (trademark request)\n- (~) Logo changed to fit new name\n\n# [v0.2.1](https://github.com/zessx/nikagi/releases/tag/v0.2.1)\n- (+) Order presets\n- (~) Fix issue when Nikagi is not is a subfolder\n\n# [v0.2](https://github.com/zessx/nikagi/releases/tag/v0.2)\n- (+) An administration interface has been added\n- (+) Nikagi has now an installation process\n- (-) Htaccess use has been dropped\n- (~) A different font is now used to differenciate 1, i, I, l, L, etc.\n- (~) Logo has been changed\n- (~) Design has been slightly modified\n\n# [v0.1](https://github.com/zessx/nikagi/releases/tag/v0.1)\n- (+) Initial release\n\n## Legals\n\u003e THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.\n\n- Contact : [@zessx](https://twitter.com/zessx)\n\n## Donations\n[![Buy me a coffee !](http://doc.smarchal.com/bmac)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=KTYWBM9HJMMSE\u0026lc=FR\u0026item_name=Buy%20a%20coffee%20to%20zessx%20%28Samuel%20Marchal%29\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abmac%3aNonHosted) [![Buy me a tea !](http://doc.smarchal.com/bmat)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=KTYWBM9HJMMSE\u0026lc=FR\u0026item_name=Buy%20a%20tea%20to%20zessx%20%28Samuel%20Marchal%29\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abmac%3aNonHosted)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzessx%2Fnikagi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzessx%2Fnikagi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzessx%2Fnikagi/lists"}