First steps in blocking BUMA crawlers in WordPress

October 6th, 2009 by Coen Jacobs

UPDATE: Victory for us as bloggers, Buma crawlers surrendered!

Today was a sad day for lots of Dutch bloggers. The BUMA/STEMRA announced some new rules for embedding videos from YouTube for example. Starting next year, you have to pay for embedding videos on your blog that contain music that is licensed by BUMA/STEMRA. Yes, you can believe your eyes, we have to pay for embedding videos containing music, kinda crazy isn’t it?

That’s why I started developing the Block Buma Crawler WordPress plugin (aka Teezir Blocker). This plugin is capable of keeping computers outside of your WordPress installation, that are blacklisted via this plugin. You can download the Block Buma Crawler plugin right now, version 0.2 is available. Drop the folder that’s inside the download in your /wp-content/plugins/-folder, activate the plugin and enjoy!

Version 0.1 / 0.2

In it’s current form, the blacklist is managed by me and does only contain IP addresses that we know to belong to BUMA/STEMRA. But in the (near) future, new features will be rolled out to be able to blacklist hostnames and to share the items you add to the blacklist. Off course the blacklist will be moderated to keep it as clean as possible.

Version 0.2 comes with some caching options, to help protect the server that hosts the blacklist. Please update manual if you can, or wait for the automatic updater to allow you to update once WordPress.org hosts this plugin.

Future versions

The version I have been working on today has some more functionalities already, but it’s useless to release functions that I can’t fill a blacklist for right now. I’m spending some more time in making it even better, releasing it when we can use it.

Once we know more on the crawlers, we can add or change features of this plugin too. Time will tell what we can do to stop these crawlers, I honestly don’t know it all right now. Cooperation will be important to make this plugin succeed, so:

Keep me posted!

Please let me know, or simply comment on this post if you have any tips/ideas for this plugin, all comments are welcome! As always, the plugin is free to download and use, but you can always donate if you like my work!

You can follow this blog via RSS, or follow me as @coenjacobs on Twitter to stay updated on this subject. Thanks for all the support so far!

http://coenjacobs.net/blog/buma-crawlers-surrender-before-startingb

Share this post on social networks:

  • Digg
  • Sphinn
  • StumbleUpon
  • del.icio.us
  • Technorati
  • Facebook
  • Twitter
  • Google Bookmarks

Related posts:

  1. Buma crawlers surrender before they even started
  2. There is no excuse to not update your WordPress
  3. Updated my TipiT Suite WordPress plugin

