Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thatsinewave/netcraft-api-client
command-line interface for interacting with the Netcraft API
https://github.com/thatsinewave/netcraft-api-client
api-client client command-line good-first-contribution good-first-issue good-first-pr good-first-project interactive mit-license netcraft netcraft-api netcraft-api-client open-source phishing-attacks phishing-detection security security-tools submission takedown thatsinewave
Last synced: about 11 hours ago
JSON representation
command-line interface for interacting with the Netcraft API
- Host: GitHub
- URL: https://github.com/thatsinewave/netcraft-api-client
- Owner: ThatSINEWAVE
- License: mit
- Created: 2024-03-23T05:28:05.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-21T12:06:07.000Z (6 months ago)
- Last Synced: 2024-05-21T13:29:43.084Z (6 months ago)
- Topics: api-client, client, command-line, good-first-contribution, good-first-issue, good-first-pr, good-first-project, interactive, mit-license, netcraft, netcraft-api, netcraft-api-client, open-source, phishing-attacks, phishing-detection, security, security-tools, submission, takedown, thatsinewave
- Language: Python
- Homepage: https://github.com/ThatSINEWAVE/Netcraft-API-Client
- Size: 33.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Netcraft API Client
This Python script provides a command-line interface for interacting with the Netcraft API. It allows users to perform various actions such as reporting malicious URLs, malicious emails, and incorrectly blocked URLs, as well as retrieving details about submitted reports.
## Features
- Report a single URL
- Report multiple URLs from a file
- Report a malicious email (with optional password for decryption)
- Report an incorrectly blocked URL
- Get details of a submitted report
- Download files associated with a submitted report
- Get URLs associated with a submitted report
- Report an issue with a submitted report (e.g., file or URL misclassifications)
- Get available tags for file, mail, or URL reports
- Unsubscribe from notification emails## ☕ [Support my work on Ko-Fi](https://ko-fi.com/thatsinewave)
## Prerequisites
- Python 3.x
- `requests` library (install using `pip install requests`)# [Join my discord server](https://discord.gg/2nHHHBWNDw)
## Usage
1. Clone or download the repository.
2. Navigate to the project directory.
3. Run the script using `python main.py`.
4. Follow the prompts in the command-line interface to perform the desired actions.Example usage:
Then, follow the menu options and provide the required inputs.## Function Documentation
### `report_single_url(email, message, url)`
Reports a single URL to the Netcraft API.
- `email`: The email address of the submitter.
- `message`: An optional message to include with the report.
- `url`: The URL to be reported.### `report_urls_from_file(email, message, file_path)`
Reports multiple URLs from a file to the Netcraft API.
- `email`: The email address of the submitter.
- `message`: An optional message to include with the report.
- `file_path`: The path to the file containing the URLs (one URL per line).### `report_malicious_mail(email, message, mail_content, password=None)`
Reports a malicious email to the Netcraft API.
- `email`: The email address of the submitter.
- `message`: An optional message to include with the report.
- `mail_content`: The content of the malicious email in MIME format.
- `password`: An optional password for decrypting the email (if applicable).### `report_incorrectly_blocked_url(email, url, reason)`
Reports an incorrectly blocked URL to the Netcraft API.
- `email`: The email address of the submitter.
- `url`: The URL that was incorrectly blocked.
- `reason`: The reason for reporting the incorrectly blocked URL.### `get_submission_details(uuid)`
Retrieves the details of a submitted report and saves them to a JSON file.
- `uuid`: The UUID of the submitted report.
### `get_submission_files(uuid)`
Downloads the files associated with a submitted report.
- `uuid`: The UUID of the submitted report.
### `get_submission_urls(uuid)`
Retrieves the URLs associated with a submitted report and saves them to a JSON file.
- `uuid`: The UUID of the submitted report.
### `report_submission_issue(uuid, file_misclassifications, url_misclassifications, additional_info)`
Reports an issue with a submitted report, such as file or URL misclassifications.
- `uuid`: The UUID of the submitted report.
- `file_misclassifications`: A list of misclassified file names.
- `url_misclassifications`: A list of misclassified URLs.
- `additional_info`: Additional information about the issue.### `get_available_tags(tag_type)`
Retrieves the available tags for file, mail, or URL reports.
- `tag_type`: The type of tags to retrieve ('file', 'mail', or 'url').
### `unsubscribe_from_notifications(email, csrf_token)`
Unsubscribes the provided email address from notification emails.
- `email`: The email address to unsubscribe.
- `csrf_token`: The CSRF token required for unsubscribing.## Contributing
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
## License
This project is licensed under the [MIT License](LICENSE).