Thursday, September 17, 2009

PeerBlock r162 Interim Release - now with a signed driver!

UPDATE: This release is no longer the latest available! It is strongly recommended that you upgrade to the latest Interim Release instead.

Here it is: a signed-driver-containing PeerBlock 1.0 Release Candidate!

At this point we have pretty much all of the "showstopper" type bugs fixed, so think we're pretty much ready for an official 1.0 stable PeerBlock Public Release. However, we need your help! We'd obviously prefer for our 1.0 release to be truly stable, so if you encounter any problems with it please let us know. I've seen comments on various forums/review-sites in the format "I keep starting it but it won't start. FAIL!" - no additional info, no attempt to contact us about it, no nuthin'. This doesn't help anyone! If you're experiencing problems, PLEASE let us know about them . . . and if we have any followup questions please get us the extra information we're looking for. We actually try to be pretty good about addressing user issues, but we can't fix bugs we don't know about! And PeerBlock is running just fine on my machine...

So please, help us make PeerBlock better!

Okay, off my soapbox now. Don't forget that this release is an Interim Release, which means that it will check for new Interim Releases whenever it checks for updates. Depending on how this release goes, we may need to release another Release Candidate "Interim Release" before officially releasing a version 1.0 Public Release to the main site. So you may get another update notice in a few days. Once we release 1.0 you can switch over from the Interim Release train to the Public Release one if you want to get updated versions less frequently; all you'll need to do is install a Public Release into the same directory in which you currently have PeerBlock installed and everything will work just fine.

What's Changed

I know, I know, there's a LOT of changes going on here, and there's probably no way you're going to read about 'em all. If you're going to just skim through them, you really should at least read the first four, and then you can skip down to the Known Issues section. I'll cry a little on the inside since I spent all this time writing up this big ol' changelist, but that's fine, I understand...

Here's what's different between the last Interim Release (r131) and this one:
  • Signed Driver!! - We're now signing pbfilter.sys, peerblock.exe, and the installer-package itself. So those of you running on 64-bit Vista/Win7 systems should no longer need to test-sign the driver or hit F8 while rebooting or anything. (Woo-hoo!!) For people running on Vista/Win7 with UAC enabled, instead of having it popup a "scary" yellow warning-prompt asking if you want to run peerblock (or the installer) it should instead show a nice calming blue box as well. Ahhh, isn't it nice?
  • Display Warning if PG2 is Running - We'll now display a warning message if PG2 is detected running, instead of merely attempting to bring up its UI if we detect it. Side-effects of this change include us considering older versions of PeerBlock as PG2, and the Installer not noticing if older versions of PeerBlock are running when you try to install this one.
  • Default "Show Allowed" to False - On fresh installs, the "Show allowed connections" option will default to false. To keep people from thinking that PeerBlock isn't working if they don't see it doing anything, We're now automatically logging the first 9 or 10 Allowed packets regardless of your ShowAllowed setting, and after that logging a message explaining why we've stopped blocking them (presuming you have ShowAllowed set to false that is, of course).
  • Migrate Lists to IBlocklist Lists - We'll check your list of lists to see if you have any old list URLs in there. If so we'll switch them over to hosted URLs instead, and remove the "Gov" list if you had it set.
  • Run As Admin on 32-bit Vista/Win7 - We apparently accidentally removed the "requires admin" stuff from the 32-bit Vista/Win7 version at some point, probably back around r5. It should now automatically run as Admin, popping up a UAC prompt if you have UAC enabled, without you needing to set that Compatibility setting on peerblock.exe
  • Updated List Manager UI - Updated the "List Manager" window, to make it easier to find the list of lists that the Startup Wizard originally presented to you.
  • Startup Wizard Cleanup - Realigned things a bit so that this window layout is a bit cleaner.
  • Auto-Update now Works - Previously, auto-update wouldn't end up generating the list cache, so none of the list updates it would automagically download for you actually ended up being used until you manually updated.
  • Fixed Hang while Enabling Blocking - There was an occasional hang some people had encountered, which would cause PeerBlock to become unresponsive e.g. to mouse clicks. This would sometimes occur during times of heavy stress (i.e. lots of network traffic going on), and could be manually caused by clicking the Enable/Disable button too quickly after list-update, or enablig/disabling PeerBlock while a list-update was underway.
  • Tray Icon Issues - If you ticked and then unticked the "Always hide tray icon" option in Settings, right-clicking on the tray icon would do nothing. The same thing would happen if explorer.exe crashed and restarted (e.g. by you restarting it via the Task Manager). Both of these problems seem to be resolved now.
  • "Save" Button on Settings Panel - The Settings panel now has a Save button on the bottom left of it. Clicking this button will immediately write your config out to peerblock.conf, instead of you having to wait for a successful close of the program. PeerBlock will still save your settings when it successfully terminates - this button is really just to make people feel better, and to save your settings in case PeerBlock crashes.
  • XP UI Issue - Fixed the UI so that on XP the "URL List" dropdown on the Add List window (from the List Manager) isn't "squashed".
  • Improved Error Reporting for Failed List Updates - We now display more information in the Updates window if you encounter a problem while downloading a list update; not just the generic "Error contacting url" message.
  • Verify Downloaded Lists Before Using - After downloading a list-update, we will now verify that we can open and parse that file before overwriting the old one. Basically so long as we can find at least one range in it, we'll assume it's good.
  • Archive History Every N Days - The history-archiving stuff should now work as it should, archiving and/or deleting every N days as you've specified (instead of every 10 minutes, regardless of your timeframe).
  • Possible Fix for Crash on Install - A few people have reported OS crashes on their first PeerBlock run after installation. Originally I thought they were just random crashes, but the stack traces in the dumps are all very similar (though not specifically pointing a finger of blame at anyplace in pbfilter.sys). After noticing that one recent reporter of the bug was running PG2 beforehand, I'm theorizing that the problem may be caused by Windows experiencing conflicts because the PG2 driver never finished cleaning up after itself, and we are loading with some of the same identifiers. Hopefully this change will differentiate ourselves enough that we won't be taken out by the lingering effects of PG2.
  • New Installer Image - We changed the picture that is displayed on the first page of the Installer. If you're wondering about the design inspiration behind the image, it was apparently "a drop of PeerGuardian in every download". =;)
  • Installer Removes Shortcuts if Not Specified - When you install PeerBlock on top of a pre-existing installation, if you unselect e.g. the "Add Desktop Icon" option it will delete those files for you.
  • Installer Copies PG2 Lists - If you elect to transfer your old PG2 settings over to PeerBlock during a fresh install, the Installer should now transfer over your permallow and permblocks list, along with any custom lists you've created (so long as you stored them as .p2p files in the PeerGuardian or PeerGuardian\lists directories, at least...).
  • Don't Update Twice after Install - After you first install PeerBlock (i.e. not upgrading a previous release), we used to update our lists and regenerate the list-cache. And then we'd start PeerBlock, and update our lists and regenerate the list-cache. That was just silly.

