{"id":48355144,"url":"https://github.com/onezmo65-code/email-cleaner","last_synced_at":"2026-04-05T11:01:32.432Z","repository":{"id":348647120,"uuid":"1199154409","full_name":"onezmo65-code/email-cleaner","owner":"onezmo65-code","description":"Bulk-clean Yahoo and Gmail inboxes — delete spam senders in bulk, running locally on your PC.Rapid decongestion of email in bulk. Classifies by sender, frequency and flags potential spam. Arrange according to email source, date, and number of emails or spam. Exclude or include senders.","archived":false,"fork":false,"pushed_at":"2026-04-02T06:59:14.000Z","size":149,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-02T18:35:56.864Z","etag":null,"topics":["email","gmail","node-js","productivity","react","spam","yahoo"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/onezmo65-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"ko_fi":"diskava"}},"created_at":"2026-04-02T05:05:14.000Z","updated_at":"2026-04-02T06:59:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/onezmo65-code/email-cleaner","commit_stats":null,"previous_names":["onezmo65-code/email-cleaner"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/onezmo65-code/email-cleaner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onezmo65-code%2Femail-cleaner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onezmo65-code%2Femail-cleaner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onezmo65-code%2Femail-cleaner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onezmo65-code%2Femail-cleaner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onezmo65-code","download_url":"https://codeload.github.com/onezmo65-code/email-cleaner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onezmo65-code%2Femail-cleaner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31433044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["email","gmail","node-js","productivity","react","spam","yahoo"],"created_at":"2026-04-05T11:01:31.369Z","updated_at":"2026-04-05T11:01:32.426Z","avatar_url":"https://github.com/onezmo65-code.png","language":"TypeScript","funding_links":["https://ko-fi.com/diskava"],"categories":[],"sub_categories":[],"readme":"# Email Cleaner\n\nA local desktop web app to bulk-clean Yahoo and Gmail inboxes.\nConnect your accounts, scan thousands of emails, and delete spam senders in bulk — all from your browser, running privately on your own PC.\n\n![Email Cleaner screenshot](frontend/src/assets/hero.png)\n\n---\n\n## Features\n\n- **Yahoo Mail** — connect with an App Password (no developer account needed)\n- **Gmail** — connect via OAuth (free Google Cloud project)\n- **Grouped sender view** — see how many emails each sender has sent, sort by count/domain/date\n- **Bulk delete** — select all from a sender and delete from the server in one click\n- **Report Spam** — move emails to your Spam/Junk folder on the server\n- **Whitelist / Exclude** — permanently exclude senders, or hide them for the current session only\n- **Unsubscribe** — auto-sends the List-Unsubscribe request for newsletters\n- **DNSBL spam check** — optional DNS blocklist scan against public spam databases\n- **CSV export** — download your flagged senders as a spreadsheet\n- **5 color themes** — Light, Dark, Ocean, Sunset, Forest\n- **Search** — find all emails from any address or domain across your inbox\n\n---\n\n## Requirements\n\n- Windows 10 or later\n- [Node.js v20 LTS](https://nodejs.org/en/download) — free, one-time install\n\n---\n\n## Setup (first time only)\n\n### 1. Download\nOn this page, click **Releases** → find the latest release → click **Source code (zip)** to download.\n\n\u003e Or direct link: [⬇ Download Email Cleaner v1.1](../../releases/latest)\n\n### 2. Extract\nRight-click the downloaded ZIP → **Extract All** → choose a folder (e.g. Desktop)\n\n### 3. Run SETUP.bat\nOpen the extracted folder → double-click **SETUP.bat**\n\n- It will check if Node.js is installed — if not, it opens the download page for you\n- It installs everything automatically (takes 1–2 minutes)\n- When it says **SETUP COMPLETE** you are ready\n\n### 4. Launch the app\nDouble-click **START.bat** — your browser opens automatically at the app.\n\n\u003e Every time you want to use Email Cleaner, just double-click **START.bat**\n\n---\n\n---\n\n## Connecting Yahoo Mail\n\n1. Go to Yahoo → Account Security → **Generate app password**\n2. Select \"Other app\" → name it `Email Cleaner` → click Generate\n3. Copy the 16-character code\n4. In Email Cleaner → **Settings** → Add Yahoo Account → paste the code\n\n\u003e If you don't see \"Generate app password\", enable 2-Step Verification first.\n\n---\n\n## Connecting Gmail\n\nGmail requires a free Google Cloud project (one-time, ~5 minutes):\n\n1. Go to [console.cloud.google.com](https://console.cloud.google.com) → New Project → name it `Email Cleaner`\n2. Enable the **Gmail API** (APIs \u0026 Services → Library → search Gmail API)\n3. Create OAuth credentials (APIs \u0026 Services → Credentials → Create → OAuth client ID → Web application)\n4. Add redirect URI: `http://localhost:3001/auth/gmail/callback`\n5. Download the credentials JSON → rename to `credentials.json` → place in the `backend/` folder\n6. In Email Cleaner → Settings → **Connect Gmail**\n\nFull instructions in [OAUTH_SETUP.md](OAUTH_SETUP.md).\n\n---\n\n## Access from phone or tablet\n\n1. Run `ipconfig` in terminal → find your IPv4 address (e.g. `192.168.1.50`)\n2. On your phone: `http://192.168.1.50:5173`\n3. Both devices must be on the same Wi-Fi\n\n---\n\n## Project structure\n\n```\nbackend/src/\n  routes/         email, accounts, auth, whitelist API endpoints\n  services/       IMAP (Gmail + Yahoo), filter rules, sync, DNSBL\n  db/             SQLite database + TypeScript models\n\nfrontend/src/\n  pages/          Inbox, Search, Settings, Help\n  App.tsx         Navigation shell + theme system\n  api.ts          All API calls\n```\n\n---\n\n## Support development\n\nIf Email Cleaner saves you time, consider supporting it:\n\n[![Download on Gumroad](https://img.shields.io/badge/Download-Gumroad-36a9ae?logo=gumroad\u0026logoColor=white)](https://onezmo.gumroad.com/l/email-cleaner)\n[![Ko-fi](https://img.shields.io/badge/Support%20on-Ko--fi-FF5E5B?logo=ko-fi\u0026logoColor=white)](https://ko-fi.com/diskava)\n\n---\n\n## License\n\nMIT — free to use, modify, and distribute.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonezmo65-code%2Femail-cleaner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonezmo65-code%2Femail-cleaner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonezmo65-code%2Femail-cleaner/lists"}