# Twitter-Block-Porn: bulk-blocking Twitter scam accounts using a community-maintained blocklist

> Twitter-Block-Porn is a Greasemonkey userscript that adds a Block All button to Twitter list pages, automating the process of blocking every account on a shared community scam blocklist. The script uses the user's own session cookie to send the same request Twitter's interface sends for a manual block, without any separate API authorization.

**daymade/Twitter-Block-Porn** — A shared blacklist for one-click blocking of all porn-spam scammers. Blocks scammers who send fake porn comments and improves your experience using Twitter.

- Repository: https://github.com/daymade/Twitter-Block-Porn
- Website: https://greasyfork.org/zh-CN/scripts/470359-twitter-block-porn
- Stars: 2,029 · Forks: 62
- Language: JavaScript
- License: MIT
- Published: 2026-10-11 · Updated: 2026-10-11 · Language: en
- Canonical page: https://hysenlabs.com/projects/daymade-twitter-block-porn

## Twitter-Block-Porn adds a Block All button to Twitter list pages to address comment spam

Spam accounts posting fake pornography comments and scam links are a recurring problem in Twitter comment threads. Blocking them one at a time is slow, and Twitter does not offer a built-in bulk block for a list of known bad accounts. Twitter-Block-Porn addresses that gap by injecting a Block All button into the member view of any Twitter list. When the button is clicked, the script iterates through the visible list members and sends a block request for each one.

It targets Twitter users who encounter these spam comments frequently. Regular users who run it benefit only themselves, while large accounts that run it also reduce how many of their followers see those spam comments.

Restoring the original Twitter bird logo to replace the X branding is a second feature bundled into the same userscript. That feature is unrelated to blocking. Neither feature depends on the other.

## Two community-maintained Twitter lists are the source of truth for which accounts to block

No local database of scam accounts is maintained by the script, and it does not analyse content to identify new ones. Its blocklist comes from two public Twitter lists managed externally: the first at twitter.com/i/lists/1677334530754248706 and the second at twitter.com/i/lists/1683810394287079426. Anyone who wants to add a scam account to the shared blocklist does so through those Twitter lists, not through the script's repository.

This separation has a practical consequence. Quality and coverage of the block list depend entirely on whoever curates those two Twitter lists, not on the script itself. A user who wants to block only accounts already on those lists gets the full benefit. A user who encounters new scam accounts not yet added to either list gets no benefit from the script for those accounts until someone adds them.

One edge case the README addresses: a scam account that has already blocked the user before the script runs does not prevent the block from being applied. A user cannot view the profile of an account that has blocked them, but the API call to block that account still goes through.

## Install from Greasyfork, open a list and click Block All in the member popup

No terminal command is needed to install the script. Installation goes through Greasyfork at the URL in the repository's homepage field: greasyfork.org/zh-CN/scripts/470359-twitter-block-porn. A userscript manager such as Tampermonkey or Violentmonkey must be installed in the browser first, because Greasyfork scripts are not distributed as browser extensions and require a userscript manager to run.

After installation, the workflow involves navigating to one of the two blocklists on Twitter from a desktop browser, clicking the list's member view, and then clicking the Block All button that the script injects into that popup. Clicking the script's icon in the browser toolbar links directly to each available blocklist as an alternate entry point.

Greasyfork is the only documented release channel. No GitHub releases and no versioned tags exist in the repository. package.json shows version 1.0.0, which does not reflect iterative updates. Users who want to track changes must watch the Greasyfork listing or the repository directly.

## The script calls /1.1/blocks/create.json using the user's own session cookie

Automated blocking in the script works through Twitter's own endpoint. When a user manually blocks someone on Twitter, the browser sends a POST request to /1.1/blocks/create.json with the target account's ID and the user's session cookie as authentication. That exact request is replicated by the script using JavaScript running in the page context, which already has access to the session cookie.

No separate OAuth token or developer API key is needed for the block action itself. Authentication comes from the user's existing login session. Implementation notes in the README confirm this: the script simulates what the user would click by hand and uses no undocumented or private API.

For identifying an account's numeric ID from its username, the README documents a developer lookup using the Twitter developer API. Setting a TWITTER_API_KEY shell variable with a token from developer.twitter.com enables this lookup against the users/lookup.json endpoint:

```shell
curl -s -X GET "https://api.twitter.com/1.1/users/lookup.json?screen_name=va77735,annegaga09" \
   -H "Authorization: Bearer $TWITTER_API_KEY" \
   | jq '[.[] | .id_str]'
```

Passing multiple screen names separated by commas returns an array of numeric ID strings. That lookup is a developer utility for building or maintaining the blocklist, not something a regular user needs. Blocking requires a numeric account ID, and the script retrieves those from the list page's own data when processing each member during a Block All operation.

## Blocking more than about 500 accounts in one day causes Twitter to force a logout