Known Issues

The issue we're currently most concerned with is Issue 101, a problem with PeerBlock sometimes not exiting if you are running MS Outlook or the MS Live Mail desktop client. If you are running one of those two programs, I strongly recommend that you read the aforementioned bug, and check your current version of PeerBlock to see if the problem exists there. Not sure whether this bug was introduced recently or if it's a long-standing one, but the discovery of this issue yesterday is the reason we waited another day before releasing this Interim Release. Since it doesn't appear to show up on everyone's machines, even if they're running one of the aforementioned tools - including mine, which makes it more difficult to debug - we decided we're okay for now though we do want to resolve this prior to releasing 1.0.

Other than that, since the Installer for this version will not detect whether a pre-r162 PeerBlock is running or not, it is important that you make sure that PeerBlock is not running before installing this one. We needed to make this break at some point, and decided it's better to do it sooner rather than later.

Also please note that we're now displaying the first 9 or 10 allowed packets even if you have the "Show allowed connections" setting disabled. Especially since we're now defaulting this setting to disabled on new installs, we felt it was important to log something so that people (especially new users) don't end up with the mistaken impression that PeerBlock isn't working.

There is still an extremely rare bug that can cause PeerBlock to crash while it's downloading list updates, Issue 24. We'd patched around this a long time ago, but a very few people have seen it show up very rarely. There is an additional workaround possible, but it's going to require a nontrivial rework of our list-downloading code . . . and since this bug has only been seen very rarely, we don't want the cure to be worse than the disease. If you've seen this crash, please let us know - if it's more common than we currently believe we may change our opinion as to whether we should implement the new workaround before or after 1.0!

Get it Here

PeerBlock r162 Installer - This is the recommended download for most users.

PeerBlock "Portable" Packages:

Time to Pass the Hat...

Unfortunately, the paperwork required to get us registered as a company - which was required in order to get the signed driver - has ended up costing a bit more than originally anticipated. As of right now, I'm actually out over a hundred bucks from my own pocket. If you find this version of PeerBlock useful, I would greatly appreciate any donation you can spare to help defray those costs. And even over and above that I'd still love to build up a "war chest" for PeerBlock, such that we could rent a nice server on which we could build a "real" online-update functionality. And in just under 12 months from now we'll need to purchase another code-signing certificate. Your contributions will definitely not be going into a black hole...

If you can spare something to help support us, just click the above Donate button - it will be greatly appreciated. If not, I understand - it's a tough economy nowadays.

Update: Thanks to your generous donations, we're actually back in the black! We've currently (9/22/09) raised $845 versus the $817 worth of expenses incurred to-date. We're still collecting donations for that nice VPS server and for next year's code-signing certificate, but I just wanted to let y'all know how much you rock. THANK YOU!!

...and now, Enjoy!

