From 973d756e3b50c6d1da1b5761c5895974c3ff9eaa Mon Sep 17 00:00:00 2001 From: s0lray Date: Thu, 26 Mar 2026 12:11:30 -0400 Subject: [PATCH 1/4] 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 --- public/arf.json | 246 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 244 insertions(+), 2 deletions(-) diff --git a/public/arf.json b/public/arf.json index 086d965..8e01e4b 100644 --- a/public/arf.json +++ b/public/arf.json @@ -2691,7 +2691,88 @@ { "name": "Fediverse/Mastodon", "type": "folder", - "children": [] + "children": [ + { + "name": "Fedifinder", + "type": "url", + "url": "https://fedifinder.glitch.me/", + "description": "Web tool that scans your Twitter/X following list to find accounts that have migrated to the Fediverse by checking bios and pinned tweets for Mastodon handles.", + "status": "live", + "pricing": "free", + "bestFor": "Finding Twitter contacts who moved to Mastodon/Fediverse", + "input": "Twitter/X account (via OAuth login)", + "output": "CSV list of discovered Fediverse handles from your Twitter contacts", + "opsec": "active", + "opsecNote": "Requires Twitter OAuth authentication; scans public bios and tweets of followed accounts.", + "localInstall": false, + "googleDork": false, + "registration": true, + "editUrl": false, + "api": false, + "invitationOnly": false, + "deprecated": false + }, + { + "name": "Fediverse Observer", + "type": "url", + "url": "https://fediverse.observer/", + "description": "Real-time dashboard tracking Fediverse instances across Mastodon, Pleroma, Misskey, PeerTube, and other ActivityPub platforms with server statistics and geographic mapping.", + "status": "live", + "pricing": "free", + "bestFor": "Discovering and mapping Fediverse instances by software, country, or size", + "input": "Search filters (software type, country, language, instance name)", + "output": "Instance list with user counts, uptime, software version, registration status, and geographic location", + "opsec": "passive", + "opsecNote": "Queries the Fediverse Observer database, not individual instances; no contact with target servers.", + "localInstall": false, + "googleDork": false, + "registration": false, + "editUrl": false, + "api": true, + "invitationOnly": false, + "deprecated": false + }, + { + "name": "Fediverse_OSINT (T)", + "type": "url", + "url": "https://github.com/anantshri/fediverse_osint", + "description": "Open-source tool for searching and gathering intelligence across multiple Fediverse platforms including Mastodon, Pleroma, and Misskey instances.", + "status": "live", + "pricing": "free", + "bestFor": "Cross-instance Fediverse user and content search", + "input": "Username or search terms", + "output": "User profiles and posts found across Fediverse instances", + "opsec": "active", + "opsecNote": "Queries multiple Fediverse instances directly; requests may be logged by instance administrators.", + "localInstall": true, + "googleDork": false, + "registration": false, + "editUrl": false, + "api": false, + "invitationOnly": false, + "deprecated": false + }, + { + "name": "Masto (T)", + "type": "url", + "url": "https://github.com/C3n7ral051nt4g3ncy/Masto", + "description": "Python-based Mastodon OSINT tool for investigating user accounts across instances. Retrieves profile details, toots, followers, and account metadata.", + "status": "live", + "pricing": "free", + "bestFor": "Mastodon user profile investigation and account analysis", + "input": "Mastodon username and instance (e.g., user@mastodon.social)", + "output": "Profile details, recent toots, follower/following lists, account creation date, and metadata", + "opsec": "active", + "opsecNote": "Makes API requests directly to the target Mastodon instance; instance admins can see request logs.", + "localInstall": true, + "googleDork": false, + "registration": false, + "editUrl": false, + "api": true, + "invitationOnly": false, + "deprecated": false + } + ] }, { "name": "Instagram", @@ -2935,7 +3016,82 @@ { "name": "TikTok (M)", "type": "url", - "url": "https://www.tiktok.com/@username" + "url": "https://www.tiktok.com/@username", + "description": "Direct TikTok profile lookup by manually editing the username in the URL. Quick way to check if a target has a TikTok presence.", + "status": "live", + "pricing": "free", + "bestFor": "Quick TikTok profile existence check", + "input": "TikTok username (replace 'username' in URL)", + "output": "Public TikTok profile page with videos, bio, and follower counts", + "opsec": "passive", + "opsecNote": "Standard web request to TikTok; profile views are not visible to the account owner without login.", + "localInstall": false, + "googleDork": false, + "registration": false, + "editUrl": true, + "api": false, + "invitationOnly": false, + "deprecated": false + }, + { + "name": "TikTok-OSINT (T)", + "type": "url", + "url": "https://github.com/Omicron166/TikTok-OSINT", + "description": "Python CLI tool for collecting OSINT data from TikTok profiles including user metadata, video listings, and engagement statistics.", + "status": "live", + "pricing": "free", + "bestFor": "Automated TikTok profile data collection", + "input": "TikTok username or profile URL", + "output": "User metadata, video listings, engagement stats, and follower data", + "opsec": "active", + "opsecNote": "Makes direct API requests to TikTok servers; may trigger rate limiting.", + "localInstall": true, + "googleDork": false, + "registration": false, + "editUrl": false, + "api": false, + "invitationOnly": false, + "deprecated": false + }, + { + "name": "Unfurl", + "type": "url", + "url": "https://dfir.blog/unfurl/", + "description": "Web-based tool that extracts and visualizes metadata embedded in URLs, including TikTok share links, timestamps, and tracking parameters.", + "status": "live", + "pricing": "free", + "bestFor": "URL metadata extraction and timestamp analysis", + "input": "Any URL (including TikTok share/video links)", + "output": "Visual graph of extracted URL components, timestamps, and embedded identifiers", + "opsec": "passive", + "opsecNote": "Parses URL structure locally in browser or on the Unfurl server; does not contact the target platform.", + "localInstall": false, + "googleDork": false, + "registration": false, + "editUrl": false, + "api": false, + "invitationOnly": false, + "deprecated": false + }, + { + "name": "yt-dlp (T)", + "type": "url", + "url": "https://github.com/yt-dlp/yt-dlp", + "description": "Feature-rich command-line video downloader supporting 1000+ sites including TikTok. Extracts video files, metadata, thumbnails, subtitles, and comments.", + "status": "live", + "pricing": "free", + "bestFor": "Downloading TikTok videos and extracting metadata for preservation", + "input": "TikTok video URL or user profile URL", + "output": "Downloaded video files, JSON metadata, thumbnails, subtitles, and comments", + "opsec": "active", + "opsecNote": "Makes direct HTTP requests to TikTok to download content; IP is visible to the platform.", + "localInstall": true, + "googleDork": false, + "registration": false, + "editUrl": false, + "api": false, + "invitationOnly": false, + "deprecated": false } ] }, @@ -2950,6 +3106,92 @@ } ] }, + { + "name": "Threads", + "type": "folder", + "children": [ + { + "name": "Bellingcat Meta Content Library", + "type": "url", + "url": "https://bellingcat.gitbook.io/toolkit/more/all-tools/meta-content-library", + "description": "Bellingcat's guide to Meta's Content Library, a research platform providing near-real-time searchable archive of public Threads, Facebook, and Instagram content.", + "status": "live", + "pricing": "free", + "bestFor": "Large-scale Threads content search for academic and non-profit research", + "input": "Search queries, date ranges, content filters", + "output": "Public posts, engagement metrics, and text-in-image search results from Threads and other Meta platforms", + "opsec": "passive", + "opsecNote": "Searches Meta's research archive; does not interact with target accounts directly. Requires academic/non-profit eligibility approval.", + "localInstall": false, + "googleDork": false, + "registration": true, + "editUrl": false, + "api": true, + "invitationOnly": true, + "deprecated": false + }, + { + "name": "Threads Dashboard", + "type": "url", + "url": "https://www.threadsdashboard.com/", + "description": "Analytics and insights platform for Threads accounts using the official API. Tracks audience demographics, engagement metrics, and historical posting data.", + "status": "live", + "pricing": "freemium", + "bestFor": "Threads account analytics and engagement investigation", + "input": "Threads username or account URL", + "output": "Audience demographics, engagement rates, posting frequency, optimal posting times, and historical data", + "opsec": "passive", + "opsecNote": "Retrieves data via Meta's official Threads API; no direct contact with the target account.", + "localInstall": false, + "googleDork": false, + "registration": true, + "editUrl": false, + "api": true, + "invitationOnly": false, + "deprecated": false + }, + { + "name": "Threads-Scraper (T)", + "type": "url", + "url": "https://github.com/Zeeshanahmad4/Threads-Scraper", + "description": "Open-source data extraction tool for Threads posts with JSON, CSV, and XML export. Collects posts at 300-600 per hour without authentication.", + "status": "live", + "pricing": "free", + "bestFor": "Bulk extraction of Threads posts for offline analysis", + "input": "Threads profile URL or post URL", + "output": "Extracted posts in JSON, CSV, or XML format with metadata", + "opsec": "active", + "opsecNote": "Scrapes Threads directly; depends on site structure and may trigger rate limiting.", + "localInstall": true, + "googleDork": false, + "registration": false, + "editUrl": false, + "api": false, + "invitationOnly": false, + "deprecated": false + }, + { + "name": "ThreadsRecon (T)", + "type": "url", + "url": "https://github.com/offseq/threadsrecon", + "description": "Python OSINT tool for Threads profile analysis including sentiment analysis, network visualization, and automated PDF reporting.", + "status": "live", + "pricing": "free", + "bestFor": "Threads profile investigation with sentiment and network analysis", + "input": "Threads username", + "output": "Profile analysis, sentiment scores, network graphs, and PDF investigation reports", + "opsec": "active", + "opsecNote": "Makes direct requests to Threads to collect profile and post data for analysis.", + "localInstall": true, + "googleDork": false, + "registration": false, + "editUrl": false, + "api": false, + "invitationOnly": false, + "deprecated": false + } + ] + }, { "name": "Steam, Discord & Gaming Networks", "type": "folder", From 5a28d0ce51685d3a2aea4ba41600a00506d4107e Mon Sep 17 00:00:00 2001 From: s0lray Date: Thu, 26 Mar 2026 12:13:30 -0400 Subject: [PATCH 2/4] 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 --- public/arf.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/arf.json b/public/arf.json index 8e01e4b..460cdf4 100644 --- a/public/arf.json +++ b/public/arf.json @@ -2696,8 +2696,8 @@ "name": "Fedifinder", "type": "url", "url": "https://fedifinder.glitch.me/", - "description": "Web tool that scans your Twitter/X following list to find accounts that have migrated to the Fediverse by checking bios and pinned tweets for Mastodon handles.", - "status": "live", + "description": "Web tool that scanned Twitter profiles to find Fediverse/Mastodon handles among your contacts and exported them as CSV. The hosted instance now returns HTTP 410 and is no longer functional due to Twitter API restrictions.", + "status": "down", "pricing": "free", "bestFor": "Finding Twitter contacts who moved to Mastodon/Fediverse", "input": "Twitter/X account (via OAuth login)", @@ -2710,7 +2710,7 @@ "editUrl": false, "api": false, "invitationOnly": false, - "deprecated": false + "deprecated": true }, { "name": "Fediverse Observer", @@ -2735,9 +2735,9 @@ { "name": "Fediverse_OSINT (T)", "type": "url", - "url": "https://github.com/anantshri/fediverse_osint", - "description": "Open-source tool for searching and gathering intelligence across multiple Fediverse platforms including Mastodon, Pleroma, and Misskey instances.", - "status": "live", + "url": "https://github.com/cyfinoid/fediverse_osint", + "description": "Python CLI tool for checking whether a domain belongs to the Fediverse and hunting usernames across discoverable Fediverse servers.", + "status": "degraded", "pricing": "free", "bestFor": "Cross-instance Fediverse user and content search", "input": "Username or search terms", From db6bb9bd4dd8263ef5a868718b2216c9112bb6d6 Mon Sep 17 00:00:00 2001 From: s0lray Date: Thu, 26 Mar 2026 12:14:46 -0400 Subject: [PATCH 3/4] 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 --- public/arf.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/arf.json b/public/arf.json index 460cdf4..770ccdc 100644 --- a/public/arf.json +++ b/public/arf.json @@ -3037,8 +3037,8 @@ "name": "TikTok-OSINT (T)", "type": "url", "url": "https://github.com/Omicron166/TikTok-OSINT", - "description": "Python CLI tool for collecting OSINT data from TikTok profiles including user metadata, video listings, and engagement statistics.", - "status": "live", + "description": "Python CLI tool for collecting OSINT data from TikTok profiles including user metadata, video listings, and engagement statistics. Last updated October 2022.", + "status": "degraded", "pricing": "free", "bestFor": "Automated TikTok profile data collection", "input": "TikTok username or profile URL", @@ -3057,15 +3057,15 @@ "name": "Unfurl", "type": "url", "url": "https://dfir.blog/unfurl/", - "description": "Web-based tool that extracts and visualizes metadata embedded in URLs, including TikTok share links, timestamps, and tracking parameters.", + "description": "Web and CLI tool that extracts and visualizes metadata embedded in URLs, including TikTok share links, timestamps, and tracking parameters. Also installable locally via Python.", "status": "live", "pricing": "free", "bestFor": "URL metadata extraction and timestamp analysis", "input": "Any URL (including TikTok share/video links)", "output": "Visual graph of extracted URL components, timestamps, and embedded identifiers", "opsec": "passive", - "opsecNote": "Parses URL structure locally in browser or on the Unfurl server; does not contact the target platform.", - "localInstall": false, + "opsecNote": "Parses URL structure locally in browser or on the Unfurl server; does not contact the target platform. Local install available for sensitive investigations.", + "localInstall": true, "googleDork": false, "registration": false, "editUrl": false, From dd672b1fa9142b887d11c6c2085e1ef656ff8ce6 Mon Sep 17 00:00:00 2001 From: s0lray Date: Thu, 26 Mar 2026 12:15:15 -0400 Subject: [PATCH 4/4] Mark Threads-Scraper as degraded (THE-53) Last commit July 2023; likely broken due to Threads frontend changes since. Co-Authored-By: Paperclip --- public/arf.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/arf.json b/public/arf.json index 770ccdc..b8b4568 100644 --- a/public/arf.json +++ b/public/arf.json @@ -3154,8 +3154,8 @@ "name": "Threads-Scraper (T)", "type": "url", "url": "https://github.com/Zeeshanahmad4/Threads-Scraper", - "description": "Open-source data extraction tool for Threads posts with JSON, CSV, and XML export. Collects posts at 300-600 per hour without authentication.", - "status": "live", + "description": "Python browser automation tool that scrapes public Threads posts and profiles without authentication, outputting structured data in JSON, CSV, or XML. Last updated July 2023.", + "status": "degraded", "pricing": "free", "bestFor": "Bulk extraction of Threads posts for offline analysis", "input": "Threads profile URL or post URL",