尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Passwords that pass a site's real password rules, with sources for each rule. Passphrases, and a strength and leak check that sends 5 characters of a hash. Runs in the browser.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Passwords that pass a site's real password rules. Live at pass.azamatos.com.
Pick a site, and the generator makes a password its sign-up form accepts: the right length, the character types it requires, only the symbols it allows, no more repeats than it permits. There are passphrases for things you type by hand, and a check at /health for how long a password would take to guess and whether it has leaked.
Sites: Instagram, Google, Apple, Microsoft, GitHub, Amazon, X (Twitter), LinkedIn, Spotify, TikTok, PayPal, Facebook, Netflix, Shopify, Steam and Twitch, plus "Any site".
Everything runs in the browser. There is no backend and no account, and nothing is stored: the list of copied passwords lives in the open tab's memory and is gone on reload.
crypto.getRandomValues with rejection sampling, so no character
is likelier than another. Whole passwords are drawn and redrawn until they meet the rules, rather than "one of each
required type, then shuffle", which makes some passwords likelier. The strength shown is the exact entropy of what
the generator can produce, counted with inclusion–exclusion.src/data/platforms.json come with the pages they were read from, the
month they were checked and notes where sources disagree. A schema rejects typos and impossible rules, tests
generate 1,000 passwords per site and check each against its rules, and CI fails when a site's rules are more
than six months old.public/_headers). Scripts come only from this site and Cloudflare's
analytics beacon, and pages may connect only to this site, Have I Been Pwned and the analytics. The build fails if
a page has an inline script the policy would block.src/scripts makes it interactive. The
rules logic in src/lib is framework-free and unit-tested.| What | Result |
|---|---|
| JavaScript on a site's page (gzip, budget 14 kB) | 13.5 kB; the word list (24.8 kB) loads on the first passphrase |
| JavaScript on /health (gzip, budget 11.5 kB) | 10.8 kB; the strength worker (838 kB) loads on the first check |
| CSS (gzip, inlined) | 7.3 kB on a site's page, 6.2 kB on /health |
| Lighthouse on a phone (local) | performance 99–100; accessibility, best practices and SEO 100 |
| Layout shift while a page loads, at 360 px and 1280 px | 0 |
| Switching pages, with 200 ms of network delay | no request; the new page is on screen 15–70 ms after the click |
| Tests | 89 unit tests; 47 Playwright tests in Chromium, Firefox and WebKit, with axe in both themes |
Needs Node 22.12+ and pnpm 10.
| Command | What it does |
|---|---|
pnpm dev | Dev server on http://localhost:4001 |
pnpm check · pnpm lint · pnpm format:check | Types, ESLint, Prettier |
pnpm test | Vitest: the rules logic and the site data |
pnpm e2e | Playwright with axe in Chromium, Firefox and WebKit, under the real CSP, on port 4011 |
pnpm build · pnpm size | Static build to dist/, with a share image per page; size budgets |
CI (.github/workflows/ci.yml) runs all of these, plus Lighthouse CI, on every push and pull request and once a
month.
Add its rules to src/data/platforms.json with at least one source and the month you checked them, and its logo to
public/icons/<id>.svg, and its colour. The page, its entries in the site switcher and the list of sites, and the share
image are made from that; pnpm test checks the rest. CLAUDE.md has the details.
MIT licence. Built by Azamat Jorayev.