Commit Graph
546 Commits
Author SHA1 Message Date
s0lrayandPaperclip 0e7fdcfdbf Add tool details panel UI and D3 wiring (THE-104, THE-105)
THE-104: Build panel UI component
- New public/css/panel.css using existing design tokens
- Fixed-position slide-in panel (340px desktop, 100vw bottom-sheet on mobile)
- 250ms GPU-accelerated translateX() slide animation with will-change
- All section placeholders: header, breadcrumb, badges, description, usage,
  OPSEC, rating, report link, CTA button
- Dark mode via body.light-mode CSS variable overrides
- Graceful empty states (sections hidden via .empty class)

THE-105: Wire panel to D3 tree interactions
- Leaf-node clicks (nodes with url, no children) open panel instead of navigating
- parseName() for clean title + badge rendering
- Breadcrumb built by walking parent chain to root
- Selected-node ring via _panelSelected flag + stroke style in nodeUpdate
- Close triggers: ✕ button, Escape key, overlay click, canvas click, same-node re-click
- Clicking another leaf swaps panel content in-place
- Session hash via crypto.randomUUID() stored in sessionStorage

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 23:00:21 -04:00
s0lrayandPaperclip 4cb4231d3e Add Mixer Tracking subcategory and sort Blockchain & Cryptocurrency (THE-57)
- Add Mixer Tracking subcategory with 5 tools: Arkham Intelligence,
  Breadcrumbs.app, MetaSleuth, MistTrack, OFAC Sanctions List Search
- Add Monero Blocks to Monero subcategory
- Sort all subcategories alphabetically within Blockchain & Cryptocurrency
- Fix BitRef capitalization consistency (Chain Analysis Platforms)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 18:40:41 -04:00
s0lrayandGitHub 127f7015c2 Merge pull request #579 from lockfale/feature/THE-58-online-communities
Rename Forums/Blogs/IRC to Online Communities (THE-58)
2026-03-25 18:16:50 -04:00
s0lrayandPaperclip aaddecf7c8 Rename Forums/Blogs/IRC to Online Communities with new subcategories (THE-58)
- Renamed top-level category from "Forums / Blogs / IRC" to "Online Communities"
- Preserved existing subcategories: Blog Search Engines, Forum Search Engines, IRC Search
- Added new subcategories: Discord Servers, Reddit Communities
- Removed Topix from Blog Search Engines (site shut down 2018, URL redirects to unrelated page)
- Excluded Dark Web Forums subcategory (tools already covered in dedicated Dark Web category)
- Excluded Telegram subcategory (tools already covered in Instant Messaging > Telegram)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 18:14:31 -04:00
s0lrayandGitHub 2686062d65 Merge pull request #578 from lockfale/feature/THE-97-github-issues-v2
Curate GitHub issue tool suggestions (THE-97)
2026-03-25 16:28:51 -04:00
s0lrayandPaperclip c82aba741c Curate GitHub issue tool suggestions (THE-97)
Added vetted tools from GitHub issue review and skipped duplicates already present in arf.json.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 16:25:23 -04:00
s0lrayandGitHub 2401409ef3 Merge pull request #577 from lockfale/feature/THE-60-cloud-infrastructure
Promote Cloud Infrastructure to top-level category (THE-60)
2026-03-25 16:14:19 -04:00
s0lrayandPaperclip 4b592ef4f2 Promote Cloud Infrastructure to top-level category (THE-60)
- Remove Cloud Resources subcategory from Domain Name
- Add Cloud Infrastructure as top-level category with 5 subcategories:
  - AWS Enumeration: cloud_enum, AWSBucketDump, Subfinder
  - Azure/GCP Discovery: GCPBucketBrute, AADInternals, ROADtools, MicroBurst, Stormspotter
  - S3/Blob Storage: Public Buckets (GrayhatWarfare), goblob, S3Scanner, BucketLoot, lazys3
  - Cloud Configuration Analysis: Prowler, ScoutSuite, Cloud Custodian, Checkov, Steampipe
  - SaaS Footprinting: Amass, Sublist3r, theHarvester, SpiderFoot, dnsrecon
