Pirnat.com

On second thought, let’s not go to Camelot; it is a silly place

Pirnat.com header image 3

YoSucker Hacks

YoSucker Hacks

Last modified: Tuesday, 07-Nov-2006 19:02:11 CST

Introduction

Every so often, I get tired of being almost to my storage limit on my Yahoo email box, and it’s time to suck down all the messages that have accumulated and find a better resting place for them. In the past, I’ve used FetchYahoo, but my somewhat weird Perl installation on my Gentoo box was giving it fits. My search for something new led me to YoSucker.

Sneakysleep

Summary

When I first installed YoSucker, I had about 800 messages to download in order to build my initial repository. The download started to go okay, but pretty quickly (about 200 messages in) I started to see warnings of “Header structure corruption! Message won’t be saved correctly!” for every message. Looking at the downloaded mail, I saw page after page of Yahoo claiming that my account was unavailable, and to try back later. Checking the live web interface, I had the same problem — I could still log into my Yahoo account and use all of Yahoo’s other services, but the mail service refused entry for about 60-90 minutes.

I presume that Yahoo is causing mail accounts to be locked when downloading or accessing too many messages within a short span of time. I’ve seen some comments on the YahooPops forums that suggest I’m not the only one to have encountered this issue.

So… I threw together a cheap hack to allow a random delay between downloading each message, with the purpose of tricking Yahoo into believing that YoSucker was a real user as opposed to an automated download death machine. In the configuration file, set SNEAKYSLEEP to the maximum number of seconds between each message download. For no pause between messages, SNEAKYSLEEP should be set to 0.

While this slows down the process immensely, it did successfully allow me to download my entire inbox in one shot without my mail account being locked.

I also hacked in a configuration flag to force YoSucker to obey the LIMIT setting, regardless of whether or not it’s the first download. This is significantly less useful than I thought it might be, but it’s in my patch as well. You can make fun of it if you like; I do.

These changes were accepted into prototype version 50a of YoSucker; while they’re fairly insignificant, it’s the first code that non-prolific little ol’ me has ever submitted to an open-source project, so I’m stupidly excited to be able to give back even a little bit to the community. I’m no kernel maven, not by any stretch of the imagination, but it’s still a good feeling.

Downloads

Get YoSucker (prototype 50a includes my patch)

Get sneakysleep.patch.tar.gz [tar.gz, 1.3KB] (in case you want to see the actual diffs against prototype 43)

Related

YoSucker homepage

0 Comments. Wait. What is this place?

Leave A Comment

0 responses so far ↓

  • There are no comments yet... Kick things off by filling out the form below.