Commit Graph
724 Commits
Author SHA1 Message Date
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
s0lrayandPaperclip 290f323bfd Remove stale files and update .gitignore (THE-96)
- Delete .bowerrc: Bower was deprecated years ago; project uses npm.
  The rule was already in .gitignore but the file was still committed.
- Untrack tools/link_audit_report.json: generated CI artifact should
  not be in source control; add to .gitignore so reruns don't re-add it.
- Add .agents/ to .gitignore: Paperclip runtime dir, not project source.
- Fix package.json repo/bugs/homepage URLs: still pointed to old ARF
  repo name instead of OSINT-Framework.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 16:07:18 -04:00
s0lrayandGitHub d399af21ab Merge pull request #574 from lockfale/feature/THE-95-link-check-schedule
Restrict link-check to weekly schedule only, move to Saturday (THE-95)
2026-03-25 15:44:42 -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
s0lrayandPaperclip b96e7a2343 Restrict link-check to weekly schedule only, move to Saturday (THE-95)
- Remove push-to-master trigger from link-check job; it now runs only on
  the weekly cron schedule to avoid hammering external sites on every push
- Change schedule from Sunday 02:00 UTC to Saturday 08:00 UTC as requested

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 15:39:02 -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