- Migrated Public Buckets (GrayhatWarfare) from Domain Name > Cloud Resources
- Dropped CloudScraper (7yr stale), upcheck.online, portscanner.online (not cloud-specific)
- 23 total tools: 18 new additions + 1 migrated from Domain Name

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 16:12:08 -04:00
s0lrayandPaperclip 7d8b228527 Update redirected URLs to final destinations (THE-8)
Apply remaining redirect URL updates in arf.json where the destination
is stable and safe. Skips redirects to login pages, parked domains,
and cross-domain redirects that need manual review.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 16:09:09 -04:00
s0lrayandGitHub 1a2bfde483 Merge pull request #573 from lockfale/feature/THE-86-issue-425-415-fixes
Remove obsolete phone lookup tools and validate Annual Reports HTTPS (THE-86)
2026-03-25 15:41:50 -04:00
s0lrayandGitHub ba58014163 Merge pull request #571 from lockfale/feature/THE-87-search-reveal
Search: reveal node in tree instead of linking to URL (THE-87)
2026-03-25 15:39:00 -04:00
s0lrayandPaperclip eb76bdfa11 Remove deprecated phone lookup entries for issue #415 (THE-86)
Removed 411 and ThatsThem - Reverse Phone Lookup from Telephone Numbers. Verified Annual Reports URLs already use HTTPS on master for issue #425.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 15:35:17 -04:00
s0lrayandPaperclip e16fa431b6 fix(zoom): center node on visible viewport, not SVG viewBox midpoint (THE-87)
zoomToNode was using svgH/2 (y=400 in viewBox space) as the pan target.
Because the SVG sits below the header, the true viewport center is at
  (window.innerHeight/2 - rect.top) / svgScale
not svgH/2. The discrepancy equals roughly the header height, which is
why the zoomed node consistently appeared too low.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 15:26:09 -04:00
s0lrayandGitHub 9d267eb45b Merge pull request #572 from lockfale/feature/THE-86-github-issue-curation
GitHub issue curation
2026-03-25 15:20:06 -04:00
s0lrayandPaperclip 2e7028b2fa Add IDCrawl to People Search Engines (THE-86)
Added IDCrawl under People Search Engines > General People Search after board-confirmed availability.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 15:15:55 -04:00
s0lrayandPaperclip 9337761f64 Add verified OSINT tools from GitHub issue review (THE-86)
Added GitFive, Lenso.ai, CeWL, and Cupp to existing categories in public/arf.json based on verified researcher findings.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 15:15:39 -04:00
s0lrayandPaperclip 2cad91a63b Search: reveal node in tree instead of linking to URL (THE-87)
Clicking a search result now collapses the full tree, expands all
ancestor branches of the matched node, highlights the node with an
accent-colored circle and bold text, and pans the viewport to it.

A small ↗ icon remains in each result for users who want to open the
tool's website directly.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 14:34:59 -04:00
s0lrayandGitHub 648d34bd8e Merge pull request #570 from lockfale/feature/THE-79-pan-zoom
Fixing pan zoom weirdness
2026-03-25 14:30:21 -04:00
s0lrayandPaperclip e2f6e13206 Add verified OSINT tools from GitHub issue review (THE-86)
Added GitFive, Lenso.ai, CeWL, and Cupp to existing categories in public/arf.json based on verified researcher findings.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 14:27:39 -04:00
s0lrayandPaperclip c2e5a68662 fix(zoom): remove auto-pan on node click (THE-89)
zoomToNode(d) was called after every expand/collapse, causing jarring
viewport jumps as the tree layout reflows node positions. Removing it
lets users pan and zoom freely without unexpected repositioning.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 14:27:29 -04:00
s0lrayandGitHub c232cfdab3 Merge pull request #569 from lockfale/feature/THE-31-post-migration-cleanup
Remove vendored d3.v3.min.js (THE-31)
2026-03-25 14:13:03 -04:00
s0lrayandPaperclip 6a9195c762 chore(cleanup): remove vendored d3.v3.min.js (THE-31)
D3 migration to v7 is complete. The old vendored v3 file is no longer
referenced anywhere — index.html loads js/d3.min.js which is copied
from node_modules by the postinstall script. CI smoke test already
validates the correct filename.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 13:49:27 -04:00
s0lrayandGitHub 6dd5515671 Merge pull request #566 from lockfale/feature/THE-57-blockchain-cryptocurrency
Rename Digital Currency to Blockchain & Cryptocurrency
2026-03-25 00:33:06 -04:00
s0lrayandGitHub 6dbc229f7d Merge pull request #565 from lockfale/feat/the-52-merge-metadata-category
Merge top-level Metadata into Images/Metadata (THE-52)
2026-03-25 00:31:01 -04:00
s0lrayandPaperclip f5b5106a61 fix(ui): tokenize search CSS + add mobile responsive breakpoints (THE-72/THE-74)
- Replace hardcoded px/font values in search area with CSS tokens
  (--space-*, --font-size-*, --radius-sm, --font-family, --color-accent)
