AegixPass-Svelte
English | 中文
English
AegixPass-Svelte: A Secure, Deterministic Password Generator Web App
This project is the official web implementation of the AegixPass deterministic password generator, built with SvelteKit. It provides a user-friendly interface for generating high-strength, reproducible passwords directly in your browser.
The live version is deployed at aegixpass.takuron.com.
Core Features
- Deterministic Generation: Always generates the same password from the exact same Master Password, Distinguishing Key, and Preset. This eliminates the need to ever store your passwords.
- Zero Trust & Maximum Security: All calculations are performed client-side in your browser. Your Master Password is never stored, transmitted, or logged. The core algorithm uses strong cryptographic primitives like SHA-256/Blake3 and the ChaCha20 PRNG. For a detailed breakdown of the cryptographic process, please see the ALGORITHM.md file. (Note: The document is currently written in Chinese).
- Highly Customizable: Generate passwords for any requirement using presets. The app comes with several built-in presets and supports loading your own custom JSON preset files.
- Guaranteed Complexity: The algorithm ensures that the final password contains at least one character from each specified character set (e.g., uppercase, lowercase, numbers, symbols).
- Cross-Platform Consistency: Passwords generated by this web app are 100% compatible with the official AegixPass Rust command-line tool.
How to Use the Web App
- Navigate to aegixpass.takuron.com.
- Enter your Master Password: This is the core secret only you know.
- Enter a Distinguishing Key: Use a unique key for every site or service (e.g.,
google.com
, twitter
, MyBankApp
).
- Select a Preset: Choose from the dropdown list of built-in presets that match your security requirements (e.g., Default, PIN, No Symbols).
- Generate & Copy: Click the "Generate Password" button. The result will appear below, ready to be copied.
Development
This project is built with SvelteKit. To set up a local development environment:
git clone https://github.com/takuron/aegixpass-svelte.git
cd aegixpass-svelte
pnpm install
pnpm run dev
This will start the server and open the app in a new browser tab.
Building
To create a production version of the app:
pnpm run build
This command compiles the application into static files, placing them in the build
directory. This project uses @sveltejs/adapter-static
for a pure client-side SPA output.
You can preview the production build with:
pnpm run preview
License
This project is licensed under the GNU Lesser General Public License v2.1. See the LICENSE
file for details.
中文
AegixPass-Svelte:一个安全、确定性的密码生成器网页应用
本项目是 AegixPass 确定性密码生成器的官方网页实现,基于 SvelteKit 构建。它提供了一个用户友好的界面,让您可以直接在浏览器中生成高强度、可复现的密码。
线上版本部署于 aegixpass.takuron.com。
核心功能
- 确定性生成:对于完全相同的主密码、区分密钥和预设配置,总是生成相同的密码。这使您再也无需存储任何密码。
- 零信任与最高安全性:所有计算都在您的浏览器客户端完成。您的主密码永远不会被存储、传输或记录。核心算法使用强大的加密原语,如 SHA-256/Blake3 哈希算法和 ChaCha20 伪随机数生成器。关于算法实现的详细解析,请参阅项目根目录下的 ALGORITHM.md 文件。
- 高度可定制:使用预设来生成满足任何需求的密码。应用内置了多种预设,并支持加载您自己的 JSON 预设文件。
- 复杂度保证:算法确保最终生成的密码中,至少包含一个来自每个指定字符集(例如大小写字母、数字、符号)的字符。
- 跨平台一致性:由本网页应用生成的密码与官方 AegixPass Rust 命令行工具 100% 兼容。
如何使用网页版
- 访问 aegixpass.takuron.com。
- 输入您的主密码:这是只有您知道的核心机密。
- 输入一个区分密钥:为每个网站或服务使用一个唯一的密钥(例如
google.com
、twitter
、我的银行App
)。
- 选择预设配置:从下拉列表中选择一个符合您安全需求的内置预设(如:默认、PIN码、无符号等)。
- 生成与复制:点击“生成密码”按钮,结果将显示在下方,并可一键复制。
本地开发
本项目基于 SvelteKit 构建。如需在本地进行开发:
git clone https://github.com/takuron/aegixpass-svelte.git
cd aegixpass-svelte
pnpm install
pnpm run dev
该命令会启动开发服务器,并在新的浏览器标签页中打开应用。
构建项目
如需创建生产版本的应用:
pnpm run build
该命令会将应用编译为静态文件,并输出到 build
目录中。本项目使用 @sveltejs/adapter-static
将应用构建为纯客户端的单页应用 (SPA)。
你可以使用以下命令来预览构建后的生产版本:
pnpm run preview
许可证
本项目采用 GNU Lesser General Public License v2.1 许可证。详情请参阅 LICENSE
文件。