Commit Graph
738 Commits
Author SHA1 Message Date
s0lrayandPaperclip 4e5e88cf0b Add Notes and theme toggle buttons to desktop header (THE-120)
Move theme toggle from legend to header as "Light Mode"/"Dark Mode"
button visible on both desktop and mobile. Add "Notes" button in
header (desktop only; mobile keeps floating pill). Legend and notes
content now load into a 400px slide-in side panel on desktop, matching
the full-screen mobile overlay. Escape key closes notes panel.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 19:54:31 -04:00
s0lrayandPaperclip bc2387831d Zoom to fill viewport on mobile initial load (THE-119)
Adjust the SVG viewBox on mobile to match the actual rendered aspect
ratio instead of the fixed 1280x800 landscape ratio. The previous
implementation computed the zoom scale against the viewBox dimensions,
but on a tall/narrow mobile screen with min-height: 60vh the SVG
element is much taller than the viewBox maps to with xMidYMid meet.
By stretching the viewBox to match the real element proportions, the
tree's vertical extent now has proper headroom and the initial zoom
fills the viewport as expected.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 19:08:55 -04:00
s0lrayandPaperclip 4b34fcdb2a Zoom to fill viewport on mobile initial load (THE-119)
On screens ≤768px, pre-compute the bounding box of the collapsed
tree layout and apply a zoom transform so the root + top-level
categories fill the viewport immediately, instead of starting tiny
in the center.

