tomai
Log in

📢 Site Announcements

Updates, bug fixes, new tools, and maintenance notices

🐛 Bug Fix Aug 2, 2026

IP Purity Check upgraded — more accurate scores & a brand-new dashboard

IP Purity Check just got a major upgrade: more accurate risk scoring, a clearer shared-user estimate, and a completely redesigned result dashboard. • More accurate risk scores — a new independent fraud-risk signal joins the analysis, and DNS blacklist coverage grew from 3 to 5 feeds (Spamhaus, SpamCop, Barracuda, DroneBL, SORBS), so dirty addresses are caught earlier • Shared-user estimates now show a confidence label — high, medium or low — so you know how solid the number really is • Brand-new dashboard — an animated risk ring with a live score counter, a step-by-step scanning animation while data is gathered, and a cleaner two-column report • New conveniences — one-click copy of the IP, an OpenStreetMap link on the location, a recent-checks history, and expandable "why was I penalized" explanations under every scoring factor • Still 100% free, no login, in all 11 languages Try it with your own IP: the check runs automatically when you open the page.

Read more →
🐛 Bug Fix Aug 1, 2026

IP Purity Check upgraded — clearer results, smarter native-IP detection

The IP Purity Check tool has been upgraded: • Redesigned results page — a clean, professional two-column table (flag, ASN, owner type, coordinates, IP type, native-IP status, and more), styled after industry-standard network tools • Fixed the "native IP" verdict — it no longer shows "unable to determine" for many IPs: - Cloudflare / CDN exit IPs now correctly show as Broadcast IP - Hetzner VPS and residential IPs now correctly show as Native IP - When registry data genuinely isn't available, the page clearly shows "Data source unavailable" instead of a confusing "unknown" • IP numbers are masked by default (********) with a one-click eye toggle to reveal them • Risk bar now shows your purity percentage right inside the progress bar, with a color legend from low to high risk • Use-case ratings (TikTok, e-commerce, social media, AI, streaming, gaming) with star ratings and clear ✅ / ⚠️ / ❌ labels All checks still run live in your browser context — your IP is only sent to standard IP intelligence APIs, nothing is stored.

Read more →
🐛 Bug Fix Aug 1, 2026

PDF Manager viewer upgraded — sharper, faster, full-featured

The PDF Manager viewer got a major upgrade: • Hi-DPI rendering — pages are now razor-sharp on Retina displays and phones (previously blurry on high-resolution screens) • Zoom from 25% to 400%, with fit-width and fit-page modes • Page navigation with a page-number jump, plus keyboard shortcuts (←/→ to flip pages, R to rotate, F for fullscreen, / to search) • Rotate pages 90° at a time • Fullscreen viewing • In-PDF text search with highlighted matches • Selectable text layer on every page • Faster page flipping thanks to per-page caching All your files stay in your browser — nothing is uploaded.

Read more →
🐛 Bug Fix Jul 30, 2026

Fixed: Hreflang Generator JavaScript Error

The Hreflang Generator had a bug where entering language codes would throw an "escAttr3 is not defined" error and produce no output. Root cause: esbuild renamed an inlined helper function (escAttr → escAttr3) during bundling, but the function body serialised via .toString() still referenced the renamed variable — while the page script defined it under the original name. Fixed by making the helper function self-contained inside the main function body, following the dependency-free pattern required by codebase rule 6. The same latent issue in Social Share Preview was also fixed.

Read more →
🐛 Bug Fix Jul 29, 2026

🔮 AI Face & Palm Reading — Smarter Reports, Fewer Failures

We fixed the bugs that caused face and palm readings to fail frequently. The AI now uses a two-stage analysis: first it identifies your actual facial features or palm lines, then writes a reading based on those specifics — no more generic templates. Plus: quantitative data cards, traditional Chinese face-reading terminology, and smarter follow-up Q&A.

Read more →