- Add focus box-shadow on search input using accent color
- Add box-shadow to search results dropdown
- Add @media (max-width: 768px) breakpoints: scale header font,
  make legend responsive (position:relative, width:auto)

These changes were present in feat/the-72 but were not carried forward
when THE-66 (search) and THE-73 (badges) merged into master independently.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 00:14:47 -04:00
s0lrayandPaperclip 118deee1be merge: resolve conflict with master — keep zoomToNode + search functions (THE-79)
Both zoomToNode() (pan/zoom, THE-79) and the search/badge additions from
master (THE-66, THE-73) are preserved. No logic changes to either side.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 00:00:56 -04:00
s0lrayandGitHub c59d584c06 Merge branch 'master' into feat/the-73-tool-status-badges 2026-03-24 23:54:10 -04:00
s0lrayandGitHub 811fc2e0ca Merge branch 'master' into feature/THE-66-client-side-search 2026-03-24 23:51:35 -04:00
s0lrayandPaperclip b5f349cf5e feat(ui): add pan/zoom to D3 tree visualization (THE-79)
- Apply d3.zoom() to SVG container for mouse wheel zoom and drag-to-pan
- Implement zoomToNode() that auto-centers viewport on clicked/expanded node
- Store svgEl reference separately from vis group for zoom target
- Add grab/grabbing cursor CSS on SVG to communicate interactivity
- Preserve compatibility with dark mode, viewBox/responsive SVG, null-child safety

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 23:50:54 -04:00
s0lrayandGitHub 9da645c168 Merge pull request #562 from lockfale/feature/THE-77-overpass-turbo-geolocation
Add Overpass Turbo to Geolocation Tools / Maps
2026-03-24 23:44:24 -04:00
s0lrayandPaperclip 8af97d3779 feat(data): add Overpass Turbo to Geolocation Tools / Maps (THE-77)
Adds overpass-turbo.eu as a geolocation resource. This is a clean
cherry-pick of the valid data change from PR#535 — the CSS changes
from that PR were dropped as obsolete (superseded by THE-32/THE-72).
The duplicate Twitter > Location / Mapping entry was also excluded
per board direction.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 23:41:48 -04:00
s0lrayandGitHub db929bc722 Merge branch 'master' into feature/THE-50-instant-messaging-overhaul 2026-03-24 22:08:33 -04:00
s0lrayandGitHub f7dddacaa9 Merge pull request #556 from thumpersecure/Fix-Opt-Out-Guide-Incorrect-Link
Update arf.json
2026-03-24 22:06:55 -04:00
s0lrayandPaperclip 6b5a4e1a59 feat(data): rename Digital Currency to Blockchain & Cryptocurrency, add 6 new subcategories with tools (THE-57)
- Renamed top-level category from 'Digital Currency' to 'Blockchain & Cryptocurrency'
- Added Chain Analysis Platforms (8 tools)
- Added DeFi & DEX Tracing (2 tools)
- Added Multi-Chain Explorers (2 tools)
- Added NFT Provenance (2 tools)
- Added Privacy Coin Analysis (2 tools)
- Added Wallet Clustering & Address Analysis (2 tools)
- Kept existing Bitcoin, Ethereum, Monero subcategories

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 19:35:17 -04:00
s0lrayandPaperclip 2008133e64 feat(data): merge top-level Metadata into Images/Metadata (THE-52)
Removed the redundant top-level Metadata category (12 tools) and
redistributed all tools to their logical homes:
- 9 tools → Images / Videos / Docs/Images/Metadata (general metadata
  viewers and file parsers: FOCA, Exiv2, MediaInfo, Apache Tika,
  oletools, Hachoir, C2PA Verify, Metadata2Go, Get-Metadata)
