{"id":33374446,"url":"https://github.com/prateek-chaubey/saferweb","last_synced_at":"2025-11-28T17:06:18.103Z","repository":{"id":325477487,"uuid":"1101285678","full_name":"prateek-chaubey/SaferWeb","owner":"prateek-chaubey","description":"Safer Web is a comprehensive URL security checker that detects malicious URLs, phishing attempts, malware threats, captures website screenshots, expands shortened URLs, and provides proxified access to websites. Built with Express, Puppeteer, and Google Safe Browsing API","archived":false,"fork":false,"pushed_at":"2025-11-22T08:55:52.000Z","size":1999,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-22T09:17:31.637Z","etag":null,"topics":["deceptive-site-detector","malicious-site-detector","malicious-url-detector","malware-scanner","phishing-detector","privacy-tool","proxy-url","puppeteer","reverse-proxy","safer-web","screenshot-api","short-url","short-url-expander","url-checker","url-expander","url-safety","web-proxy","web-safety","web-security"],"latest_commit_sha":null,"homepage":"https://prateek.is-a.dev/SaferWeb/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prateek-chaubey.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-21T13:10:59.000Z","updated_at":"2025-11-22T08:43:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/prateek-chaubey/SaferWeb","commit_stats":null,"previous_names":["prateek-chaubey/websafe","prateek-chaubey/saferweb"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/prateek-chaubey/SaferWeb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prateek-chaubey%2FSaferWeb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prateek-chaubey%2FSaferWeb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prateek-chaubey%2FSaferWeb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prateek-chaubey%2FSaferWeb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prateek-chaubey","download_url":"https://codeload.github.com/prateek-chaubey/SaferWeb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prateek-chaubey%2FSaferWeb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286079811,"owners_count":27282121,"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","status":"online","status_checked_at":"2025-11-26T02:00:06.075Z","response_time":193,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["deceptive-site-detector","malicious-site-detector","malicious-url-detector","malware-scanner","phishing-detector","privacy-tool","proxy-url","puppeteer","reverse-proxy","safer-web","screenshot-api","short-url","short-url-expander","url-checker","url-expander","url-safety","web-proxy","web-safety","web-security"],"created_at":"2025-11-22T23:02:03.150Z","updated_at":"2025-11-27T10:00:44.988Z","avatar_url":"https://github.com/prateek-chaubey.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./icon.png\"\u003e\n\n**Protect yourself online with real-time URL security analysis**\n\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](https://choosealicense.com/licenses/mit/)\n[![Node Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen?style=flat-square\u0026logo=node.js)](https://nodejs.org/)\n[![Express.js](https://img.shields.io/badge/Express.js-4.18.2-black?style=flat-square\u0026logo=express)](https://expressjs.com/)\n[![Puppeteer](https://img.shields.io/badge/Puppeteer-21.11.0-40B5A4?style=flat-square\u0026logo=puppeteer)](https://pptr.dev/)\n\n[Features](#features) • [Demo](#demo) • [Deployment](#deployment) • [API](#api-endpoints)\n\n\u003c/div\u003e\n\n---\n\n## Features\n\n- **Malware Detection** - Identify malicious websites\n- **Phishing Protection** - Detect deceptive sites\n- **Threat Analysis** - Real-time security checks powered by Google Safe Browsing API\n- **Website Screenshots** - Capture any website in real-time\n- **URL Expansion** - Expand shortened links and track redirections\n- **Redirection Detection** - Track and display URL redirects\n- **Proxified Access** - Anonymous browsing through proxy\n\n---\n\n## Demo\n\nCheck out the live demo: **[https://prateek.is-a.dev/SaferWeb/](https://prateek.is-a.dev/SaferWeb/)**\n\n### Screenshots\n\n\u003cdiv align=\"center\"\u003e\n\n| Safe URL Detection | Malicious URL Warning |\n|:------------------:|:---------------------:|\n| ![Safe URL](./safe.jpg) | ![Malicious URL](./malicious.jpg) |\n\n\u003c/div\u003e\n\n---\n\n## Quick Start\n\n### Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n- **Node.js** (v20.0.0 or higher) - [Download](https://nodejs.org/)\n- **npm** or **yarn** package manager\n- **Google Safe Browsing API Key** - [Get API Key](https://developers.google.com/safe-browsing/v4/get-started)\n\n---\n\n## Local Installation\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/prateek-chaubey/SaferWeb.git\ncd SaferWeb\n```\n\n### Install Dependencies\n\n```bash\nnpm install\n```\n\n### Configure Environment Variables\n\nCreate a `.env` file in the root directory:\n\n```env\nSAFE_BROWSING_API_KEY=your_google_safe_browsing_api_key_here\nPORT=3000\n```\n\n\u003e [!NOTE]\n\u003e Visit [Google Safe Browsing API](https://developers.google.com/safe-browsing/v4/get-started) to obtain your free API key.\n\n### Run the Application\n\n**Development Mode (with auto-reload):**\n```bash\nnpm run dev\n```\n\n**Production Mode:**\n```bash\nnpm start\n```\n\n### Access the Application\n\nOpen your browser and navigate to:\n```\nhttp://localhost:3000\n```\n\n---\n\n## Deployment\n\n### Deploy to Render.com\n\n\u003cdiv align=\"center\"\u003e\n\n[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com)\n\n\u003c/div\u003e\n\n#### Step-by-Step Guide\n\n**1. Create a Render Account**\n- Visit [Render.com](https://render.com) and sign up\n\n**2. Create a New Web Service**\n- Click **\"New +\"** → **\"Web Service\"**\n- Connect your GitHub repository\n\n**3. Configure Build Settings**\n\n| Setting | Value |\n|---------|-------|\n| **Name** | SaferWeb |\n| **Environment** | Node |\n| **Build Command** | `npm install` |\n| **Start Command** | `npm start` |\n| **Plan** | Free |\n\n**4. Add Environment Variables**\n\nGo to **Environment** tab and add:\n\n```\nSAFE_BROWSING_API_KEY = your_google_safe_browsing_api_key\n```\n\n**5. Deploy**\n- Click **\"Create Web Service\"**\n- Wait for deployment to complete (3-5 minutes)\n- Your app will be live at `https://your-app-name.onrender.com`\n\n---\n\n## API Endpoints\n\n### Safety Check\n```http\nGET /safety?url=https://example.com\n```\n\n**Response:**\n```json\n[\n  \"https://example.com\",\n  {\n    \"matches\": [\n      {\n        \"threatType\": \"MALWARE\",\n        \"platformType\": \"ANY_PLATFORM\",\n        \"threat\": {\n          \"url\": \"https://example.com\"\n        }\n      }\n    ]\n  }\n]\n```\n\n### Screenshot Capture\n```http\nGET /screenshot?page=https://example.com\u0026fullpage=true\n```\n\n**Parameters:**\n- `page` (required) - URL to capture\n- `fullpage` (optional) - Capture full page (true/false)\n\n**Response:** PNG image\n\n### Proxified Access\n```http\nGET /proxy?url=https://example.com\n```\n\n**Response:** Proxified website content\n\n---\n\n## Technology Stack\n\n\u003cdiv align=\"center\"\u003e\n\n| Technology | Purpose |\n|------------|---------|\n| ![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white) | Runtime Environment |\n| ![Express](https://img.shields.io/badge/Express.js-000000?style=for-the-badge\u0026logo=express\u0026logoColor=white) | Web Framework |\n| ![Puppeteer](https://img.shields.io/badge/Puppeteer-40B5A4?style=for-the-badge\u0026logo=googlechrome\u0026logoColor=white) | Headless Browser |\n| ![Google Safe Browsing](https://img.shields.io/badge/Google%20Safe%20Browsing-4285F4?style=for-the-badge\u0026logo=google\u0026logoColor=white) | Threat Detection |\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n# Made with ❤️ for a Safer Internet\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprateek-chaubey%2Fsaferweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprateek-chaubey%2Fsaferweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprateek-chaubey%2Fsaferweb/lists"}