{"id":22864041,"url":"https://github.com/arnavk-09/phishing-detection","last_synced_at":"2026-05-03T18:34:13.668Z","repository":{"id":183465262,"uuid":"670092922","full_name":"ArnavK-09/phishing-detection","owner":"ArnavK-09","description":"🎣 Detect Phishing URLs with Data Pre-fitted... API \u0026 Web UI","archived":false,"fork":false,"pushed_at":"2023-08-12T16:45:01.000Z","size":20275,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"with/flask","last_synced_at":"2025-03-28T21:01:46.335Z","etag":null,"topics":["csv","data","fastapi","flask","python","scikit-learn"],"latest_commit_sha":null,"homepage":"https://phishing-site-1q5k.onrender.com","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArnavK-09.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-24T09:25:23.000Z","updated_at":"2023-08-12T16:53:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"b07bb67d-c7c6-4438-a3e4-1a863207e78d","html_url":"https://github.com/ArnavK-09/phishing-detection","commit_stats":null,"previous_names":["arnavk-09/cyberami","arnavk-09/phishing-detection"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArnavK-09%2Fphishing-detection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArnavK-09%2Fphishing-detection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArnavK-09%2Fphishing-detection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArnavK-09%2Fphishing-detection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArnavK-09","download_url":"https://codeload.github.com/ArnavK-09/phishing-detection/tar.gz/refs/heads/with/flask","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246446330,"owners_count":20778781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","data","fastapi","flask","python","scikit-learn"],"created_at":"2024-12-13T11:18:55.755Z","updated_at":"2026-05-03T18:34:08.634Z","avatar_url":"https://github.com/ArnavK-09.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Phishing URL Detection Website**\n\n![Python](https://img.shields.io/badge/Python-3.8%2B-blue.svg)\n![FastAPI](https://img.shields.io/badge/Flask-2.1%2B-red.svg)\n![License](https://img.shields.io/github/license/ArnavK-09/phishing-detection)\n\n## 📚 Overview\n\nThis repository contains a FastAPI-based web API that helps determine if a URL is bad (potentially phishing) or good (not malicious). The API uses a Machine Learning model trained on a dataset of over 4,000 URLs, categorizing them as \"bad\" or \"good\".\n\nThe model is based on a Logistic Regression classifier using the Term Frequency-Inverse Document Frequency (TF-IDF) vectorizer for text representation. It has been pre-trained on the provided dataset of URLs and can quickly classify new URLs.\n\n## 🚚 Installation\n\n1. Clone this repository to your local machine:\n\n```bash\ngit clone https://github.com/yourusername/phishing-url-detection.git\ncd phishing-url-detection\n```\n\n2. Install the required dependencies using `pip`:\n\n```bash\npip install flask pandas scikit-learn gunicorn\n```\n\n\n## 🖥️ Using Website or API\n\n1. Prepare your dataset:\n   - Ensure you have a CSV file named `data/main.csv` containing the list of URLs to be categorized.\n   - The CSV file should have two columns: `URL` (containing the URLs) and `Label` (with values \"bad\" or \"good\" indicating the classification).\n\n2. Prepare Model with Dataset\n\n```bash\npython3 model.py\n````\n\n3. Start the Flask server:\n\n```bash\ngunicorn app:app \n```\n\n4. Access the Web Interface:\n   - Open your web browser or a tool like Postman.\n   - Go to `http://localhost:8000` to view the API introduction and server information.\n\n5. Check URLs API for Phishing:\n\n   - To check if a specific URL is bad or good, use the `/checkurl` endpoint with the `url` parameter:\n\n   - **Request:**\n\n     ```\n     GET http://localhost:8000/checkurl?url=https://example.com\n     ```\n\n   - **Response:**\n\n     ```\n     {\n         \"url\": \"https://example.com\",\n         \"result\": \"safe\" || \"harmful\"\n     }\n     ```\n\n   The `type` field can have values \"good\" or \"bad,\" indicating the classification result.\n\n## ⚡ Key Points\n\n- 🚀 - Exciting features and blazing-fast performance.\n- 💡 - Insightful explanations and helpful tips.\n- 📝 - Clear and concise code blocks.\n- ⚔️ - API plus Website UI\n- ✨ - Beautiful Materialize UI for Website\n- 📦 - Simple installation and setup instructions.\n- 🤖 - Smart Machine Learning model behind the scenes.\n- 🔒 - Improved security with URL classification.\n\n# 📃 License\n\nThis project is licensed under the 'Unlicense' License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n\u003e **For Fast API Version:- [Click Here](https://github.com/ArnavK-09/phishing-detection/tree/with/fastapi)**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnavk-09%2Fphishing-detection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farnavk-09%2Fphishing-detection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farnavk-09%2Fphishing-detection/lists"}