SVN: toys/rsget.pl/Get/HotFile

sparky sparky at pld-linux.org
Fri Dec 11 21:56:40 CET 2009


Author: sparky
Date: Fri Dec 11 21:56:39 2009
New Revision: 11029

Modified:
   toys/rsget.pl/Get/HotFile
Log:
- updated for captcha change, now uses recaptcha, no automatic solver
  because recaptcha is to hard


Modified: toys/rsget.pl/Get/HotFile
==============================================================================
--- toys/rsget.pl/Get/HotFile	(original)
+++ toys/rsget.pl/Get/HotFile	Fri Dec 11 21:56:39 2009
@@ -9,8 +9,8 @@
 short: HF
 web: "http://hotfile.com/"
 tos: "http://hotfile.com/terms-of-service.html"
-uri: qr{hotfile\.com/}
-status: OK 2009-10-22
+uri: qr{hotfile\.com/dl/\d+/[0-9a-f]+/.+}
+status: OK 2009-12-11
 
 start:
 	GET( $-{_uri} );
@@ -38,18 +38,23 @@
 
 	GOTO stage_download if m#<a href="(.*?)">Click here to download</a>#;
 
-	! $-{capform} = $self->form( match => { body => qr/Enter word above/ } );
+	! $-{capform} = $self->form( match => { body => qr/recaptcha\.net/ } );
+
+	! m{ src="(http://api\.recaptcha\.net/challenge.*)"};
 
-	! m#<img src="(/captcha\.php.*?)">#;
 	GET( $1, keep_referer => 1 );
 
+	! m{challenge : '(\S+)',};
+	$-{capform}->set( recaptcha_challenge_field => $1 );
+
+	GET( "http://api.recaptcha.net/image?c=" . $1, keep_referer => 1 );
+
 	CAPTCHA(
-		qr/[a-zA-Z]{5,6}/,
-		process => \&hf_decaptcha
+		qr/\S+ \S+/
 	);
 
 	GOTO stage_getcaptcha unless defined $_;
-	$-{capform}->set( captcha => $_ );
+	$-{capform}->set( recaptcha_response_field => $_ );
 
 	GET( $-{capform}->post() );
 stage_download:
@@ -63,20 +68,4 @@
 
 	CLICK_DOWNLOAD( $1 );
 
-perl:
-
-sub hf_color_select_lowest
-{
-	my @s = sort { $a <=> $b } @_;
-	return $s[0];
-}
-
-sub hf_decaptcha
-{
-	my $img = shift;
-	$img->color_filter( \&hf_color_select_lowest );
-	$img->luma_emphasize( 90, 130 );
-	return $img->ocr();
-}
-
 # vim: filetype=perl:ts=4:sw=4


More information about the pld-cvs-commit mailing list