Where to Find Tool Listings for Specific OSINT Categories in Legendary OSINT
TLDR: Legendary OSINT stores its curated tool inventory as individual Markdown files inside the docs/ directory, with each file dedicated to a specific investigative domain such as People & Social, Maritime, or Malware & CTI.
The K2SOsint/Legendary_OSINT repository maintains a comprehensive collection of open-source intelligence tools organized by investigative focus. Rather than storing tools in a database or JSON file, the project uses a simple Markdown-based architecture that makes tool listings for specific OSINT categories easily accessible and searchable. This flat-file approach allows investigators to quickly locate resources for everything from social media reconnaissance to maritime tracking without navigating complex interfaces.
Directory Structure and File Organization
The repository root contains a docs/ folder that houses all category-specific tool listings. According to the Legendary OSINT source code structure, each investigative specialty receives its own dedicated Markdown file named after the domain it covers.
Key category files include:
| OSINT Category | File Path | Description |
|---|---|---|
| People & Social | docs/people-social.md |
Social media and people-centric investigation tools |
| Maritime | docs/maritime.md |
Ship tracking and maritime intelligence utilities |
| Malware & CTI | docs/malware-cti.md |
Cyber threat intelligence and malware analysis |
| Infrastructure & Domains | docs/infra-domains.md |
DNS, domain reconnaissance, and network infrastructure |
| Video OSINT | docs/video-osint.md |
Video analysis and metadata extraction tools |
| News & Media | docs/news-media.md |
Media monitoring and news verification resources |
Markdown Format and Tool Entries
Inside each file, tools follow a consistent bullet-point format. Each entry typically includes the tool name as a hyperlink, followed by a dash and brief description. For example, entries in docs/maritime.md appear as:
- [Cruisin.me Tracker](http://www.cruisin.me/cruise-ship-tracker) — Real-time cruise ship tracking
This standardized structure enables both human reading and programmatic parsing.
Accessing Tool Listings from the Command Line
Because the tool listings are plain text Markdown, you can search them using standard Unix utilities without loading a database or application.
To extract all tool entries from a specific category:
# List every tool in the People & Social category
grep '^- ' docs/people-social.md
This pattern matches lines beginning with a dash and space, which corresponds to bullet-point entries in the Markdown files.
Programmatically Parsing Category Files
For automation workflows, you can parse these Markdown files using Python to extract structured data. The consistent format allows regex patterns to capture tool names, URLs, and descriptions.
import re
from pathlib import Path
def load_tools(category_file: str) -> dict:
"""Parse a category Markdown file into a dictionary of tools."""
tools = {}
content = Path(category_file).read_text()
for line in content.splitlines():
if line.startswith('- '):
# Extract markdown link [name](url) — description
match = re.search(r'\[(.+?)\]\((.+?)\)\s*—\s*(.+)', line)
if match:
name, url, desc = match.groups()
tools[name] = {"url": url, "description": desc}
return tools
# Load People & Social tools
people_tools = load_tools('docs/people-social.md')
print(f"Loaded {len(people_tools)} tools from People & Social category")
Retrieving Specific Tool URLs
You can extend this approach to build lookup functions for specific tools:
def get_tool_url(category_file: str, tool_name: str) -> str | None:
"""Retrieve the URL for a specific tool by name."""
tools = load_tools(category_file)
tool = tools.get(tool_name)
return tool["url"] if tool else None
# Example: Get maritime tool URL
url = get_tool_url('docs/maritime.md', 'Cruisin.me Tracker')
print(url) # Output: http://www.cruisin.me/cruise-ship-tracker
Summary
- Tool listings for specific OSINT categories reside in the
docs/directory as individual Markdown files - Each file follows the naming convention
{category-name}.md(e.g.,people-social.md,maritime.md) - Entries use standard Markdown bullet points with hyperlinks and descriptions
- The flat-file structure supports both manual browsing and programmatic access via
grep,ripgrep, or Python scripts - Categories cover domains including People & Social, Maritime, Malware & CTI, Infrastructure & Domains, Video OSINT, and News & Media
Frequently Asked Questions
How are tools organized in Legendary OSINT?
Tools are organized by investigative domain into separate Markdown files within the docs/ folder. Each file represents a distinct OSINT category, such as docs/malware-cti.md for cyber threat intelligence tools or docs/infra-domains.md for infrastructure reconnaissance resources.
Can I search tool listings programmatically?
Yes. Because the tool listings are plain Markdown files, you can search them using command-line tools like grep or ripgrep, or parse them using Python, Ruby, or any language that supports regex. The consistent bullet-point format makes it straightforward to extract tool names, URLs, and descriptions programmatically.
What categories are available in the docs folder?
The repository includes categories such as People & Social (people-social.md), Maritime (maritime.md), Malware & CTI (malware-cti.md), Infrastructure & Domains (infra-domains.md), Video OSINT (video-osint.md), and News & Media (news-media.md). The repository maintains additional specialized categories as the project expands.
How do I contribute new tools to a specific category?
To contribute a new tool, locate the appropriate Markdown file in docs/ that matches the tool's investigative domain, then add a new bullet point following the existing format: - [Tool Name](URL) — Description. The README.md file at the repository root contains detailed contribution guidelines for the K2SOsint/Legendary_OSINT project.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →