3 ms·
I setup https://blogspam.net/ https://blogspam.net/ to offer an API to do exactly that kind of real-time spam detection for blog/forum comments. It works. But
by stevekemp 9y ago
I setup https://blogspam.net/ https://blogspam.net/ to offer an API to do exactly that kind of real-time spam detection for blog/forum comments.
It works. But it is pretty coarse, and doesn't support training. (It used to have a bayasian filter setup, and you could train ham/spam, but I found too many reports of false-positives so this was removed.)
I've seen plugins written for wordpress, drupal ,etc, but it never really took off the way I hoped it might. Still it does mean my own blog is spam-free.
- ploggingdev 9y agoInteresting, a few questions : * Is it like an open source alternative to Akismet? * Is it supported by the debian project or is it a personal project? * What are the specs of the server that hosts this service?
- stevekemp 9y agoYes it is like akismet, which is open-source. It is a personal project, although I did use to run it upon the https://debian-administration.org/ https://debian-administration.org/ website (which I created and ran as a personal site). I'm not sure why you'd ask about a link to Debian though! The system was recently rewritten in golang to improve performance, and it will run happily with 1Gb of RAM. It's running on a host that does a lot of other stuff, but basically it is an idle host. The biggest issue is that we store "known-bad" IPs in redis as a cache, so RAM can grow just due to that.
- ploggingdev 9y ago> The biggest issue is that we store "known-bad" IPs in redis as a cache, so RAM can grow just due to that. How many requests do you serve per month? I see 50 million total rejected comments, but even if you serve a few million requests per month you should be fine with a traditional database like Postgres or MySQL.
- stevekemp 9y agoI don't keep track of connections to be honest, but I know that I see a fair amount of incoming requests every minute. It goes in waves. For transient data, which only lasts for a few hours, I'm happy enough with redis - I avoid running database servers for things like this, though I've got a couple of sites that use sqlite as a back-end.