simple filters for newsreaders

D <J@M> Mon, 06 Jul 2026 14:19:02 +0200
Newsgroups alt.comp.freeware
Organization Frell Anonymous Remailer
Message-ID <[email protected]>
using 40tude dialog to automatically "move" all unwanted/unimportant
article headers to the newsreader's "junk"/"troll" folders, that may      
be reviewed before routine purging, to ensure filters are working as
expected, also to add new "move" or "watch" filters, if desired, and  
to provide a daily "troll-count", which if you're subscribed to more        
than a dozen active newsgroups, is always dozens or hundreds per day, 
or if sampling newsgroup headers, can easily number in the thousands

the first rule demotes all new articles in all subscribed newsgroups    
to "-1", and sets the ignore flag on them, then "moves" all x-posted
articles to the "junk" folder (the hash sign "#" for blank lines and  
comments), and "moves" any articles with trollish text in headers to 
the "troll" folder, leaving only articles that were not cross-posted, 
now with the red "ignore" flag and red "-1" score set on all of them:
 
>[*]        
>-1 From *  
>!ignore From *         
>!move(junk) Xpost %>1 
>#
>!move(troll) From "troll001" "troll002" "troll..."      
>!move(troll) From "troll101" "troll102" "troll..." 
>#       
>!move(troll) Subject "cull001" "cull002" "cull..." 
>!move(troll) Message-ID "rogue001" "rogue002" ...

because the usenet chatbots obsessively cross-post, this one simple 
rule "!move(junk) xpost %>1" automatically eliminates probably half
of all troll farm chatter, depending on the newsgroup and hierarchy,
but not all cross-posts are trolls, especially when browsing usenet  
archives, so the "junk" folder accommodates all x-posts and generic  
from headers that have not been otherwise whitelisted, watched, etc.  
  
the "troll" folder is for your newsreader's blacklist, any overview
headers that contain unique strings of text (using wildcards */" to 
minimize length of entries without oversimplifying), that are known
to be chronic offenders (the troll farm "hall of fame" sockpuppets),
so your newsreader's killfile list can quickly expand into hundreds      
of entries, but the result is worth the effort, for every kill-file  
entry added, newsgroups become less cluttered by troll farm minions,
allowing ephemeral, uncommon troll aliases to be ignored, junkfiled, 
and for troll aliases that become chronic, simply killfile them too    
                  
the second rule promotes "self" to the maximum "+9999", then unsets 
the ignore flag, and highlights header colors to stand out from the  
rest, then any whitelisted contributors, topics, servers, etc., are   
also unignored, and promoted to "+1", or any number from 0 to +9998:       

>[*]
>=+9999 From "self <name@server01>" "self <name@server02>" ...     
>=!unsetwatchignore,setcolor(red;yellow) From "self <name@server01>" ...
>#  
>=!unsetwatchignore From "user001" "user002" "user003" "user..." 
>=+1 From "user001" "user002" "user003" "user004" "user..."
>#    
>=!unsetwatchignore Subject "topic001" "topic002" "topic..." 
>=+1 Subject "topic001" "topic002" "topic003" "topic..."    
># 
>=!unsetwatchignore Message-ID "@server001" "@server002" ...
>=+1 Message-ID "@server001" "@server002" "@server003"...      
      
lastly, the third rule "moves" remaining articles with the score of 
"-1" directly to the "junk" folder, then, after cursory review, the 
"troll" and "junk" folders are purged (recommend purges once daily):

>#     
>!move(junk) Score "-1" 
                    
because the default score of "-1" was first applied to all articles,  
any articles moved to the "junk" or "troll" folders retain the "-1",      
so any remaining articles that weren't promoted are moved to "junk",  
leaving only promoted article headers (if any) in your newsreader's 
viewing window, encouraging users to whitelist helpful contributors,   
and purge the unhelpful ... depending on the newsgroup, some groups
attract non-troll articles and discussions, but most newsgroups are 
predominantly if not 100% trollfarm "chatterbots", so caveat emptor
 
the complete example filter looks like this, but of course requires        
actual header strings in order to demonstrate how this really works:
 
>[*]      
>-1 From *
>!ignore From *
>!move(junk) Xpost %>1
># 
>!move(troll) From "troll001" "troll002" "troll..."     
>!move(troll) From "troll101" "troll102" "troll..."
># 
>!move(troll) Subject "cull001" "cull002" "cull..."     
>!move(troll) Message-ID "rogue001" "rogue002" ...  
>#
>=+9999 From "self <name@server01>" "self <name@server02>" ...      
>=!unsetwatchignore,setcolor(red;yellow) From "self <name@server01>" ... 
>#           
>=!unsetwatchignore From "user001" "user002" "user003" "user..." 
>=+1 From "user001" "user002" "user003" "user004" "user..."
>#   
>=!unsetwatchignore Subject "topic001" "topic002" "topic..."
>=+1 Subject "topic001" "topic002" "topic003" "topic..." 
># 
>=!unsetwatchignore Message-ID "@server001" "@server002" ... 
>=+1 Message-ID "@server001" "@server002" "@server003"...
>#
>!move(junk) Score "-1"  
   
this uses simple syntax which should be modified to suit your needs,   
and as your own newsreader filter becomes larger, more personalized, 
recommend saving an occasional "progress" copy of your last working
filter, in case errors appear that may not be easily corrected, and   
with practice, your usenet newsgroups will become a troll-free zone,
where uninterrupted productivity will always be your first priority