8000 GitHub - yaoxinghuo/dbx-dev-tools: A collection of everyday developer utilities as a DBX plugin — sandboxed, offline. 40+ tools in a package under 200KB; pure frontend, universal package, no native sidecar. 日常开发工具集合的 DBX 插件——沙箱离线运行。40+ 工具、安装包不到 200KB;纯前端实现、universal 包、无原生 Sidecar。 · GitHub
[go: up one dir, main page]

Skip to content

About

A collection of everyday developer utilities as a DBX plugin — sandboxed, offline. 40+ tools in a package under 200KB; pure frontend, universal package, no native sidecar. 日常开发工具集合的 DBX 插件——沙箱离线运行。40+ 工具、安装包不到 200KB;纯前端实现、universal 包、无原生 Sidecar。

Resources

Stars

7 stars

Watchers

1 watching

Forks

Repository files navigation

Dev Tools — DBX Plugin

English | 中文

A collection of everyday developer utilities as a DBX plugin — runs offline in a sandbox with zero network calls. 48 developer utilities in under 200KB: an all-in-one toolkit covering crypto & security, encoding, text & regex, time & Cron, network & DevOps, and frontend assets—built for everyday development needs. Pure frontend, universal package, no native sidecar.

DBX >=0.6.19 Platform universal 44 tools package <200KB permissions: host.storage, host.workbench

image

Tools

  • Password Generator — crypto.getRandomValues + rejection sampling (no modulo bias), charset rules, batch generation, entropy meter
  • QR Code Generator — qrcode-generator, adjustable EC level / module size / quiet zone, optional center logo (auto-suggests EC H), SVG & PNG export
  • Barcode Generator — hand-rolled encoders for CODE-128 (auto A/B/C set switching), CODE-39, EAN-13/8, UPC-A, ITF/ITF-14, Codabar; auto check digits, adjustable bar width / height / caption, SVG & PNG export
  • Hash Generator — MD5 + SHA-1/256/384/512 + CRC32 digests for text and files; optional key switches to HMAC-SHA digests
  • ID Generator — UUID v4, NanoID and ULID in bulk, plus deterministic name-based UUID v5/v3 with predefined namespaces; uppercase / hyphen options for UUID
  • CN ID Card — generate valid-format Chinese ID numbers by region / age / gender, and validate & parse existing numbers (incl. 15-digit legacy → 18-digit upgrade)
  • Nginx Formatter — normalize whitespace, re-indent by braces (vendored nginxfmt port), plus syntax highlighting for directives, strings and variables
  • XML Formatter — pretty-print with DOMParser validation; comments, CDATA and DOCTYPE handled; syntax-highlighted
  • YAML Formatter — re-indent while preserving comments, block scalars and anchors verbatim; warns on tab indentation
  • Base64 / Base32 / Base58 / Hex — UTF-8 safe multi-alphabet encode/decode, URL-safe variant
  • JWT Parser / Generator — decodes header/payload, claims table with exp/nbf validity badges, HS256/384/512 signature verification, plus JWT signing (payload JSON + secret → token)
  • RMB Uppercase — numeric amount to Chinese RMB uppercase (correct 零 folding, negatives, up to 兆)
  • URL Encoder / Decoder — encodeURIComponent/encodeURI modes, form + toggle, query parameter breakdown
  • Image ⇄ Base64 — image to Base64 (drop / paste / pick, optional data-URI prefix, size inflation shown); Base64 to image with magic-byte sniffing, preview & export
  • Time & Date Converter — Unix timestamps auto-detected across s/ms/µs/ns (decimals treated as seconds), date strings parsed both ways; shows Unix s/ms, local & UTC, ISO 8601, day of week, day of year, ISO week, leap year, timezone offset, relative time; duration ⇄ ms conversion; timezone conversion across all IANA zones or bare offsets like +8
  • File Size Converter — bare bytes or "1.5 GB"/"2 GiB"/"10M" style input parsed to bytes; best-fit unit plus full SI (1000) and IEC (1024) tables
  • Word Counter — words (Latin tokens + per-CJK-char), characters (with/without spaces), letters, digits, punctuation, whitespace, lines, paragraphs, sentences, UTF-8 byte size, reading time
  • Escape / Unescape — HTML/XML entities, JavaScript string escapes, regex metacharacters, CSV field quoting, POSIX shell single-quoting
  • Lorem Ipsum — dummy text at an exact length for input-boundary testing: characters or UTF-8 bytes, lorem / repeating pattern / random alphanumeric / random Chinese modes, common length presets
  • JSON Formatter — validate with precise error line/column/snippet (own parser, since JSC reports no position), pretty-print at 2/4/tab or minify, key sorting, depth/key/item stats, .json export
  • HTTP Helper — raw headers ⇄ JSON (request/status lines tolerated, repeated headers kept as arrays), plus a searchable reference for status codes and common headers
  • URL breakdown — the URL tool also splits a parseable URL into protocol / credentials / host / port / origin / path / query / fragment, each field individually copyable
  • Text Diff — LCS-based diff between two texts, line or character granularity, +/- stats, unified patch copy
  • Case & Slug Converter — camelCase / PascalCase / snake_case / kebab-case / CONSTANT_CASE / Title Case / dot.case and URL slugs (diacritics stripped, CJK kept), all at once
  • Number Base — BigInt-powered binary/octal/decimal/hex conversion (0x/0o/0b auto-detected), ASCII interpretation of the value
  • Mojibake Fixer — repairs text garbled by the wrong charset (UTF-8 mistaken as Windows-1252/GBK/Big5/Shift_JIS), ranked candidates
  • Invisible Characters — visualizes zero-width chars, BOM, NBSP, bidi controls and friends, with a code-point/count summary and one-click cleanup
  • Date Calculator — difference between two dates (days/weeks/months/years, working days, h/m/s) and date ± N days/weeks/months
  • Color Converter & Contrast — HEX/RGB/HSL/HSV/CMYK conversion with swatch + color picker + screen eyedropper, harmony palettes (complementary/analogous/triadic/split/tetradic/shades) with click-to-copy swatches, WCAG contrast ratio vs white, black or a custom background (AA/AAA badges)
  • CSS Generator — visual gradient (linear/radial/conic, multi-stop) and box-shadow builders with live preview and copyable CSS
  • Line Operations — trim, remove empty, dedupe, sort A→Z/Z→A, add line numbers, reverse — combined in a fixed pipeline
  • AES Encrypt / Decrypt — PBKDF2 (100k, SHA-256) → AES-256-GCM; output is base64(salt|iv|ciphertext), GCM tag rejects wrong passwords
  • Chmod Calculator — owner/group/other rwx checkboxes ⇄ octal, live symbolic (rwxr-xr-x), common presets
  • Regex Tester — pattern + flags, highlighted match preview, capture-group table, replace preview
  • Semver Compare — compare two versions and sort version lists per semver.org rules (prerelease-aware)
  • Image Compressor — re-encode to WebP/JPEG/PNG with quality slider, before/after size preview
  • RSA Key Generator — RSA key pairs (RSASSA / RSA-PSS / RSA-OAEP, 2048–4096 bits) exported as PEM/PKCS#8
  • Certificate Decoder — parse X.509 PEM/DER: subject/issuer, validity, SAN, key usage, SHA-1/256 fingerprints
  • IP Calculator — IPv4 subnet math (network/broadcast/usable hosts/mask/wildcard/scope/PTR) with subnet splitting; IPv6 compress/expand, prefix, type detection, ip6.arpa PTR
  • Cron Expression — standard 5-field cron explained in words, with next-run preview
  • Punycode / IDN — internationalized domain names ⇄ xn-- ASCII form
  • Quoted-Printable — RFC 2045 quoted-printable encode/decode for email bodies
  • Data URI Generator — text or file → data: URI for inline embedding
  • SQL IN Builder — line-separated lists → quoted IN (...) values
  • Unicode Codec — \u / U+ / HTML entity encode & decode (6 formats, optional ASCII passthrough) plus per-code-point inspection
  • TOTP Generator — RFC 6238 one-time codes from a base32 secret or otpauth:// URI
  • Placeholder Image — PNG/JPEG/WebP placeholder images at any size