64 Responses to “First steps in blocking BUMA crawlers in WordPress”

  1. Max:

    Installs fine on WP 2.8.4

    BUMA uses Teezir to crawl:

    http://www.teezir.com/?tabid=81

  2. Ronald:

    Nice one. Perhaps comment the echo on line 22 ;)

    I hope your server can handle all the file requests… Perhaps add some sort of caching in a session variable?

    • Very true, thanks. Forgot to delete it. It is deleted in the current download.

      Yes, I was thinking of adding a cache function to this plugin. If all goes right, the plugin will be hosted via WordPress.org within a few hours and it will be easy to roll out a new version. I’ll add caching right away in version 0.2 that will be deployed via WordPress.org.

  3. I hereby nominate you for the nobelprize for free culture. :)
    Thank you for this plugin.

  4. rick:

    and how do I that you’re not from that sick organization? *giggles* (joke intended)

    Thx! Gonna install this ASAP!

    *if you need a mirror to host your plugin, lemme know. I got plenty of bandwidth at my disposal….oh yes: free*

  5. Hey Coen!

    Mooi gedaan hoor… dit gaat zeker een grote hit worden! Mooie actie tegen dit belachelijke dictatoriale regime van die BUMA gekken!

    Nu hopen dat er mss wat media opduiken en dan kan het nog eens echt leuk worden ;-)

  6. Chris:

    Volgens de WHOIS horen de IPs in de range van 213.208.242.160 – 213.208.242.167 bij de BUMA, waarom niet allemaal blokkeren?

    % Information related to ‘213.208.242.160 – 213.208.242.167′

    inetnum: 213.208.242.160 – 213.208.242.167
    netname: NL-COLT-BUMA-STEMRA
    descr: BUMA STEMRA
    country: NL
    admin-c: TF1590-RIPE
    tech-c: TF1590-RIPE
    status: ASSIGNED PA
    mnt-by: COLT-NL-MNT
    source: RIPE # Filtered

    person: T FIEGE
    address: BUMA STEMRA
    phone: +31237997523
    nic-hdl: TF1590-RIPE
    mnt-by: COLT-NL-MNT
    source: RIPE # Filtered

  7. Great action, and good work.

    Just installed it and lets see what it does. I took the liberty to adjust the friendly message from you to a more direct approach. When I’m putting up another article this evening I’ll link to this site/artice if you don’t mind.

    • I’ll add options to alter the text that is displayed once a blacklisted computer tries to open your blog in a next version of the plugin. Thanks for the tip!

  8. Thanks a lot for this plugin. and i second the nomination from Wesley

  9. Max:

    Nog wat ideen die opkomen:

    Waarom alleen op IP adressen filteren? Als Teezir gebruikt gaat worden zou je de aanvragen van de crawlers moeten gaan loggen en kijken of je niet op nog meer variabelen kan gaan filteren.

    Met WP-Slimstat kun je aardig in de gaten houden wie er zoal op je blog zit te neuzen, ook crawlers:

    http://082net.com/2006/756/wp-slimstat-ex-plugin-en/

    Met Bad Behaviour worden veel verdachte aanvragen automatisch al geblokkeerd en hun IP’s gelogd:

    http://wordpress.org/extend/plugins/bad-behavior/

    En dan heb je hier nog Spider Tracker, die ik zelf niet gebruik, maar zou ook handig kunnen zijn:

    http://wordpress.org/extend/plugins/spider-tracker/

    Ik snap natuurlijk wel dat dit meer een ‘ludieke actie’ is, maar BUMA e.a. echt kunnen blokkeren vind ik persoonlijk ook wel wat hebben.

    BUMA en Teezir moeten trouwens donders goed weten dat veel blogs met dit soort plugins ongewenste bezoekers kunnen weren, dus ik denk eigenlijk niet dat BUMA serieus op een crawler vertrouwt.

    Lijkt er dus meer op dat dit een soort van FUD, bangmakerij is om mensen tot betalen aan te zetten.

    • Thanks for looking up these plugins for me, I greatly appreciate!

      As you could have read in this post, I am going to look into the way the Buma crawler is going to work and adapt my plugin to it. We just have to wait for a live example and check out some more on the Teezir crawler as much as we can.

  10. Great Idea Coen, where do you have de IP adresses from? We don’t know if the crawling is done from the IP adresses where the site is hosted, or do we?

    It’s possible the crawling will be done from their Headoffice. Do we know that Ipadres?

  11. Jester:

    Coen,

    Great idea, keep it going.

    To add:

    Maybe somebody should setup a honeypot server with bogus mp3/video to lure in the crawlers so they are then easier to track/block….

    have a good one :)

    • Chris:

      If it’s anything like a generic crawler, it will just crawl regardless of content. You wouldn’t see any difference in a visit to a website with “illegal” content and a normal one. The difference would become visible when you’re sued :-)

  12. Max:

    They also use measuremail. Probably not important.

    http://www.measuremail.com/

  13. Chris:

    Blokken is 1 ding, maar als je ze redirect is het voor hen ook moeilijk om erachter te komen dat ze andere content zien. Redirecten kan door een HTTP 302 response te sturen met de PHP header(”Location: buma-content.php”) functie, of met mod_rewrite:

    RewriteEngine On
    RewriteCond %{USER_AGENT} bumaclient [NC]
    RewriteRule . buma-content.php [L,R]

    Je kan het ook op IP ipv User-Agent doen.

    Op deze manier merken ze niet dat ze geblokkeerd worden, je gebruikt cloaking om de inhoud van je weblog anders te presenteren. Bijvoorbeeld door alleen je about pagina te laten zien als buma langs komt.

  14. Good work and thanks for this plugin :D

  15. jaja:

    php get host by ip … buma stemra

  16. Marc Ramyad:

    Die met .168 mag je er uithalen. Dat is buiten het bereik en een vervoersbedrijf.

  17. Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/bookieb/public_html/stupidnothings.com/wp-content/plugins/block-buma-crawler/block-buma-crawler.php on line 34

    Sinds de installatie van de nieuwste versie.

  18. JJ:

    Hoi Hoi ,

    Ik heb je plugin gedownload maarre,

    ik kan nergens die plugin folder vinden !!.
    Heeft het ermee te maken dat wordpress.com dit niet ondersteund ? en wordpress.org wel ?!?!?!
    Hoop het gauw van je te vernemen. Ik haat die BUMA aktie namelijk, stelletje bloedzuigers.

    • This plugin is not available for WordPress.com blogs, since you can’t add custom plugins to your blog there. I’m sorry, it’s beyond my power.

  19. Ik ga proberen dit te porten naar e107. Mag dat?

  20. JJzD:

    Heeft peerguardian niet al een moderated blacklist?
    Waarom werk dubbel doen?
    Volgens mij is die lijst ook publiekelijk beschikbaar……

  21. Het porten lukt niet bepaald… Is er wel ergens een e107 port van deze plugin?

    • Currently, I don’t know of any e107 ports of this plugin. I can have a look into coding one, once I’ve finished the first versions of this WordPress plugin.

  22. Super! Heb het geïnstalleerd op mijn eigen site. En natuurlijk ook even een blog met link naar deze site gemaakt. Eindelijk breekt de actie een beetje los om Buma aan te pakken!

  23. mario:

    komt er ook een versie voor de door wordpress gehoste blogs?

    • It’s up to WordPress.com to add this to their blogs, it’s beyond my power to add it their, since I’ve nothing to do with their hosted blogs services.

  24. Held! Mooi werk, coen. Ik ga over deze ontwikkelingen zelf ook even een blogpost schrijven. Wellicht een idee om het script ook in het algemeen (niet als WP plugin) te releasen? Zo kunnen wellicht andere cms’en ook mee profiteren.

  25. Allstar's Reggae Band:

    Restecp!

  26. Vergeet je deze niet?

    $_SERVER['HTTP_X_FORWARDED_FOR']

  27. I will close down the comments in this thread, Buma has surrendered, victory for us as bloggers!

Trackbacks