- 1 tool  → Images / Videos / Docs/Images/Forensics (Forensically)
- 1 tool  → OpSec/Metadata / Style (MAT2 — metadata anonymization)
- ExifTool (T) skipped — already present in Images/Metadata

Images/Metadata grows from 10 → 19 tools.
No broken references; JSON validates cleanly.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 19:31:52 -04:00
s0lrayandPaperclip b1ff67beb5 fix(ui): add mobile media queries for header and legend (THE-74)
Reduce #header font-size from 40px to 16px at max-width 768px to
prevent overlap with the D3 tree on narrow screens. Switch .legend
from absolute/fixed-width to relative/auto so it no longer overflows
viewports narrower than 400px.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 19:10:44 -04:00
s0lrayandPaperclip b684b3cd88 feat(ui): replace text suffixes with color-coded SVG badges (THE-73)
Parse (T)/(D)/(R)/(M) suffixes from tool names and render them as
colored tspan elements in the SVG tree. Add matching badge pill styles
to the HTML legend so it visually matches the tree indicators.

- T (tool) → blue #4a9eda
- D (dork) → orange #e8944a
- R (registration) → amber #c8a030
- M (manual URL) → purple #9a7eda

Badge colors are theme-invariant; they work on both dark and light
backgrounds without separate light-mode overrides.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 18:51:15 -04:00
s0lrayandPaperclip b52bfbcbe2 feat(ui): responsive SVG viewport, Inter typography, expanded CSS tokens (THE-72)
- Replace fixed SVG width/height attrs with viewBox + preserveAspectRatio so the
  tree scales naturally across screen sizes
- Switch font-family to Inter/system-font stack via --font-family token
- Add spacing tokens (--space-1 through --space-6, 4px scale)
- Add border-radius tokens (--radius-sm, --radius-md)
- Add shadow tokens (--shadow-sm, --shadow-md) with light-mode overrides
- Add --color-accent and --color-border for future theming use
- Add font-size tokens (--font-size-sm/base/lg/xl)
- Wire up new tokens throughout existing CSS rules

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 18:46:05 -04:00
s0lrayandGitHub 2435807c29 Merge pull request #557 from lockfale/feature/THE-41-expand-terrorism-category
feat(data): expand Terrorism category with 9 new vetted resources

Adds subcategories and resources from legitimate government, academic,
NGO, and think tank sources identified in THE-41 research:

- Academic Research: GTD (existing), START Consortium Portal
- Sanctions & Watchlists: OFAC, UN SC Consolidated List, OpenSanctions
- Research Centers: ISD, CSIS Terrorism Program, RAND
- Terrorist Financing: U.S. Treasury TFTP

All resources verified live and from authoritative institutions.
2026-03-24 18:12:03 -04:00
s0lrayandPaperclip ab65f65a5f feat(ui): add client-side search for tools (THE-66)
Adds a debounced text search input above the D3 tree that filters all
~1,000+ tool nodes by name and description. Results appear as a flat
list with breadcrumb paths; clearing the input hides the panel.

- No build step required: vanilla JS, no new dependencies
- Sanitizes HTML output (escapeHtml/escapeAttr) and validates URLs (http/https only)
- Dark and light mode compatible via existing CSS variables
- Results capped at 50 to keep rendering fast

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 17:56:24 -04:00
s0lrayandPaperclip c769ec2751 feat(data): overhaul Instant Messaging category with modern platforms
Replace outdated IM subcategories (Skype, Snapchat, Kik, YikYak) with
modern platform coverage: Telegram (5 tools), Discord (2), WhatsApp (2),
Signal/Phone Lookup (1), Slack (3), WeChat/LINE (6), Chat Archive
Analysis (1), and Resources (1). Total: 21 tools across 8 subcategories.