The home page offers multilingual search (queries match names/descriptions/tags in all languages, not just the active one) and tag filtering localized to the current UI language.

Install

From the plugin store (recommended)

Plugin Center → Store — find Dev Tools and click install. Store packages are officially signed, no extra setup needed.

From a release package

  1. Download the latest terry.devtools-*-universal.dbxp from Releases.
  2. In DBX: Plugin Center → Settings → allow unsigned development packages.
  3. Choose the local .dbxp to install.

Usage

Plugin Center → Installed → Dev Tools — opens a single Dev Tools workbench tab; the in-plugin sidebar switches between all tools. The tab is restored across restarts, so open once and keep it.

Architecture

A single manifest workbench contribution (terry.devtools.home) loads the shared Svelte + Vite bundle under ui/; all tools live behind it and are registered in src/lib/tools.js. Route resolution inside the app:

  1. context.tool — explicit tool key from in-plugin navigation
  2. contributionId — workbench id from the host init message (always terry.devtools.home, resolves to Home)
  3. Fallback — Home tool grid

Copy goes through dbxPlugin.copy() (host clipboard bridge) and export through dbxPlugin.saveFile() (native save dialog); both degrade to browser implementations under the dev host.

Contributing

Have a small tool you reach for every day? This collection is meant to grow — open an issue with your idea, or send a PR following the four steps below.

Add a new tool

  1. Create src/tools/XxxTool.svelte (wrap content in ToolShell, reuse dbx-* classes and CopyButton)
  2. Register { key, contributionId, component, tags } in src/lib/tools.js (tags are canonical keys; add their en+zh display names to t().tags)
  3. Add tools.xxx strings (en + zh) in src/lib/i18n.js

No manifest change needed — the single terry.devtools.home workbench entry covers all tools.

Development

npm install
npm run build
dbx-plugin dev --path . --port 5190

Open http://127.0.0.1:5190/. npm run build:watch pairs with the dev host's auto reload.

Package an unsigned candidate: dbx-plugin package . → dist/*.dbxp. package only zips what's already in ui/ — after editing code or the version in manifest.json, run npm run build first or the bundle keeps the stale build (the version shown in-app is inlined at build time).

For a quick local test install — build + package in one line, then install the .dbxp via Plugin Center → install from file in DBX:

npm run build && npx dbx-plugin package

Publishing

Tag + GitHub Release in this repo — .github/workflows/plugin-release.yml builds the candidate automatically. Then open a candidate PR against t8y2/dbx-store and wait for review/signing. See the plugin development docs.

About

A collection of everyday developer utilities as a DBX plugin — sandboxed, offline. 40+ tools in a package under 200KB; pure frontend, universal package, no native sidecar. 日常开发工具集合的 DBX 插件——沙箱离线运行。40+ 工具、安装包不到 200KB;纯前端实现、universal 包、无原生 Sidecar。

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages

0