尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
A modern, privacy-focused random string generator web tool built with React, TypeScript, Vite, and Tailwind CSS. All processing happens entirely in the browser using cryptographically secure random values—no data is sent to any server.檢視完整 README ↗A modern, privacy-focused random string generator web tool built with React, TypeScript, Vite, and Tailwind CSS. All processing happens entirely in the browser using cryptographically secure random values—no data is sent to any server.
crypto.getRandomValuessrc/
components/
GeneratorForm.tsx - Main form with all input controls
OptionsGroup.tsx - Character type selection
OutputPanel.tsx - Results display with copy/download
ThemeToggle.tsx - Dark/light mode toggle
hooks/
useStringGenerator.ts - Main state management hook
useLocalStorage.ts - localStorage persistence hook
lib/
generateStrings.ts - Pure string generation logic
formatOutput.ts - Output formatting logic
charsets.ts - Character set definitions
test/
setup.ts - Vitest setup
App.tsx - Main application component
main.tsx - Application entry point
index.css - Tailwind directives
# Install dependencies
npm install
# Start development server
npm run dev
# The app will be available at http://localhost:5173
# Build for production
npm run build
# Preview production build
npm run preview
# Run tests
npm run test
# Run tests with UI
npm run test:ui
# Run ESLint
npm run lint
# Fix ESLint issues automatically
npm run lint:fix
# Format code with Prettier
npm run format
The generator uses crypto.getRandomValues() with rejection sampling to avoid modulo bias, ensuring each character has an equal probability of being selected.
The core logic is separated into framework-free modules:
generateStrings.ts - Handles string generation with charset optionsformatOutput.ts - Formats output in 3 different stylescharsets.ts - Defines character sets and ambiguous character filteringThese can be easily imported and used in non-React projects.
For large generation jobs (e.g., 10,000 strings × 100 characters), the UI uses setTimeout to defer generation, keeping the interface responsive during generation.
role="alert" and aria-live="polite"MIT