Closes THE-50. Research from THE-42 and THE-62.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 17:48:22 -04:00
thumpersecureandGitHub 66b742e2d3 Update arf.json
Fixed link to opt out guide 2025
2026-03-24 16:19:37 -04:00
635c51cd63 fix(ui): replace blue-tinted dark mode palette with neutral dark grays
Board feedback: dark mode looked blue rather than properly dark.
Changed backgrounds from navy (#1a1a2e, #16213e) to neutral darks
(#1a1a1a, #2d2d2d), node fills to gray (#3a3a3a), and node stroke
to steelblue to match light mode styling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 07:58:04 -04:00
s0lrayandPaperclip b2cd803130 fix(ui): improve light mode secondary text contrast to meet WCAG AA
#767676 on white = 4.54:1, just above the 4.5:1 AA threshold.
#999 (previous value) was 2.85:1, which failed.

Closes THE-37.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 07:29:22 -04:00
s0lrayandPaperclip 05c15eaf47 feat(ui): implement dark mode as default with CSS variables and theme persistence
Closes THE-34, THE-35, THE-36.

- Replaces all hardcoded colors in arf.css with CSS custom properties
- Dark palette defined on :root (default); light palette on body.light-mode
- Removes old .dark-Mode class; D3 inline styles now read CSS vars at render time
- goDark() toggles light-mode class and persists preference to localStorage
- Flash-prevention inline script in body applies stored theme before first paint
- Toggle button label reflects current theme state

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 07:27:28 -04:00
s0lrayandPaperclip 880d542c56 feat(data): expand Terrorism category with 9 new vetted resources
Adds subcategories and resources from legitimate government, academic,
NGO, and think tank sources identified in THE-41 research:

- Academic Research: GTD (existing), START Consortium Portal
- Sanctions & Watchlists: OFAC, UN SC Consolidated List, OpenSanctions
- Research Centers: ISD, CSIS Terrorism Program, RAND
- Terrorist Financing: U.S. Treasury TFTP

All resources verified live and from authoritative institutions.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 07:23:37 -04:00
s0lrayandGitHub ec3c707f31 Merge pull request #552 from lockfale/feature/vehicle-osint-updates
Add vehicle OSINT tools, remove paid-only Berla entry
2026-03-23 23:26:30 -04:00
0e83fdc121 Fix D3 tree not rendering: remove null entry in arf.json
d3.hierarchy() in D3 v7 does not tolerate null entries in children
arrays (v3 was lenient). A null element at Username.children[1] caused
the entire tree to fail silently.

- Remove the null entry from arf.json
- Add a defensive children filter in d3.hierarchy() call so future
  null entries degrade gracefully instead of breaking the tree

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 18:21:53 -04:00
s0lrayandPaperclip 82a9c32850 Migrate D3 v3 to v7: update arf.js, index.html, and CI
- Replace d3.layout.tree() with d3.tree()
- Replace d3.svg.diagonal() with d3.linkHorizontal() (x/y accessors swap coords)
- Replace d3.json(url, cb) with d3.json(url).then(cb)
- Replace d3.hierarchy() for root node; use .descendants() and .links()
- Strip svg: namespace prefixes from append/insert calls
- Update xlink:href to href on anchor elements
- Update data accessors to use d.data.name, d.data.url, etc.
- Fix .style("fill") call (was malformed in v3 code)
- Update event handler signature to (event, d) for D3 v7
- Use node.merge(nodeEnter) and link.merge(linkEnter) for v5+ update pattern
- Add public/js/d3.min.js (v7.9.0) copied from node_modules
- Update index.html to load d3.min.js instead of d3.v3.min.js
- Update CI smoke test to check for d3.min.js
- Keep d3.v3.min.js in place until visual parity confirmed

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-23 17:28:56 -04:00
s0lrayandPaperclip a3df232dd3 Add vehicle OSINT tools, remove paid-only Berla entry
Adds 7 new free/freemium vehicle lookup tools to Transportation > Vehicle
Records: FindByPlate, carVertical VIN Decoder, autoDNA, VinDecodr, AutoRef
(EU), Carnet.ai, and Finnik (NL). Removes Berla Vehicle Lookup which is a
paid-only tool incompatible with the framework's free/freemium policy.

Refs: THE-24, THE-29

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-23 17:22:58 -04:00