A concrete rate limit is documented in the README: blocking more than around 500 accounts in a single day triggers Twitter's automated security response, which logs the user out and requires a fresh login. Spacing blocks across multiple sessions and waiting a day between large batches is the stated recommendation.

This limit is not documented by Twitter and is inferred from observed behaviour. It is framed as a throttle to avoid, not a technical ceiling enforced by the API. Whether Twitter's threshold changes over time is unknown, but the project advises conservative usage rather than running the maximum in one session.

Two roadmap items address this limitation. One would detect when the user has blocked too many accounts in a short period and display a warning to resume the next day, including a record of when the last batch ran. Another would change the batch operation to work from a background queue, blocking slowly and showing progress, rather than processing the entire list at once. Neither is implemented in the current version.

## Block-Pornographic-Replies identifies new scam accounts by keyword; this script processes a fixed list

Twitter-Block-Porn and Block-Pornographic-Replies address related but distinct parts of the problem. Block-Pornographic-Replies, a separate project listed in the README's implementation notes, uses keyword matching to identify and flag new spam comments as they appear. It can classify content in real time and add newly discovered accounts to a list automatically, which is described as a fork of another project that was modified to handle list management.

Twitter-Block-Porn takes the complementary approach: it does not identify scam accounts and does not analyse content. It assumes the community-curated lists are the authoritative source and applies those blocks in bulk. The two tools cover different points in the workflow: one discovers new bad actors and one applies an existing collection of known bad actors.

For a Twitter user who wants both discovery and bulk blocking, the README's architecture points toward running Block-Pornographic-Replies to build the list and then Twitter-Block-Porn to apply it, though the README does not document an explicit integration between the two. Using Twitter-Block-Porn alone means relying entirely on whoever maintains the two shared lists.

## MIT licence, no GitHub releases, and four roadmap items describe what the script does not yet do

Twitter-Block-Porn is licensed under MIT. A LICENSE file at the repository root governs the source code, and MIT terms permit use, modification and redistribution with attribution. package.json sets the private field to true, which prevents accidental publication to npm but does not restrict use of the source code.

Last push to the repository was on 2026-08-16. It is not archived. GitHub shows no formal releases; Greasyfork is the distribution channel, and that listing reflects whatever the author has published there, independently of the GitHub repository.

Four items appear in the roadmap: throttle detection with a prompt to wait a day, queue-based background blocking with progress display, automatic tracking of new list additions and continuous blocking, and a reporting feature. All four are marked as unimplemented. A public GitHub project board at github.com/users/daymade/projects/3 tracks status.

This repository was forked from Twitter-Block-With-Love, credited in the README's acknowledgements. CONTRIBUTING.md at the root documents the contribution process.

## Conclusion

Twitter-Block-Porn suits Twitter users who encounter spam comments regularly and want to block dozens or hundreds of accounts at once without clicking through each individually. Avoid it when you expect automatic detection of new scam accounts, because the script only blocks accounts already on the community-maintained lists and does not identify new ones on its own. Before using it, open the lists at the Twitter URLs in the README to check their current size, and plan to spread blocking across multiple sessions rather than one, since blocking more than about 500 accounts in a day causes Twitter to force a logout.

## FAQ

### How do I install Twitter-Block-Porn?

Install a userscript manager such as Tampermonkey in your browser, then open the script's Greasyfork page at greasyfork.org/zh-CN/scripts/470359-twitter-block-porn and click install. The script has no terminal command and no GitHub releases.

### Does Twitter-Block-Porn require a Twitter API key?

No. The block action uses the user's existing session cookie, which the browser page already has. A Twitter developer API key is only needed to look up account IDs from usernames, which is a developer utility described in the README's implementation notes, not required for normal use.

### How many accounts can I block at once with Twitter-Block-Porn?

The README states that blocking more than around 500 accounts in a single day causes Twitter to force a logout. The recommendation is to spread large batch operations across multiple days to avoid triggering that limit.

### What is the source of the Twitter-Block-Porn blocklist?

The blocklist comes from two public Twitter lists maintained by the community, linked in the README. The script does not maintain its own database and does not detect new scam accounts automatically.

### Does Twitter-Block-Porn work on mobile?

The README states that blocking through the script takes effect on mobile as well. Users install the script on a desktop browser, and the blocks apply account-wide across all devices.

## Sources

- [daymade/Twitter-Block-Porn on GitHub](https://github.com/daymade/Twitter-Block-Porn)
- [Issues](https://github.com/daymade/Twitter-Block-Porn/issues)
- [License: MIT](https://github.com/daymade/Twitter-Block-Porn/blob/master/LICENSE)
- [Project website](https://greasyfork.org/zh-CN/scripts/470359-twitter-block-porn)
- [README](https://github.com/daymade/Twitter-Block-Porn/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/daymade-twitter-block-porn
