{"id":22549060,"url":"https://github.com/DCFApixels/KeyTea","last_synced_at":"2025-10-17T05:31:31.082Z","repository":{"id":264671582,"uuid":"674716596","full_name":"DCFApixels/PasswordCalculator","owner":"DCFApixels","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-26T12:33:14.000Z","size":207,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-07T16:07:45.265Z","etag":null,"topics":["password-generator","password-manager"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/DCFApixels.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":"2023-08-04T15:37:35.000Z","updated_at":"2024-11-27T01:30:02.000Z","dependencies_parsed_at":"2024-11-25T17:43:57.976Z","dependency_job_id":"97906a90-4fa2-49b2-b1a2-bfcfb0f2e56d","html_url":"https://github.com/DCFApixels/PasswordCalculator","commit_stats":null,"previous_names":["dcfapixels/passwordcalculator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCFApixels%2FPasswordCalculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCFApixels%2FPasswordCalculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCFApixels%2FPasswordCalculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DCFApixels%2FPasswordCalculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DCFApixels","download_url":"https://codeload.github.com/DCFApixels/PasswordCalculator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236777980,"owners_count":19203123,"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":["password-generator","password-manager"],"created_at":"2024-12-07T16:07:47.765Z","updated_at":"2025-10-17T05:31:31.075Z","avatar_url":"https://github.com/DCFApixels.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg width=\"300\" src=\"https://github.com/DCFApixels/KeyTea/blob/main/images/MainIcon.png\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Version\" src=\"https://img.shields.io/github/manifest-json/v/DCFApixels/KeyTea?style=for-the-badge\u0026color=1e90ff\"\u003e\n\u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/DCFApixels/KeyTea?color=1e90ff\u0026style=for-the-badge\"\u003e\n\u003c/p\u003e\n\n# 🍵 PasswordTea - Password generator and manager\n\n\u003ctable\u003e\n  \u003ctr\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd colspan=\"3\"\u003eReadme Languages:\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd nowrap width=\"100\"\u003e\n      \u003ca href=\"https://github.com/DCFApixels/KeyTea/blob/main/README-RU.md\"\u003e\n        \u003cimg src=\"https://github.com/user-attachments/assets/7bc29394-46d6-44a3-bace-0a3bae65d755\"\u003e\u003c/br\u003e\n        \u003cspan\u003eРусский\u003c/span\u003e\n      \u003c/a\u003e  \n    \u003c/td\u003e\n    \u003ctd nowrap width=\"100\"\u003e\n      \u003ca href=\"https://github.com/DCFApixels/KeyTea\"\u003e\n        \u003cimg src=\"https://github.com/user-attachments/assets/3c699094-f8e6-471d-a7c1-6d2e9530e721\"\u003e\u003c/br\u003e\n        \u003cspan\u003eEnglish\u003c/span\u003e\n      \u003c/a\u003e  \n    \u003c/td\u003e\n    \u003c!--\u003ctd nowrap width=\"100\"\u003e\n      \u003ca href=\"https://github.com/DCFApixels/KeyTea/blob/main/README-ZH.md\"\u003e\n        \u003cimg src=\"https://github.com/user-attachments/assets/8e598a9a-826c-4a1f-b842-0c56301d2927\"\u003e\u003c/br\u003e\n        \u003cspan\u003e中文\u003c/span\u003e\n      \u003c/a\u003e  \n    \u003c/td\u003e--\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nLink - [https://dcfapixels.github.io/KeyTea/](https://dcfapixels.github.io/KeyTea/) \u003c/br\u003e\nVersioning semantics - [Open](https://gist.github.com/DCFApixels/c3b178a308b411f530361d1d56f1f929#file-dcfapixels_versioning_en-md)\n\n\u003c/br\u003e\n\n\u003cp align=\"justify\"\u003e\nA small application with the functionality of a password manager, but it does not store these passwords either on the user's computer or on a server. It works on any device, and if the page is saved, PasswordTea can be launched even without an internet connection.\n\u003c/p\u003e\n\n## 📖 Table of Contents\n- [How does it work?](#-how-does-it-work?)\n- [Security](#-security)\n- [Features](#-features)\n- [Guide](#-guide)\n    - [Master Password Input](#Master-Password-Input-Screen)\n    - [Password Selection](#Password-Selection-Screen)\n    - [Password Information Editing](#Password-Information-Editing-Screen)\n    - [Character Set Editing](#Character-Set-Editing)\n- [License](#-license)\n\n\u003c/br\u003e\n\n## ❓ How does it work?\n\n\u003cp align=\"justify\"\u003e\nIn short, passwords are generated based on a master password that the user must create and remember. From the combination of the master password and the website's name, a unique password for that site is generated. Since the same pair of master password and website name always generates the same result, there is no need to save the generated passwords. The generation process uses a cryptographically secure hash function, meaning that the final password cannot be converted back into the master password.\n\u003c/p\u003e\n\n\n\u003c/br\u003e\n\n## 🔒 Security\n\n**This application guarantees that passwords are not stored or transmitted to third parties in the following ways:**\u003cbr\u003e\n+ The app can function without an internet connection; \n+ It does not use third-party frameworks or libraries, except for the browser and the [js-sha3](https://github.com/emn178/js-sha3) script for calculations; \n+ It is an open-source project and the source code is available for review. Users can independently verify that everything is clean.\n\n**Advantages:**\u003cbr\u003e\n+ It is enough to remember just one master password, but a unique one is generated for each site;\n+ Generated passwords consist of a random set of characters, making them secure;\n+ Since the app does not store passwords, these passwords are not susceptible to leakage by hacks;\n+ Quickly change the generated password, adding just one character creates a new unique password.\n\n**Disadvantages:**\u003cbr\u003e\n+ A master password leak exposes access to all passwords;\n+ A single master password is more vulnerable to various types of attacks.\n\n\u003c/br\u003e\n\n## ⭐ Features\n\n+ **Cross-platform:**\n\n\u003cp align=\"justify\"\u003e\nThe use of web languages allows the application to run on any device with a browser. And also it can be embedded in other applications. \n\u003c/p\u003e\n\n+ **Customizable character set:**\n\n\u003cp align=\"justify\"\u003e\nSome websites have specific requirements for the presence or absence of certain characters, fine-tuning the characters used allows the generation of passwords that meet these requirements. Additionally, for creating more complex passwords, characters from not only the English alphabet but also symbols can be used. By default, there are sets of special characters, numbers, the English alphabet, and the Russian alphabet.\n\u003c/p\u003e\n\n+ **Password generation using versioning:**\n\n\u003cp align=\"justify\"\u003e\nIn case the user needs to change the password, the password version can be modified in the settings, and increasing the version completely changes the password to a unique new one.\n\u003c/p\u003e\n\n+ **Deterministic calculations:**\n\n\u003cp align=\"justify\"\u003e\nPasswords are generated the same no matter what device the app is running on.\n\u003c/p\u003e\n\n\u003c/br\u003e\n\n## 📜 Guide\n\n### Master Password Input Screen\nOn the initial screen, the user is prompted to enter the master password, which is used to generate passwords.\n\n![image](https://github.com/user-attachments/assets/396df36d-1381-433c-9b66-44ca7cec2ce5)\n\nAfter entering the master password, press the \"Continue\" button to proceed to the password list.\n\n![image](https://github.com/user-attachments/assets/5360397a-ba85-4855-9fc0-9f009c318080)\n\n### Password Selection Screen\n\nAt the top of the screen, a list of resources is displayed. To retrieve a password, select the desired resource from the list.\n\nThe resource list is editable. The button at the bottom of the list with a plus icon adds a new entry, the gear icon button opens the screen for editing resource information for the password, and the adjacent recycle bin icon button removes the resource from the list.\n\n![image](https://github.com/user-attachments/assets/58f01be4-b28a-4f08-9099-e9327588093f)\n\nAfter selecting a resource, the generated password for this resource will appear in the \"password\" field at the bottom. To the right of the field is the button to copy the password to the clipboard. Further right is the button to show the password, which is hidden by default.\n\n![image](https://github.com/user-attachments/assets/08958b72-9549-4fdb-b105-482b9807af13)\n\nAt the bottom of the screen, there are buttons for importing and exporting user data. These functions allow data to be transferred between devices.\n\n![image](https://github.com/user-attachments/assets/d776ade5-f000-4ec4-b21f-0041d19a389f)\n\n### Password Information Editing Screen\n\nAt the top, there are 4 fields available for editing:\n+ **Name** - the name of the resource for which the password is being generated; this name will also be displayed on the password selection screen.\n+ **User** - in case there are multiple accounts for the same resource, the user can enter account logins here, which will generate different passwords.\n+ **Length** - the length of the password.\n+ **Version** - the password version. The user can increase the version by clicking the `Up` button, which generates a completely new password.\n\nBelow is a list of character sets from which the user can select the ones to be used in password generation.\n\nThe list of character sets is editable. The button at the bottom of the list with a plus icon adds a new empty set, the gear icon button opens the screen for editing the character set, and the adjacent trash bin icon button removes the set from the list.\n\n![image](https://github.com/user-attachments/assets/538cf86a-47c9-4296-8290-6224c6f8af0a)\n\nAfter completing the edits, click the Save button to save the changes or Cancel to discard them.\n\n![image](https://github.com/user-attachments/assets/efb2d3da-8c45-4468-b562-dbd89e055514)\n\n### Character Set Editing Screen\n\nFor editing, there are 3 fields available:\n+ **Name** - the name of the set displayed in the application. This does not affect password generation.\n+ **Charset** - the set of characters as text. After saving, the text will be formatted, with characters sorted and duplicates removed.\n+ **Priority** - the priority of the set. Priority affects the frequency with which characters from the set appear in the password. The frequency is calculated relative to the priority of all sets. The higher the priority, the more frequently characters from this set will appear. Regardless of priority, at least one character from the set will be used in the password.\n\n![image](https://github.com/user-attachments/assets/b38c4022-d33d-44f8-b446-d7372f65616f)\n\nAfter completing the edits, click the Save button to save the changes or Cancel to discard them.\n\n![image](https://github.com/user-attachments/assets/efb2d3da-8c45-4468-b562-dbd89e055514)\n\n\u003c/br\u003e\n\n## 📑 License\n\nThe MIT License: [https://raw.githubusercontent.com/DCFApixels/KeyTea/refs/heads/main/LICENSE](https://raw.githubusercontent.com/DCFApixels/KeyTea/refs/heads/main/LICENSE)\n\n\u003c/br\u003e\n\u003c/br\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDCFApixels%2FKeyTea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDCFApixels%2FKeyTea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDCFApixels%2FKeyTea/lists"}