{"_id":"@bws9000/gh-spam-blocker","_rev":"4-35a5eb55c69ca35c5ad51b3d6ba83d44","name":"@bws9000/gh-spam-blocker","dist-tags":{"latest":"1.0.0"},"versions":{"0.1.0":{"name":"@bws9000/gh-spam-blocker","version":"0.1.0","_id":"@bws9000/gh-spam-blocker@0.1.0","maintainers":[{"name":"bws9000","email":"snyder.burt@gmail.com"}],"bin":{"gh-spam-blocker":"bin/gh-spam-blocker"},"dist":{"shasum":"661c2bbb3cd806e2f129db1fd25e36932a46a173","tarball":"https://registry.npmjs.org/@bws9000/gh-spam-blocker/-/gh-spam-blocker-0.1.0.tgz","fileCount":5,"integrity":"sha512-6OrY4Tg4MISJJ7tgmXIpJwt24uUxK3oUrXaeZLa0zsac3hx2xk48hBYhaxcC2jjG3HLW/GTDScypNrfx0/4zEg==","signatures":[{"sig":"MEUCIBqaV5CHZ19Y/+xxyDcTXgsR+sFPR8ljzPfztJG0mdnmAiEAvnP0msx7YFQFxd0VQnTmtsEytHtJf9Qvh76dIR2symU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4224},"type":"module","scripts":{"start":"node src/cli.js"},"_npmUser":{"name":"bws9000","email":"snyder.burt@gmail.com"},"_npmVersion":"11.3.0","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^17.2.4","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gh-spam-blocker_0.1.0_1770566241219_0.6591715437509702","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bws9000/gh-spam-blocker","version":"0.1.1","keywords":["github","cli","spam","block","automation","security"],"license":"MIT","_id":"@bws9000/gh-spam-blocker@0.1.1","maintainers":[{"name":"bws9000","email":"snyder.burt@gmail.com"}],"homepage":"https://github.com/bws9000/gh-spam-blocker","bugs":{"url":"https://github.com/bws9000/gh-spam-blocker/issues"},"bin":{"gh-spam-blocker":"bin/gh-spam-blocker"},"dist":{"shasum":"4f9ea4b7a90cf586e25342b97d0e3b98b5374502","tarball":"https://registry.npmjs.org/@bws9000/gh-spam-blocker/-/gh-spam-blocker-0.1.1.tgz","fileCount":7,"integrity":"sha512-DXZvjhtlTgyaTpfG8mFeR5+Yy7gRdUwQ4x5BYaoCwEc8z/WmkOiULKGGX2qZZIRCR9jk7Yiqj0r3zNJ0ln58EQ==","signatures":[{"sig":"MEYCIQDRgq2EfJ7HbD9Q/n/iqoiMSjcZofflQvHCJkEdXJsNOwIhAKD55neoVzC1AMRjoU4fs8NKj5v2wKmyjmZgE2ItEmCw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7203},"type":"module","gitHead":"c3008085b3e78059eb2796c3b4a8eca76f96a422","scripts":{"start":"node src/cli.js"},"_npmUser":{"name":"bws9000","email":"snyder.burt@gmail.com"},"repository":{"url":"git+https://github.com/bws9000/gh-spam-blocker.git","type":"git"},"_npmVersion":"11.3.0","description":"CLI tool to block GitHub users who solicit stars in their profiles","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^17.2.4","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gh-spam-blocker_0.1.1_1770568016387_0.2831249429182694","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bws9000/gh-spam-blocker","version":"0.1.2","keywords":["github","cli","spam","block","automation","security"],"license":"MIT","_id":"@bws9000/gh-spam-blocker@0.1.2","maintainers":[{"name":"bws9000","email":"snyder.burt@gmail.com"}],"homepage":"https://github.com/bws9000/gh-spam-blocker","bugs":{"url":"https://github.com/bws9000/gh-spam-blocker/issues"},"bin":{"gh-spam-blocker":"bin/gh-spam-blocker"},"dist":{"shasum":"7039f1ec4893bd164116cb7da0e6ef434d356e46","tarball":"https://registry.npmjs.org/@bws9000/gh-spam-blocker/-/gh-spam-blocker-0.1.2.tgz","fileCount":7,"integrity":"sha512-bmu/uqtLxjKD4rSZTh+XlgiKzQR9hywGQ3+RA+saPiiNhNrmSy1XvLXJ5p1x3arGJjbNpZfZx8tuAQGwP6LH/A==","signatures":[{"sig":"MEQCICntoNyp3YeDinJ+h2tTUBRRh+3FcZLQVAnV3hsb/0w1AiBW6cA78A04gHfMHlkGC8YOgzjpCghQ2r2Pfv7RpPeOyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7174},"type":"module","gitHead":"59a27500dcebbd8f415fa61751f433a8e0d124be","scripts":{"start":"node src/cli.js"},"_npmUser":{"name":"bws9000","email":"snyder.burt@gmail.com"},"repository":{"url":"git+https://github.com/bws9000/gh-spam-blocker.git","type":"git"},"_npmVersion":"11.3.0","description":"CLI tool to block GitHub users who solicit stars in their profiles","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^17.2.4","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gh-spam-blocker_0.1.2_1772370269362_0.8389905445155303","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@bws9000/gh-spam-blocker","version":"1.0.0","description":"CLI tool to block GitHub users who solicit stars in their profiles","type":"module","bin":{"gh-spam-blocker":"bin/gh-spam-blocker"},"scripts":{"start":"node src/cli.js"},"repository":{"type":"git","url":"git+https://github.com/bws9000/gh-spam-blocker.git"},"homepage":"https://github.com/bws9000/gh-spam-blocker","bugs":{"url":"https://github.com/bws9000/gh-spam-blocker/issues"},"license":"MIT","keywords":["github","cli","spam","block","automation","security"],"dependencies":{"commander":"^11.0.0","dotenv":"^17.2.4"},"publishConfig":{"access":"public"},"_id":"@bws9000/gh-spam-blocker@1.0.0","gitHead":"704654c673df6c2a71f62a5bec64ca89ec145e5a","_nodeVersion":"22.19.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-Nmy03kxafYry0g0ChWt8igVNMTByRGnUofVol7xjjV7z24SZS5KzEBzHR6g6qcdJKTwOZ+MBKklm8fWKjsvxkw==","shasum":"9aee9fd20687ef359ec7d0532013b0a2d333b0ce","tarball":"https://registry.npmjs.org/@bws9000/gh-spam-blocker/-/gh-spam-blocker-1.0.0.tgz","fileCount":7,"unpackedSize":7274,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD3Pqfz+3iMYuK+cjGmrH+3LTQ13glTrkGgM7vDWCkxoAIgTMgDlvPuh+RMTFfv08juMh1LtDIFGbwg0tETLb9vbX4="}]},"_npmUser":{"name":"bws9000","email":"snyder.burt@gmail.com"},"directories":{},"maintainers":[{"name":"bws9000","email":"snyder.burt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gh-spam-blocker_1.0.0_1772371276460_0.9482323382384827"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-08T15:57:21.114Z","modified":"2026-03-01T13:21:16.701Z","0.1.0":"2026-02-08T15:57:21.362Z","0.1.1":"2026-02-08T16:26:56.508Z","0.1.2":"2026-03-01T13:04:29.500Z","1.0.0":"2026-03-01T13:21:16.607Z"},"bugs":{"url":"https://github.com/bws9000/gh-spam-blocker/issues"},"license":"MIT","homepage":"https://github.com/bws9000/gh-spam-blocker","keywords":["github","cli","spam","block","automation","security"],"repository":{"type":"git","url":"git+https://github.com/bws9000/gh-spam-blocker.git"},"description":"CLI tool to block GitHub users who solicit stars in their profiles","maintainers":[{"name":"bws9000","email":"snyder.burt@gmail.com"}],"readme":"# @bws9000/gh-spam-blocker\n\nA small CLI tool that blocks GitHub users who put star-solicitation spam\n(e.g. “give me stars to my repositories”) in their profile.\n\nThis tool uses the official GitHub API and only performs actions you could\ndo manually via the GitHub UI.\n\n---\n\n## Why this exists\n\n<p align=\"center\">\n  <img src=\"assets/spamola.png\" width=\"600\" />\n</p>\n\nGitHub has a growing number of low-effort spam accounts that:\n- follow users\n- solicit stars\n- add no actual value\n\nThis tool automates blocking those accounts in a **controlled and transparent**\nway.\n\n---\n\n## Features\n\n- Scans your followers\n- Detects spam phrases in:\n  - user bios\n  - profile READMEs\n- Supports pagination\n- Dry-run mode (no blocking)\n- Rate-limit friendly (1s delay per block)\n\n---\n\n## Installation\n\nNo global install required.\n\n```bash\n\n\nnpx @bws9000/gh-spam-blocker@latest --dry-run\n```\n\n## SETUP\n\n```bash\nGITHUB_TOKEN=ghp_your_token_here\n\n```\n\n## DRY RUN FIRST\n\n ```bash\n npx @bws9000/gh-spam-blocker@latest --dry-run\n\n ```\n\n ## LIMIT TO FIRST PAGE\n\n ```bash\n\n npx @bws9000/gh-spam-blocker@latest --dry-run --max-pages 1\n\n\n ```\n\n  ## BLOCK SOME SPAM\n\n ```bash\n\nnpx @bws9000/gh-spam-blocker@latest --max-pages 1\n\n\n\n ```\n\n\n\n\n | Flag              | Description                                 |\n| ----------------- | ------------------------------------------- |\n| `--dry-run`       | Show what would be blocked without blocking |\n| `--max-pages <n>` | Limit how many follower pages to scan       |\n| `--phrase <text>` | Add additional spam phrase (repeatable)     |\n","readmeFilename":"README.md"}