LimeWire Anti-Spam Technology
There are three well-known techniques for eliminating
Gnutella spam:
- IP
Filtering: ignore packets from certain hosts. (pongs and query replies) Also deny incoming connections from
these hosts.
- Keyword
filtering: ignore packets containing certain undesirable words, e.g.,
“xxx” or “.vbs”. (queries and
query replies)
- Duplicate
filtering: ignore duplicate packets, or very similar packets, that
come within any given time frame.
(all packets, though this currently is only implemented for queries
and pings).
These techniques can be applied on two different levels:
- Personal
filtering: ignore what I see in the search monitor and results window,
but pass them on to other users.
Currently if any file in a query reply is considered spam, all the
files are considered spam. This
could change in the future.
- Route
filtering: ignore spam completely.
Do not pass on to other users.
Do not display.
LimeWire currently supports the following policies:
- IP
filtering on the route level
- Keyword
filtering on the personal level.
Rationale: we don’t want to censor what others can see.
- Duplicate
filtering on the route level.
- Adult
filtering: this is just a simple
way of setting up keyword filtering on the personal level without having
to type in dirty words.
- VBS
filtering: similar to adult filtering, but with “vbs” (Visual Basic script
extension) entered instead.
- HTML
filtering: similar to adult filtering, but with “htm” entered
instead. Rationale: most HTML
files on gnet are spam right now.
Hopefully this will change.
- Greedy
query filtering: a kind of keyword filtering technique looking for queries
that are bound to have lots of results, e.g., a.mp3. Applied on the route level.
The policies are implemented in an extremely flexible manner
and can be mixed and matched as necessary.