Also adds a reusable zoomToFill() utility for future reset-view use.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 18:37:33 -04:00
s0lrayandPaperclip 56e65f27ac Center title and maximize tree viewport on mobile (THE-118)
- Use position:absolute for theme toggle so title centers naturally
- Reduce search bar padding on mobile for more vertical space
- Add min-height: 60vh on SVG to ensure tree fills viewport
- Desktop layout unchanged

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 18:24:44 -04:00
s0lrayandPaperclip c4531cb053 Add mobile-only theme toggle in header and notes overlay panel (THE-118)
On mobile (<=768px), the legend, notes, and about sections consumed most
of the viewport, leaving the D3 tree nearly unusable. This moves the
theme toggle into the header as a compact "Light Mode"/"Dark Mode"
button, hides the below-tree content, and adds a floating "Notes"
button that opens all that content in a full-screen overlay panel
(matching the existing tool detail panel pattern). Desktop layout
is completely unchanged.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 18:12:49 -04:00
s0lrayandGitHub 641cb8c092 Merge pull request #601 from lockfale/feature/THE-117-panel-focus
Allow clicking different tool while detail panel is open (THE-117)
2026-03-26 17:49:38 -04:00
s0lrayandPaperclip de13225292 Allow clicking different tool while detail panel is open (THE-117)
The panel overlay (z-index 199) was intercepting all clicks on the tree
when the panel was open, forcing users to close the panel before selecting
a different tool. Setting pointer-events: none on the overlay lets clicks
pass through to tree nodes, where openPanel() already handles replacing
the panel content. The SVG background click handler still closes the panel
when clicking empty canvas.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 17:36:32 -04:00
s0lrayandGitHub 30a1ba0bf1 Merge pull request #600 from lockfale/feature/THE-116-new-badges
Add api, invitationOnly, deprecated badges to tool panel (THE-116)
2026-03-26 16:56:27 -04:00
s0lrayandPaperclip 05997513b5 Add region badge to tool panel (THE-116)
Adds a region badge that always shows in the tool details panel.
Defaults to "Global" when the region field is absent or set to "global".
Accepts a two-letter country code string (uppercased) or an array of
country codes (joined as "US, UK"). Badge is styled green (#2e7d32).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 15:04:12 -04:00
s0lrayandPaperclip 591ded3875 Add nsfw badge to tool panel (THE-116)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 15:01:41 -04:00
s0lrayandPaperclip 2db8276c09 Add api, invitationOnly, deprecated badges to tool panel (THE-116)
Show boolean feature badges in the tool details panel when true:
- API (blue): tool has a public API
- Invite Only (amber): tool requires an invitation
- Deprecated (dark red): tool is no longer actively maintained

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 14:57:19 -04:00
s0lrayandGitHub 78d8ad7e54 Merge pull request #599 from lockfale/feature/THE-53-enrich-social-networks
Enrich TikTok, Fediverse/Mastodon, and Threads social network tools (THE-53)
2026-03-26 14:54:14 -04:00
s0lrayandPaperclip dd672b1fa9 Mark Threads-Scraper as degraded (THE-53)
Last commit July 2023; likely broken due to Threads frontend changes since.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 12:15:15 -04:00
s0lrayandPaperclip db6bb9bd4d Fix TikTok and Unfurl tool accuracy (THE-53)
- TikTok-OSINT (T): marked status=degraded (last updated Oct 2022)
- Unfurl: set localInstall=true (Python package available via pip)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 12:14:46 -04:00
s0lrayandPaperclip 5a28d0ce51 Fix Fediverse tool accuracy: Fedifinder down, Fediverse_OSINT URL corrected (THE-53)
- Fedifinder: marked status=down, deprecated=true (HTTP 410, Twitter API restrictions)
- Fediverse_OSINT: corrected URL from anantshri to cyfinoid/fediverse_osint,
  marked status=degraded (last updated Nov 2022)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 12:13:30 -04:00
s0lrayandPaperclip 973d756e3b Enrich TikTok, Fediverse/Mastodon, and Threads tools with metadata (THE-53)
Populate enrichment fields (description, status, pricing, bestFor, input,
output, opsec, opsecNote, and badge flags) for 12 social network tools:

- TikTok: TikTok (M), TikTok-OSINT (T), Unfurl, yt-dlp (T)
- Fediverse/Mastodon: Fedifinder, Fediverse Observer, Fediverse_OSINT (T), Masto (T)
- Threads (new category): Bellingcat Meta Content Library, Threads Dashboard,
  Threads-Scraper (T), ThreadsRecon (T)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 12:11:30 -04:00
s0lrayandGitHub 074095aa53 Merge pull request #597 from lockfale/feature/THE-114-panel-ui-adjustments
Restructure tool details panel layout (THE-114)
2026-03-26 11:11:40 -04:00
s0lrayandPaperclip 51a8adbbda Move Report an Issue into sticky panel footer (THE-114)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 11:08:51 -04:00
s0lrayandGitHub fa3c5d1e73 Merge branch 'master' into feature/THE-114-panel-ui-adjustments 2026-03-26 11:01:52 -04:00
s0lrayandPaperclip 6d0b6e0a34 Move breadcrumb to header and shrink Open Tool button (THE-114)
- Breadcrumb now sits below the tool name inside panel-header, wrapped
  in #panel-header-text flex column; removes the need for the first HR
  divider between breadcrumb and the CTA button
- #panel-open-tool changed from block/width:100% to inline-block with
  auto width; #panel-cta-section centered with text-align so the button
  is pill-sized and no longer overflows the panel

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 10:56:14 -04:00
s0lrayandPaperclip ef885f481e Restructure tool details panel layout (THE-114)
Move Open Tool button to top (below breadcrumb), add HR dividers,
split Input→Output into its own section separate from Usage Context,
and rename Rating label to Community Rating.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 10:49:47 -04:00
s0lrayandGitHub 5da3ce8d1a Merge pull request #588 from lockfale/feature/THE-109-110-phase3-community-features
Add Phase 3 community voting and issue reporting (THE-109, THE-110)
2026-03-26 10:38:25 -04:00
s0lrayandGitHub 4a7fc253e9 Merge pull request #595 from lockfale/feature/THE-51-merge-terrorism
Merge Terrorism into Threat Intelligence (THE-51)
2026-03-26 09:19:02 -04:00
s0lrayandPaperclip a1d8f619b6 Merge Terrorism into Threat Intelligence (THE-51)
Remove redundant top-level Terrorism category. All content is already
present under Threat Intelligence > Terrorism & Extremism (added via
THE-41), with updated URLs from the research expansion. No data is lost.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 08:57:17 -04:00
s0lrayandGitHub 1dec3d3e47 Merge pull request #587 from lockfale/feature/THE-113-enrich-username-tools
Enrich Username tools in arf.json (THE-113)
2026-03-26 00:58:25 -04:00
s0lrayandPaperclip 7412c6ab19 Add Phase 3 community voting and issue reporting (THE-109, THE-110)
Backend (src/worker.js):
- Add POST /api/vote: upvote/downvote with toggle behavior, one vote per
  session per tool, returns net score
- Add POST /api/report: flag tools as dead_link/paywalled/incorrect_info;
  auto-creates GitHub issue via GitHub API when REPORT_THRESHOLD (3) unique
  reports of the same type are received (requires GITHUB_TOKEN secret)
- Update GET /api/tool-stats to include votes { up, down, score }
- Extract validateCommon() and isRateLimited() helpers to reduce duplication

Frontend (public/js/arf.js):
- Replace static rating placeholder with _renderVoteUI(): renders thumbs
  up/down buttons, reads cached vote from sessionStorage, fetches live score
  async from /api/tool-stats
- Add _castVote(): fires POST /api/vote, updates button active state and
  score display, persists user vote in sessionStorage
- Add _resetReportButtons() and _submitReport(): wire report buttons per
  panel open, POST /api/report, show inline feedback message

HTML (public/index.html):
- Replace static rating span with vote row (thumbs up, score, thumbs down)
- Replace static GitHub report link with three report buttons + feedback div

CSS (public/css/panel.css):
- Add .vote-btn, .vote-score (.positive/.negative/.zero) styles
- Add .report-btn, .panel-report-feedback styles
- Remove old #panel-report-link styles (replaced by button row)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 00:56:24 -04:00
s0lrayandPaperclip 526b728b97 Enrich Username tools with descriptions, badges, and OPSEC data (THE-113)
Populate enrichment fields for all 17 tools in the Username category
(Username Search Engines + Specific Sites). Each tool now includes
description, status, pricing, bestFor, input/output, opsec rating,
and badge flags (localInstall, googleDork, registration, editUrl,
api, invitationOnly, deprecated).

All URLs verified as live on 2026-03-26.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-26 00:49:24 -04:00
s0lrayandGitHub 7ecf95b21a Merge pull request #585 from lockfale/feature/THE-106-wrangler-kv-namespace-id
Add badge metadata fields to enriched tools in arf.json (THE-108)
2026-03-26 00:37:55 -04:00
dbd8f00043 Add badge metadata fields to enriched tools in arf.json (THE-108)
Added 7 badge fields (localInstall, googleDork, registration, editUrl,
api, invitationOnly, deprecated) to all 13 enriched tool entries.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 00:29:04 -04:00
s0lrayandGitHub 690b5068c1 Merge pull request #584 from lockfale/feature/THE-106-wrangler-kv-namespace-id
Feature/the 106 wrangler kv namespace
2026-03-25 23:55:00 -04:00
s0lrayandPaperclip f1cf58f401 Fix wrangler.jsonc KV namespace ID to full value (THE-106)
The osint_framework_kv namespace ID was truncated to "cdb975e31e"
in the initial commit. Updated to the full 32-character ID confirmed
by the board from the Cloudflare dashboard.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 23:35:19 -04:00
s0lrayandPaperclip 30ff7dc51b Enrich top 10 tools in arf.json with metadata fields (THE-108)
Add description, status, pricing, bestFor, input/output, opsec, and
opsecNote fields for: Maltego, theHarvester, SpiderFoot, Recon-ng,
Censys, BuiltWith, Have I Been Pwned, VirusTotal, and Wayback Machine.
Shodan was already enriched in THE-107. Tools appearing in multiple
categories are enriched at each location (13 entries total).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 23:31:36 -04:00
s0lrayandPaperclip 9c5d4fa070 Add click tracking Worker and frontend sendBeacon integration (THE-106)
- src/worker.js: Cloudflare Worker entry point handling POST /api/track
  and GET /api/tool-stats, falling through to ASSETS for static files
- wrangler.jsonc: wire main entry point + CLICK_DATA KV binding
  (namespace: osint_framework_kv, id: cdb975e31e)
- public/js/arf.js: fire sendBeacon to /api/track on Open Tool click

Privacy: no IPs stored, no cookies, client-generated session_hash only.
Dedup: one counted click per session per tool (1-hour TTL).
Rate limit: 60 req/min per session_hash (2-min TTL key).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 23:20:04 -04:00
s0lrayandGitHub ae7540ef41 Merge pull request #582 from lockfale/feature/THE-55-disinformation-media-verification
Add Disinformation & Media Verification category (THE-55)
2026-03-25 23:18:21 -04:00
s0lrayandPaperclip 8c5ab92c88 Fix mobile panel to full-screen overlay per board (THE-104)
Board confirmed: mobile panel should be full-screen overlay with X button,
not a bottom sheet. Simplified @media breakpoint to 100vw/100vh with no
border-radius and inherited slide-right animation from desktop.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 23:07:07 -04:00
s0lrayandPaperclip 9600931365 Add enrichment badge rendering and panel data fields (THE-107)
- Status (live/down/degraded/unknown) and pricing (free/freemium/paid/unknown)
  pill badges always shown in panel badges row with semantic colors
- OPSEC section now renders colored badge (passive/active/unknown) + opsecNote text
- Description section always visible; shows italic placeholder when no data
- Usage context renders bestFor and input→output mapping; hidden when all empty
- CTA button label now shows "Open [Tool Name] ↗" with actual tool name
- Added badge pill CSS (.badge-live, .badge-down, etc.) to panel.css
- Seeded Shodan (Discovery subcategory) with all new enrichment fields as demo

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 23:05:55 -04:00
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 ae27a0f14a Add Disinformation & Media Verification category (THE-55)
- New top-level category with 4 subcategories: Deepfake Detection,
  Fact-checking Tools, Reverse Media Search, Source Verification
- Added 8 deepfake detection tools (DeepSafe, InVID-WeVerify,
  FaceForensics++, DeepfakeDetector, DeepFake-Detect,
  DeepFake-Image-Detection, DeepfakeBench, TruthScan)
- Migrated fact-checking resources (Duke Reporters' Lab, Hoaxy,
  PolitiFact, SciCheck, Snopes, Stop Fake Tools)
- Migrated reverse media search tools (ImgOps, TinEye)
- Migrated source verification tools (FotoForensics, Verification
  Handbook, Verification Junkie)
- Removed duplicate Search Engines > Fact Checking subcategory

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 21:29:30 -04:00
s0lrayandGitHub 63b8d21067 Merge pull request #580 from lockfale/feature/THE-57-blockchain-crypto-v2
Add Mixer Tracking subcategory to Blockchain & Cryptocurrency (THE-57)
2026-03-25 19:16:55 -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
s0lrayandGitHub 35e621c0aa Merge pull request #575 from lockfale/feature/THE-96-file-cleanup
Remove stale files and update .gitignore (THE-96)
2026-03-25 16:13:24 -04:00
s0lrayandGitHub 25ac69c068 Merge pull request #576 from lockfale/feature/THE-8-redirect-updates
Update redirected URLs to final destinations (THE-8)
2026-03-25 16:12:47 -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 0f5a1b8ce7 Remove one-time redirect update script
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 16:10:03 -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