Other than that, I hope this version runs as stably for you as it has been running for those of us on the Dev and Test teams! If not, please make sure to let us know: you can comment here on this blog post, add an issue to our Issue Tracker, bring it up on our Forums, or even just send me a piece of email. (You can send some feedback even if everything is working just well for you, we won't turn down a little bit of praise now and then...!)

Expect another Interim Release to be posted in a few days. This will either be a second Release Candidate, or else a "Release To Manufacturing (RTM)" version to make sure y'all are on par with the official Public Release. Oh and I promise this version wasn't accidentally created as a Test Release, unlike our previous release. I'm still very sorry for that one...

Once again, my gratitude and appreciation to the other members of the Dev Team: night_stalker_z, DarC, and XhmikosR; and also to all the members of our Beta Team who've spent a lot of time banging away at this stuff - even more so over the course of the past few weeks than ever before. And most especially to all the people who've contributed to our cause over the course of the past few months, who've made this signed-driver a reality!

And thanks to you for following along with us...

        ---  Mark  ---



    You did it!

    Thank you.

  2. I never thought I'd see 64 bit support on Win 7/Vista.

    Wow. You really did it.

    Donation is coming.

  3. Gratz! I can't believe it's running again on Vista 64. Your time and effort is greatly appreciated!

  4. CONGRATULATIONS all around I have been following this with great interest, I am waiting on the public release of PEERBLOCK 1.0 to down load and use as I am not near as gifted as you and your team. I sent a little donation earlier this evening, There will be more when I can afford it. But thanks for the hard work and long hour's
    Black Wolf /DSH

  5. Thank u for your work guys :)

  6. Good work :D

    Now I can use this in my Windows 7 without issues, thanks guys :D

  7. Thankyou for all the hard work!.

  8. Thank you so much for all your hard work, it's very much appreciated!!! I wish you much success in all your future endeavors.

  9. Hi there, thx for new version..
    I don't know if im doing something wrong but, this version is not downloading the lists or new lists..

  10. Thanks for the kind words, and for the donations! As of right now we're up to a total of $817 spent so far on this project (all except for the $21 domain-name registrations being signed-driver related), and you all have contributed an amazing $783 worth of donations.

    So I'm no longer quite so much in the red, which definitely makes this whole project much more palatable to the wife. THANK YOU all very much for your support! Again I still hope to be able to raise enough donations that the project is able to afford to rent a dedicated VPS host, and in 12 months we'll be needing to purchase another $229 code-signing certificate, so your continued contributions will be gladly accepted. After we release PeerBlock 1.0 I hope to spend a bit more time on our website(s), and plan on integrating some kind of a "money pool" display at that point to keep y'all apprised of where we stand as far as funding goes.

  11. Oh, and to whoever anonymously posted that their lists weren't being updated, please send me an email ( or post a thread to our forums ( so we can get to the bottom of it. If you could attach your peerblock.log and peerblock.conf that would be helpful.

  12. some feedback: after 3 days, r162 is working flawlessly here. WinXP-PRO-SP3

  13. thank you very much !!

    works like a charm on windows 7 64 bit RTM

  14. When I replaced PG2 with PB 0.9.2 (r86) in XP-Pro, I copied my PG2 list folder into PeerBlock and the list (mostly I-block urls) automatically imported. That didn't happen when installing 0.9.2 (r86) on my Win7 partition. Was this a fluke or can PB pick up the lists this way? Thanks for the great work!

  15. It's been awhile since I last tested r86's Installer, but I believe it should have asked you if you wanted to import PG2's settings (or should have done so automatically). Either way, on a fresh install r162 should correctly import all your old PG2 settings and list files.

    Also, we're now up to $821 worth of donations - more than we've spent to-date! Additional donations as of this point will be going into our "war chest" to fund that VPS server, and/or purchase our next year's code-signing certificate once we get to that point. Thanks everyone!!

  16. The option "allow HTTP" could be enabled by default in the installer for the next release ?

  17. Working well here on Windows 7 64bit.
    The only small thing I noticed, is when you open up the List Manager, the descriptions for Spyware and Advertising are swapped. :)

  18. I have just removed peerguardian 2 and installed peerblock v1.0 on windows 7 x86 rtm, works perfectly BUT!...

    Had a little problem with the "pbfilter.sys" driver not loading and the program not updating so i did some checking on my own and turns out it was my firewall that was causing the problems. (: Outpost Firewall,
    So i manually added the "pbfilter.sys" to trusted and allowed "peerblock.exe" to connect to update and it was fixed. hope that helps someone else most firewalls will cause this problem, (:

    I also would like to thank you MarkSide and the rest of the team for all your hard work and Dedication, this is a must have program that i use alot (Blocking 3 Billion + IP`s) so i too will be making a donation ASAP (im not working at the moment but as soon as i can this will be first thing in my priorities list) And i will also tell everyone i know online that has not switched from peerguardian to peerblock yet to do so and donate...THX

  19. The users will find some advantages in the latest available version. This is a notable step forward improving the functions.