Home

Awesome

OSINT Eye Documentation

Overview

OSINT Eye is a desktop application built using WPF (Windows Presentation Foundation) in C#. The application provides functionality for querying GitHub repositories, finding user emails, social media account lookups, and subdomain enumeration. It interacts with GitHub’s API and utilizes a database to store email and author information for faster subsequent queries. The application also provides export capabilities for results to CSV files.

Application Screenshot

Key Features:

Installation

Components

1. GitHub Username Finder (by Email)

Functionality:

Usage:

API Call:

Example Code Snippet:

private async Task<string> FindUserNameByEmail(string email)
{
    using HttpClient client = new HttpClient();
    var url = $"{API_URL}/search/users?q={email}";
    var result = await ApiCall(client, url);
    // Process the response to extract the username.
}

2. GitHub Email Finder (by Username)

Functionality:

Database Storage:

Example Code Snippet:

using (var context = new AppDbContext())
{
    var storedEmails = context.EmailAuthors
                               .Where(ea => ea.Author == username)
                               .Select(ea => new { ea.Email, ea.Author })
                               .ToList();
    // If emails are found in the database, return them.
}

3. Email Copy to Clipboard

Functionality:

Example Code Snippet:

Clipboard.SetText(rowClipboardData);
MessageBox.Show("Email copied to clipboard.", "Email Copied", MessageBoxButton.OK, MessageBoxImage.Information);

4. Social Media Account Finder

Functionality:

Example Code Snippet:

await socialAccountFinderController.CheckWebsitesAsync(username,
    status => SocialAccountResult.Text = status,
    resultUrl => AddResult(resultUrl)
);

Result Handling:

5. Subdomain Finder

Functionality:

Example Code Snippet:

var subdomains = await subdomainFinderController.FindSubdomainsAsync(domain);
foreach (var subdomain in subdomains)
{
    SubDomainResults.Items.Add(subdomain);
}

6. Export to CSV

Functionality:

Example Code Snippet:

var saveFileDialog = new Microsoft.Win32.SaveFileDialog
{
    Filter = "CSV file (*.csv)|*.csv",
    Title = "Export Emails to CSV",
    FileName = "emails.csv"
};

Helper Functions

ApiCall Method

private async Task<JsonNode> ApiCall(HttpClient client, string url)
{
    await Task.Delay(DELAY);
    var response = await client.SendAsync(request);
    // Parse and return the response as JSON.
}

DisplayMessage

private void DisplayMessage(TextBlock statusTextBlock, string message)
{
    statusTextBlock.Text = message;
}

User Interface Components

  1. TextBoxes: For user inputs such as email, username, and domain.
  2. Buttons: Trigger various search and export functionalities.
  3. DataGrids: Display search results (Emails, Social Media Accounts, Subdomains).
  4. TextBlocks: For displaying status messages and results.

External Libraries

Error Handling

Conclusion

OSINT Eye is a powerful desktop tool for GitHub information retrieval, social media account searching, and subdomain enumeration. It provides a user-friendly interface and efficiently handles data with caching, rate-limiting, and error-handling mechanisms. Users can easily export their results for further use.

Disclaimer

OSINT Eye is intended for legal and ethical use only. The tool is designed to facilitate open-source intelligence (OSINT) gathering by leveraging publicly available data. Users are responsible for ensuring that their actions comply with applicable laws, regulations, and terms of service of the platforms being queried, including but not limited to GitHub's API policies. The developers of OSINT Eye assume no responsibility for any misuse of this tool or any damages resulting from its use. Always obtain proper authorization before querying or interacting with third-party services.