strawman 0.4 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/COPYING ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Matt Colyer
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest CHANGED
@@ -1,10 +1,22 @@
1
- Manifest
1
+ COPYING
2
2
  README.rdoc
3
3
  Rakefile
4
+ examples/cache/proxy_sites.json
5
+ examples/cache/twitter-proxy_sites.json
4
6
  examples/example.rb
7
+ examples/proxies
5
8
  lib/strawman.rb
6
9
  lib/strawman/http_request.rb
7
10
  lib/strawman/proxy.rb
8
11
  lib/strawman/proxy_list.rb
9
12
  lib/strawman/source.rb
10
- strawman.gemspec
13
+ lib/strawman/transport.rb
14
+ spec/fixtures/proxy
15
+ spec/fixtures/twitter
16
+ spec/helper.rb
17
+ spec/http_request_spec.rb
18
+ spec/mock_transport.rb
19
+ spec/proxy_list_spec.rb
20
+ spec/proxy_spec.rb
21
+ spec/source_spec.rb
22
+ Manifest
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'spec/rake/spectask'
3
3
  require 'rake'
4
4
  require 'echoe'
5
5
 
6
- Echoe.new('strawman', '0.4') do |p|
6
+ Echoe.new('strawman', '0.5') do |p|
7
7
  p.description = "Allows you fetch pages using glype proxies."
8
8
  p.url = "http://github.com/mattcolyer/strawman"
9
9
  p.author = "Matt Colyer"
@@ -0,0 +1 @@
1
+ [{"contributors":null,"in_reply_to_screen_name":null,"in_reply_to_status_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_user_id":null,"created_at":"Sun Feb 14 05:02:31 +0000 2010","geo":null,"favorited":false,"truncated":false,"user":{"notifications":null,"description":"","profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","followers_count":39,"favourites_count":0,"statuses_count":3705,"verified":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","contributors_enabled":false,"lang":"en","profile_sidebar_border_color":"b8e7ff","id":49118673,"following":null,"geo_enabled":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"id":9085875527,"text":"New Glype: http://woshi33.tk/"},{"favorited":false,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_user_id":null,"created_at":"Sun Feb 14 05:01:34 +0000 2010","geo":null,"user":{"verified":false,"description":"","notifications":false,"profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"profile_link_color":"ed3434","followers_count":39,"statuses_count":3704,"profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","friends_count":0,"profile_background_color":"454545","contributors_enabled":false,"time_zone":"Central Time (US & Canada)","favourites_count":0,"profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","lang":"en","geo_enabled":false,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_screen_name":null,"contributors":null,"in_reply_to_status_id":null,"id":9085843419,"truncated":false,"text":"New Glype: http://unlooking-locks.tk"},{"contributors":null,"in_reply_to_user_id":null,"in_reply_to_status_id":null,"in_reply_to_screen_name":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","truncated":false,"created_at":"Sun Feb 14 04:35:19 +0000 2010","geo":null,"user":{"description":"","statuses_count":3703,"profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"contributors_enabled":false,"profile_link_color":"ed3434","followers_count":39,"profile_background_tile":false,"favourites_count":0,"verified":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"geo_enabled":false,"friends_count":0,"location":"","name":"Proxy Sites","lang":"en","notifications":null,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":null,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"favorited":false,"id":9085003889,"text":"New PHProxy: http://proxysite.tk"},{"favorited":false,"in_reply_to_user_id":null,"contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_screen_name":null,"created_at":"Sun Feb 14 04:32:51 +0000 2010","geo":null,"user":{"description":"","profile_text_color":"333333","followers_count":39,"screen_name":"proxy_sites","statuses_count":3702,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","contributors_enabled":false,"profile_background_tile":false,"favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","geo_enabled":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","lang":"en","verified":false,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":null,"notifications":null,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9084920018,"truncated":false,"text":"New Glype: http://freesurf-board.tk"},{"truncated":false,"in_reply_to_screen_name":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","created_at":"Sun Feb 14 03:08:52 +0000 2010","geo":null,"contributors":null,"user":{"favourites_count":0,"description":"","contributors_enabled":false,"profile_text_color":"333333","screen_name":"proxy_sites","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"notifications":null,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","followers_count":39,"protected":false,"location":"","name":"Proxy Sites","lang":"en","friends_count":0,"profile_sidebar_border_color":"b8e7ff","id":49118673,"statuses_count":3701,"following":null,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9081797142,"favorited":false,"in_reply_to_user_id":null,"text":"New Glype: http://new-freeport.tk"},{"truncated":false,"in_reply_to_screen_name":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","created_at":"Sun Feb 14 03:07:50 +0000 2010","geo":null,"contributors":null,"user":{"favourites_count":0,"description":"","contributors_enabled":false,"profile_text_color":"333333","screen_name":"proxy_sites","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"notifications":null,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","followers_count":39,"protected":false,"location":"","name":"Proxy Sites","lang":"en","friends_count":0,"profile_sidebar_border_color":"b8e7ff","id":49118673,"statuses_count":3701,"following":null,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9081760193,"favorited":false,"in_reply_to_user_id":null,"text":"New Glype: http://the-cyberlocks.tk"},{"in_reply_to_user_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_screen_name":null,"created_at":"Sun Feb 14 03:06:59 +0000 2010","geo":null,"contributors":null,"user":{"description":"","profile_text_color":"333333","followers_count":39,"screen_name":"proxy_sites","statuses_count":3699,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","contributors_enabled":false,"profile_background_tile":false,"favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","geo_enabled":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","lang":"en","verified":false,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":false,"notifications":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9081728981,"favorited":false,"truncated":false,"text":"New Glype: http://unlost-freaked.tk"},{"contributors":null,"favorited":false,"in_reply_to_user_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","truncated":false,"created_at":"Sun Feb 14 01:33:39 +0000 2010","geo":null,"in_reply_to_screen_name":null,"user":{"friends_count":0,"description":"","statuses_count":3698,"profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","favourites_count":0,"url":null,"contributors_enabled":false,"profile_link_color":"ed3434","geo_enabled":false,"profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","verified":false,"notifications":null,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","lang":"en","profile_sidebar_border_color":"b8e7ff","followers_count":39,"id":49118673,"following":null,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9078493732,"text":"New Glype: http://post-proxy.co.cc/"},{"contributors":null,"favorited":false,"in_reply_to_status_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","created_at":"Sun Feb 14 00:41:15 +0000 2010","geo":null,"truncated":false,"user":{"contributors_enabled":false,"description":"","geo_enabled":false,"profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"verified":false,"profile_link_color":"ed3434","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","followers_count":39,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"notifications":null,"friends_count":0,"location":"","name":"Proxy Sites","lang":"en","statuses_count":3697,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":null,"utc_offset":-21600,"favourites_count":0,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_screen_name":null,"in_reply_to_user_id":null,"id":9076777816,"text":"New Glype: http://www.iwantforex.co.cc/"},{"favorited":false,"in_reply_to_user_id":null,"contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_screen_name":null,"created_at":"Sun Feb 14 00:40:25 +0000 2010","geo":null,"user":{"description":"","profile_text_color":"333333","followers_count":39,"screen_name":"proxy_sites","statuses_count":3698,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","contributors_enabled":false,"profile_background_tile":false,"favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","geo_enabled":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","lang":"en","verified":false,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":false,"notifications":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9076751928,"truncated":false,"text":"New Glype: http://proxy-age.tk/"},{"in_reply_to_user_id":null,"contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_screen_name":null,"created_at":"Sun Feb 14 00:33:43 +0000 2010","geo":null,"user":{"description":"","profile_text_color":"333333","followers_count":39,"screen_name":"proxy_sites","statuses_count":3695,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","contributors_enabled":false,"profile_background_tile":false,"favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","geo_enabled":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","lang":"en","verified":false,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":null,"notifications":null,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9076541077,"favorited":false,"truncated":false,"text":"New Glype: http://www.freeforex02.co.cc/"},{"favorited":false,"in_reply_to_user_id":null,"contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_screen_name":null,"created_at":"Sun Feb 14 00:28:03 +0000 2010","geo":null,"user":{"description":"","profile_text_color":"333333","followers_count":39,"screen_name":"proxy_sites","statuses_count":3698,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","contributors_enabled":false,"profile_background_tile":false,"favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","geo_enabled":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","lang":"en","verified":false,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":false,"notifications":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9076354600,"truncated":false,"text":"New Glype: http://abm21.tk"},{"in_reply_to_screen_name":null,"contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","created_at":"Sat Feb 13 20:51:19 +0000 2010","geo":null,"user":{"geo_enabled":false,"description":"","profile_text_color":"333333","screen_name":"proxy_sites","verified":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"notifications":false,"profile_link_color":"ed3434","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","followers_count":38,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_fill_color":"DDEEF6","protected":false,"statuses_count":3693,"location":"","name":"Proxy Sites","lang":"en","favourites_count":0,"profile_sidebar_border_color":"b8e7ff","id":49118673,"contributors_enabled":false,"following":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"favorited":false,"in_reply_to_user_id":null,"in_reply_to_status_id":null,"truncated":false,"id":9069755318,"text":"New Glype: http://cloacktunnel.co.cc/"},{"in_reply_to_status_id":null,"truncated":false,"in_reply_to_screen_name":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","created_at":"Sat Feb 13 20:12:30 +0000 2010","geo":null,"user":{"contributors_enabled":false,"description":"","geo_enabled":false,"profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"verified":false,"profile_link_color":"ed3434","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","followers_count":38,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"notifications":false,"friends_count":0,"location":"","name":"Proxy Sites","lang":"en","statuses_count":3692,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":true,"utc_offset":-21600,"favourites_count":0,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_user_id":null,"contributors":null,"id":9068590420,"favorited":false,"text":"New Glype: http://anoname.co.cc"},{"contributors":null,"in_reply_to_screen_name":null,"in_reply_to_status_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_user_id":null,"created_at":"Sat Feb 13 19:03:55 +0000 2010","geo":null,"favorited":false,"truncated":false,"user":{"notifications":false,"description":"","profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","followers_count":38,"favourites_count":0,"statuses_count":3691,"verified":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","contributors_enabled":false,"lang":"en","profile_sidebar_border_color":"b8e7ff","id":49118673,"following":true,"geo_enabled":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"id":9066467106,"text":"New Glype: http://proxy-power.co.cc/"},{"contributors":null,"in_reply_to_screen_name":null,"in_reply_to_status_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_user_id":null,"created_at":"Sat Feb 13 19:03:46 +0000 2010","geo":null,"favorited":false,"truncated":false,"user":{"notifications":false,"description":"","profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","followers_count":38,"favourites_count":0,"statuses_count":3691,"verified":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","contributors_enabled":false,"lang":"en","profile_sidebar_border_color":"b8e7ff","id":49118673,"following":true,"geo_enabled":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"id":9066462549,"text":"New Glype: http://cloackproxie.co.cc/"},{"contributors":null,"in_reply_to_screen_name":null,"in_reply_to_status_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_user_id":null,"created_at":"Sat Feb 13 18:55:28 +0000 2010","geo":null,"favorited":false,"truncated":false,"user":{"notifications":false,"description":"","profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","followers_count":38,"favourites_count":0,"statuses_count":3691,"verified":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","contributors_enabled":false,"lang":"en","profile_sidebar_border_color":"b8e7ff","id":49118673,"following":true,"geo_enabled":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"id":9066197171,"text":"New PHProxy: http://hostingproxies.co.cc/"},{"contributors":null,"in_reply_to_screen_name":null,"in_reply_to_status_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_user_id":null,"created_at":"Sat Feb 13 18:17:59 +0000 2010","geo":null,"favorited":false,"truncated":false,"user":{"notifications":false,"description":"","profile_text_color":"333333","screen_name":"proxy_sites","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","followers_count":38,"favourites_count":0,"statuses_count":3691,"verified":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","contributors_enabled":false,"lang":"en","profile_sidebar_border_color":"b8e7ff","id":49118673,"following":true,"geo_enabled":false,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"id":9064996868,"text":"New Glype: http://fasthide88.tk/"},{"favorited":false,"in_reply_to_user_id":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","created_at":"Sat Feb 13 17:51:33 +0000 2010","geo":null,"user":{"description":"","profile_text_color":"333333","followers_count":39,"screen_name":"proxy_sites","statuses_count":3687,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"friends_count":0,"profile_link_color":"ed3434","contributors_enabled":false,"profile_background_tile":false,"favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","geo_enabled":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","protected":false,"location":"","name":"Proxy Sites","lang":"en","verified":false,"profile_sidebar_border_color":"b8e7ff","id":49118673,"following":null,"notifications":null,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_screen_name":null,"in_reply_to_status_id":null,"id":9064113647,"contributors":null,"truncated":false,"text":"New Glype: http://forexidentiry.tk/"},{"truncated":false,"in_reply_to_screen_name":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","created_at":"Sat Feb 13 17:45:41 +0000 2010","geo":null,"contributors":null,"user":{"favourites_count":0,"description":"","contributors_enabled":false,"profile_text_color":"333333","screen_name":"proxy_sites","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","url":null,"profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"notifications":null,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_background_color":"454545","time_zone":"Central Time (US & Canada)","profile_sidebar_fill_color":"DDEEF6","followers_count":39,"protected":false,"location":"","name":"Proxy Sites","lang":"en","friends_count":0,"profile_sidebar_border_color":"b8e7ff","id":49118673,"statuses_count":3686,"following":null,"utc_offset":-21600,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg"},"in_reply_to_status_id":null,"id":9063916872,"favorited":false,"in_reply_to_user_id":null,"text":"New Glype: http://fastfreeunblocker.co.cc/"}]
@@ -0,0 +1 @@
1
+ [{"in_reply_to_status_id":null,"in_reply_to_screen_name":null,"truncated":false,"created_at":"Tue Feb 23 21:45:36 +0000 2010","source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_user_id":null,"favorited":false,"user":{"followers_count":43,"description":"","profile_text_color":"333333","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","friends_count":0,"statuses_count":4365,"profile_link_color":"ed3434","profile_background_tile":false,"favourites_count":0,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","contributors_enabled":false,"profile_background_color":"454545","lang":"en","geo_enabled":false,"screen_name":"proxy_sites","following":false,"profile_sidebar_fill_color":"DDEEF6","protected":false,"verified":false,"notifications":false,"location":"","name":"Proxy Sites","time_zone":"Central Time (US & Canada)","profile_sidebar_border_color":"b8e7ff","id":49118673,"utc_offset":-21600,"url":null},"contributors":null,"geo":null,"id":9544125488,"text":"New Glype: http://metahide.co.cc/"},{"in_reply_to_user_id":null,"created_at":"Tue Feb 23 21:30:49 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_screen_name":null,"favorited":false,"user":{"friends_count":0,"description":"","contributors_enabled":false,"profile_text_color":"333333","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","geo_enabled":false,"profile_background_tile":false,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","profile_background_color":"454545","lang":"en","verified":false,"screen_name":"proxy_sites","following":null,"profile_sidebar_fill_color":"DDEEF6","protected":false,"notifications":null,"location":"","name":"Proxy Sites","time_zone":"Central Time (US & Canada)","profile_sidebar_border_color":"b8e7ff","followers_count":43,"id":49118673,"statuses_count":4364,"utc_offset":-21600,"url":null},"geo":null,"in_reply_to_status_id":null,"id":9543541077,"truncated":false,"text":"New Glype: http://autohope.co.cc/"},{"in_reply_to_screen_name":null,"favorited":false,"in_reply_to_user_id":null,"created_at":"Tue Feb 23 21:16:10 +0000 2010","source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","contributors":null,"user":{"friends_count":0,"description":"","contributors_enabled":false,"profile_text_color":"333333","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","geo_enabled":false,"profile_background_tile":false,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","profile_background_color":"454545","lang":"en","verified":false,"screen_name":"proxy_sites","following":null,"profile_sidebar_fill_color":"DDEEF6","protected":false,"notifications":null,"location":"","name":"Proxy Sites","time_zone":"Central Time (US & Canada)","profile_sidebar_border_color":"b8e7ff","followers_count":43,"id":49118673,"statuses_count":4363,"utc_offset":-21600,"url":null},"geo":null,"in_reply_to_status_id":null,"id":9542997998,"truncated":false,"text":"New Glype: http://killertunnel.co.cc/"},{"in_reply_to_status_id":null,"in_reply_to_screen_name":null,"truncated":false,"created_at":"Tue Feb 23 21:15:33 +0000 2010","source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","in_reply_to_user_id":null,"favorited":false,"user":{"followers_count":43,"description":"","profile_text_color":"333333","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","friends_count":0,"statuses_count":4362,"profile_link_color":"ed3434","profile_background_tile":false,"favourites_count":0,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","contributors_enabled":false,"profile_background_color":"454545","lang":"en","geo_enabled":false,"screen_name":"proxy_sites","following":null,"profile_sidebar_fill_color":"DDEEF6","protected":false,"verified":false,"notifications":null,"location":"","name":"Proxy Sites","time_zone":"Central Time (US & Canada)","profile_sidebar_border_color":"b8e7ff","id":49118673,"utc_offset":-21600,"url":null},"contributors":null,"geo":null,"id":9542976576,"text":"New Glype: http://freeparty.tk"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 21:15:27 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9542973239,"in_reply_to_user_id":null,"text":"New Glype: http://unblockbeauty.co.cc/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 21:14:42 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9542949280,"in_reply_to_user_id":null,"text":"New Glype: http://servicebot.tk/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 21:04:29 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9542636803,"in_reply_to_user_id":null,"text":"New Glype: http://moneyhope.co.cc/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 21:03:06 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9542585371,"in_reply_to_user_id":null,"text":"New Glype: http://applepie2.info"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 20:45:14 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9541917202,"in_reply_to_user_id":null,"text":"New Glype: http://teachadd.co.cc/"},{"in_reply_to_user_id":null,"created_at":"Tue Feb 23 20:00:19 +0000 2010","in_reply_to_screen_name":null,"favorited":false,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","contributors":null,"user":{"friends_count":0,"description":"","contributors_enabled":false,"profile_text_color":"333333","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","geo_enabled":false,"profile_background_tile":false,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","profile_background_color":"454545","lang":"en","verified":false,"screen_name":"proxy_sites","following":null,"profile_sidebar_fill_color":"DDEEF6","protected":false,"notifications":null,"location":"","name":"Proxy Sites","time_zone":"Central Time (US & Canada)","profile_sidebar_border_color":"b8e7ff","followers_count":43,"id":49118673,"statuses_count":4356,"utc_offset":-21600,"url":null},"geo":null,"in_reply_to_status_id":null,"id":9540237900,"truncated":false,"text":"New Glype: http://virtueprox.info"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 19:39:38 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9539481425,"in_reply_to_user_id":null,"text":"New Glype: http://pearlunblock.co.cc/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 19:37:05 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9539388915,"in_reply_to_user_id":null,"text":"New Glype: http://proxyline.tk/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 19:31:10 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9539173494,"in_reply_to_user_id":null,"text":"New Glype: http://greatproxie.co.cc/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 19:30:45 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9539158478,"in_reply_to_user_id":null,"text":"New Glype: http://machinenew.co.cc/"},{"in_reply_to_status_id":null,"contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","truncated":false,"geo":null,"user":{"following":null,"friends_count":0,"description":"","screen_name":"proxy_sites","statuses_count":4351,"profile_sidebar_fill_color":"DDEEF6","url":null,"favourites_count":0,"contributors_enabled":false,"time_zone":"Central Time (US & Canada)","profile_sidebar_border_color":"b8e7ff","location":"","geo_enabled":false,"verified":false,"notifications":null,"profile_text_color":"333333","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","protected":false,"lang":"en","profile_link_color":"ed3434","name":"Proxy Sites","profile_background_tile":false,"created_at":"Sat Jun 20 20:58:36 +0000 2009","followers_count":43,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","id":49118673,"utc_offset":-21600,"profile_background_color":"454545"},"in_reply_to_user_id":null,"in_reply_to_screen_name":null,"id":9539119537,"created_at":"Tue Feb 23 19:29:45 +0000 2010","favorited":false,"text":"New Glype: http://resolutionproxy.tk"},{"truncated":false,"contributors":null,"created_at":"Tue Feb 23 19:17:59 +0000 2010","source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"contributors_enabled":false,"description":"","geo_enabled":false,"profile_text_color":"333333","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","verified":false,"profile_link_color":"ed3434","profile_background_tile":false,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","profile_background_color":"454545","lang":"en","followers_count":43,"screen_name":"proxy_sites","following":null,"profile_sidebar_fill_color":"DDEEF6","protected":false,"notifications":null,"friends_count":0,"location":"","name":"Proxy Sites","statuses_count":4350,"time_zone":"Central Time (US & Canada)","profile_sidebar_border_color":"b8e7ff","id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"id":9538695108,"in_reply_to_screen_name":null,"favorited":false,"in_reply_to_user_id":null,"text":"New Glype: http://palacebin.co.cc/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 19:08:39 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9538364253,"in_reply_to_user_id":null,"text":"New Glype: http://gamelow.co.cc/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 18:54:08 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9537836201,"in_reply_to_user_id":null,"text":"New Glype: http://littletunnel.co.cc/"},{"in_reply_to_screen_name":null,"favorited":false,"created_at":"Tue Feb 23 18:43:41 +0000 2010","contributors":null,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","user":{"profile_text_color":"333333","description":"","geo_enabled":false,"profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","verified":false,"profile_background_tile":false,"profile_background_color":"454545","profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","lang":"en","profile_sidebar_fill_color":"DDEEF6","followers_count":43,"screen_name":"proxy_sites","statuses_count":4364,"following":null,"protected":false,"notifications":null,"time_zone":"Central Time (US & Canada)","friends_count":0,"profile_sidebar_border_color":"b8e7ff","location":"","name":"Proxy Sites","contributors_enabled":false,"id":49118673,"utc_offset":-21600,"favourites_count":0,"url":null},"in_reply_to_status_id":null,"geo":null,"truncated":false,"id":9537461476,"in_reply_to_user_id":null,"text":"New Glype: http://topforex.tk/"},{"in_reply_to_user_id":null,"created_at":"Tue Feb 23 18:37:03 +0000 2010","in_reply_to_screen_name":null,"favorited":false,"source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","contributors":null,"user":{"friends_count":0,"description":"","contributors_enabled":false,"profile_text_color":"333333","profile_background_image_url":"http://a3.twimg.com/profile_background_images/67257809/Twitter.jpg","favourites_count":0,"created_at":"Sat Jun 20 20:58:36 +0000 2009","profile_link_color":"ed3434","geo_enabled":false,"profile_background_tile":false,"profile_image_url":"http://a3.twimg.com/profile_images/588447807/ProxySites_normal.jpg","profile_background_color":"454545","lang":"en","verified":false,"screen_name":"proxy_sites","following":null,"profile_sidebar_fill_color":"DDEEF6","protected":false,"notifications":null,"location":"","name":"Proxy Sites","time_zone":"Central Time (US & Canada)","profile_sidebar_border_color":"b8e7ff","followers_count":44,"id":49118673,"statuses_count":4346,"utc_offset":-21600,"url":null},"geo":null,"in_reply_to_status_id":null,"id":9537222669,"truncated":false,"text":"New Glype: http://www.dotadota.co.cc"}]
@@ -0,0 +1,232 @@
1
+ ---
2
+ - !ruby/object:Strawman::GlypeProxy
3
+ root_url: http://zebratunnel.co.cc/
4
+ valid: false
5
+ - !ruby/object:Strawman::GlypeProxy
6
+ root_url: http://hidelater.tk/
7
+ valid: false
8
+ - !ruby/object:Strawman::GlypeProxy
9
+ root_url: http://forexware.tk/
10
+ valid: false
11
+ - !ruby/object:Strawman::GlypeProxy
12
+ root_url: http://www.unlimitedaccessloan.co.cc
13
+ valid: false
14
+ - !ruby/object:Strawman::GlypeProxy
15
+ root_url: http://happy4forex.co.cc
16
+ valid: false
17
+ - !ruby/object:Strawman::GlypeProxy
18
+ root_url: http://forexloans.co.cc
19
+ valid: false
20
+ - !ruby/object:Strawman::GlypeProxy
21
+ root_url: http://anonymouscarinsurance.co.cc
22
+ valid: false
23
+ - !ruby/object:Strawman::GlypeProxy
24
+ root_url: http://forexfiles.tk/
25
+ valid: false
26
+ - !ruby/object:Strawman::GlypeProxy
27
+ root_url: http://www.playsafeproxy.co.cc
28
+ valid: false
29
+ - !ruby/object:Strawman::GlypeProxy
30
+ root_url: http://hideyouripfree.info/
31
+ valid: false
32
+ - !ruby/object:Strawman::GlypeProxy
33
+ root_url: http://proxytimes.tk/
34
+ valid: false
35
+ - !ruby/object:Strawman::GlypeProxy
36
+ root_url: http://forexholder.co.cc/
37
+ valid: false
38
+ - !ruby/object:Strawman::GlypeProxy
39
+ root_url: http://www.hidegate.tk/
40
+ valid: false
41
+ - !ruby/object:Strawman::GlypeProxy
42
+ root_url: http://www.mintuno.co.cc
43
+ valid: false
44
+ - !ruby/object:Strawman::GlypeProxy
45
+ root_url: http://www.savewebproxy.co.cc
46
+ valid: false
47
+ - !ruby/object:Strawman::GlypeProxy
48
+ root_url: http://bypassinternet.tk
49
+ valid: false
50
+ - !ruby/object:Strawman::GlypeProxy
51
+ root_url: http://publicproxyserver.tk
52
+ valid: false
53
+ - !ruby/object:Strawman::GlypeProxy
54
+ root_url: http://www.diamondforexblock.tk/
55
+ valid: false
56
+ - !ruby/object:Strawman::GlypeProxy
57
+ root_url: http://freedom-freeway.co.cc
58
+ valid: false
59
+ - !ruby/object:Strawman::GlypeProxy
60
+ root_url: http://www.forexnewhide.tk/
61
+ valid: false
62
+ - !ruby/object:Strawman::GlypeProxy
63
+ root_url: http://race-proxy.tk/
64
+ valid: false
65
+ - !ruby/object:Strawman::GlypeProxy
66
+ root_url: http://hideup.tk/
67
+ valid: false
68
+ - !ruby/object:Strawman::GlypeProxy
69
+ root_url: http://protectforex.tk/
70
+ valid: false
71
+ - !ruby/object:Strawman::GlypeProxy
72
+ root_url: http://block-hawk-down.co.cc
73
+ valid: false
74
+ - !ruby/object:Strawman::GlypeProxy
75
+ root_url: http://browserhider.info/
76
+ valid: false
77
+ - !ruby/object:Strawman::GlypeProxy
78
+ root_url: http://proxy-money.tk/
79
+ valid: false
80
+ - !ruby/object:Strawman::GlypeProxy
81
+ root_url: http://nonblock-begin.co.cc
82
+ valid: false
83
+ - !ruby/object:Strawman::GlypeProxy
84
+ root_url: http://funproxy.tk
85
+ valid: false
86
+ - !ruby/object:Strawman::GlypeProxy
87
+ root_url: http://block-breaker.co.cc
88
+ valid: false
89
+ - !ruby/object:Strawman::GlypeProxy
90
+ root_url: http://guarantedloans.co.cc
91
+ valid: false
92
+ - !ruby/object:Strawman::GlypeProxy
93
+ root_url: http://superfastloans.co.cc
94
+ valid: false
95
+ - !ruby/object:Strawman::GlypeProxy
96
+ root_url: http://workforex.co.cc/
97
+ valid: false
98
+ - !ruby/object:Strawman::GlypeProxy
99
+ root_url: http://forexearning.tk/
100
+ valid: false
101
+ - !ruby/object:Strawman::GlypeProxy
102
+ root_url: http://hideloan.tk/
103
+ valid: false
104
+ - !ruby/object:Strawman::GlypeProxy
105
+ root_url: http://forexscan.tk/
106
+ valid: false
107
+ - !ruby/object:Strawman::GlypeProxy
108
+ root_url: http://highanonymity.tk/
109
+ valid: false
110
+ - !ruby/object:Strawman::GlypeProxy
111
+ root_url: http://proxy-boost.co.cc/
112
+ valid: false
113
+ - !ruby/object:Strawman::GlypeProxy
114
+ root_url: http://secure-hide.tk/
115
+ valid: false
116
+ - !ruby/object:Strawman::GlypeProxy
117
+ root_url: http://super-faster.co.cc
118
+ valid: false
119
+ - !ruby/object:Strawman::GlypeProxy
120
+ root_url: http://findyoung.tk/
121
+ valid: false
122
+ - !ruby/object:Strawman::GlypeProxy
123
+ root_url: http://ngeroot.co.cc/
124
+ valid: false
125
+ - !ruby/object:Strawman::GlypeProxy
126
+ root_url: http://curangkowe.co.cc/
127
+ valid: false
128
+ - !ruby/object:Strawman::GlypeProxy
129
+ root_url: http://jayuskowe.co.cc/
130
+ valid: false
131
+ - !ruby/object:Strawman::GlypeProxy
132
+ root_url: http://futurecampus.co.cc/
133
+ valid: false
134
+ - !ruby/object:Strawman::GlypeProxy
135
+ root_url: http://springsun.tk/
136
+ valid: false
137
+ - !ruby/object:Strawman::GlypeProxy
138
+ root_url: http://accesscheat.co.cc
139
+ valid: false
140
+ - !ruby/object:Strawman::GlypeProxy
141
+ root_url: http://www.dafeethson.co.cc/
142
+ valid: false
143
+ - !ruby/object:Strawman::GlypeProxy
144
+ root_url: http://privateforex.co.cc/
145
+ valid: false
146
+ - !ruby/object:Strawman::GlypeProxy
147
+ root_url: http://lastforex.tk/
148
+ valid: false
149
+ - !ruby/object:Strawman::GlypeProxy
150
+ root_url: http://block-destroyer.tk
151
+ valid: false
152
+ - !ruby/object:Strawman::GlypeProxy
153
+ root_url: http://www.mumetindas.co.cc/
154
+ valid: false
155
+ - !ruby/object:Strawman::GlypeProxy
156
+ root_url: http://www.makemoneyproxy.co.cc
157
+ valid: false
158
+ - !ruby/object:Strawman::GlypeProxy
159
+ root_url: http://www.unblocksuper.co.cc/
160
+ valid: false
161
+ - !ruby/object:Strawman::GlypeProxy
162
+ root_url: http://cityboss.tk/
163
+ valid: false
164
+ - !ruby/object:Strawman::GlypeProxy
165
+ root_url: http://rockdangduto.tk
166
+ valid: false
167
+ - !ruby/object:Strawman::GlypeProxy
168
+ root_url: http://rockbalado.tk/
169
+ valid: false
170
+ - !ruby/object:Strawman::GlypeProxy
171
+ root_url: http://autohope.co.cc/
172
+ valid: false
173
+ - !ruby/object:Strawman::GlypeProxy
174
+ root_url: http://killertunnel.co.cc/
175
+ valid: false
176
+ - !ruby/object:Strawman::GlypeProxy
177
+ root_url: http://freeparty.tk
178
+ valid: false
179
+ - !ruby/object:Strawman::GlypeProxy
180
+ root_url: http://unblockbeauty.co.cc/
181
+ valid: false
182
+ - !ruby/object:Strawman::GlypeProxy
183
+ root_url: http://servicebot.tk/
184
+ valid: false
185
+ - !ruby/object:Strawman::GlypeProxy
186
+ root_url: http://moneyhope.co.cc/
187
+ valid: false
188
+ - !ruby/object:Strawman::GlypeProxy
189
+ root_url: http://applepie2.info
190
+ valid: false
191
+ - !ruby/object:Strawman::GlypeProxy
192
+ root_url: http://teachadd.co.cc/
193
+ valid: false
194
+ - !ruby/object:Strawman::GlypeProxy
195
+ root_url: http://virtueprox.info
196
+ valid: false
197
+ - !ruby/object:Strawman::GlypeProxy
198
+ root_url: http://pearlunblock.co.cc/
199
+ valid: false
200
+ - !ruby/object:Strawman::GlypeProxy
201
+ root_url: http://proxyline.tk/
202
+ valid: false
203
+ - !ruby/object:Strawman::GlypeProxy
204
+ root_url: http://greatproxie.co.cc/
205
+ valid: false
206
+ - !ruby/object:Strawman::GlypeProxy
207
+ root_url: http://machinenew.co.cc/
208
+ valid: false
209
+ - !ruby/object:Strawman::GlypeProxy
210
+ root_url: http://resolutionproxy.tk
211
+ valid: false
212
+ - !ruby/object:Strawman::GlypeProxy
213
+ root_url: http://palacebin.co.cc/
214
+ valid: false
215
+ - !ruby/object:Strawman::GlypeProxy
216
+ root_url: http://gamelow.co.cc/
217
+ valid: false
218
+ - !ruby/object:Strawman::GlypeProxy
219
+ root_url: http://littletunnel.co.cc/
220
+ valid: false
221
+ - !ruby/object:Strawman::GlypeProxy
222
+ root_url: http://topforex.tk/
223
+ valid: false
224
+ - !ruby/object:Strawman::GlypeProxy
225
+ root_url: http://www.dotadota.co.cc
226
+ valid: false
227
+ - !ruby/object:Strawman::GlypeProxy
228
+ root_url: http://ozindo.co.cc/
229
+ valid: false
230
+ - !ruby/object:Strawman::GlypeProxy
231
+ root_url: http://metahide.co.cc/
232
+ valid: false
@@ -1,6 +1,7 @@
1
1
  require 'base64'
2
- require 'json'
3
2
  require 'cgi'
3
+ require 'uri'
4
+ require 'json'
4
5
  require 'strawman/http_request'
5
6
  require 'strawman/proxy'
6
7
  require 'strawman/proxy_list'
@@ -10,6 +10,7 @@ module Strawman
10
10
  def initialize(url)
11
11
  @root_url = url
12
12
  @valid = false
13
+ @validate_response = ""
13
14
  end
14
15
 
15
16
  #
@@ -35,6 +36,13 @@ module Strawman
35
36
  @valid
36
37
  end
37
38
 
39
+ #
40
+ # Returns the response of the validate request from the proxy.
41
+ #
42
+ def validate_response
43
+ @validate_response
44
+ end
45
+
38
46
  def ==(other)
39
47
  self.class == other.class && self.root_url == other.root_url
40
48
  end
@@ -62,6 +70,7 @@ module Strawman
62
70
  url = proxy_url(verification_url)
63
71
  http = Transport.new(url).get :head => {'referer' => @root_url}
64
72
  http.callback {
73
+ @validate_response = http.response
65
74
  @valid = true if http.response_header.status == 200
66
75
  }
67
76
 
@@ -75,7 +84,7 @@ module Strawman
75
84
  protected
76
85
  def proxy_path(url)
77
86
  encoded_url = CGI.escape(Base64.encode64(url[4..-1]))
78
- "/browse.php?u=#{encoded_url}&f=norefer"
87
+ "/browse.php?b=4&u=#{encoded_url}"
79
88
  end
80
89
  end
81
90
  end
@@ -58,8 +58,8 @@ module Strawman
58
58
  end
59
59
 
60
60
  proxy_response.errback do
61
- @proxies.remove(proxy)
62
- @dead_proxies.add(proxy)
61
+ @proxies.delete(proxy)
62
+ @dead_proxies.push(proxy)
63
63
  end
64
64
 
65
65
  deferrable
@@ -0,0 +1,14 @@
1
+ module Strawman
2
+ #
3
+ # Abstract class proxy used for either EventMachine::HttpRequests in
4
+ # production or EventMachine::MockHttpRequest for testing.
5
+ #
6
+ class Transport
7
+ def initialize(*args)
8
+ @request = EventMachine::HttpRequest.new(*args)
9
+ end
10
+ def method_missing(method, *args)
11
+ @request.send(method, *args)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ HTTP/1.1 200 OK
2
+ Date: Thu, 18 Feb 2010 17:03:03 GMT
3
+ Server: Apache
4
+ X-Powered-By: PHP/5.2.12
5
+ Cache-Control:
6
+ Set-Cookie: s=baai6teku43gddhod5iegq62b0; path=/
7
+ Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT
8
+ Vary: Accept-Encoding
9
+ Content-Length: 14
10
+ Content-Type: text/plain
11
+
12
+ 69.163.160.190
@@ -0,0 +1,23 @@
1
+ HTTP/1.1 200 OK
2
+ Date: Thu, 18 Feb 2010 16:56:08 GMT
3
+ Server: hi
4
+ X-RateLimit-Limit: 150
5
+ X-Transaction: 1266512168-57048-20007
6
+ Status: 200 OK
7
+ ETag: "b2edc2ed1a92f08d6d59d84176d0aedc"
8
+ Last-Modified: Thu, 18 Feb 2010 16:56:08 GMT
9
+ X-RateLimit-Remaining: 144
10
+ X-Runtime: 0.02408
11
+ Content-Type: application/json; charset=utf-8
12
+ Pragma: no-cache
13
+ Content-Length: 3486
14
+ X-RateLimit-Class: api
15
+ Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
16
+ Expires: Tue, 31 Mar 1981 05:00:00 GMT
17
+ X-Revision: DEV
18
+ X-RateLimit-Reset: 1266515695
19
+ Set-Cookie: _twitter_sess=BAh7CDoRdHJhbnNfcHJvbXB0MDoHaWQiJTZhZTM4Y2U0YmQ2NTQxMjgwZWYx%250AZWM1MWZjODFiMmJmIgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVyOjpGbGFz%250AaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--bade84ff1717d485945c0bf050947103789f9639; domain=.twitter.com; path=/
20
+ Vary: Accept-Encoding
21
+ Connection: close
22
+
23
+ [{"geo":null,"in_reply_to_user_id":null,"created_at":"Sun Feb 14 14:56:50 +0000 2010","source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","contributors":null,"favorited":false,"truncated":false,"user":{"friends_count":0,"profile_sidebar_border_color":"87bc44","description":"","statuses_count":3,"favourites_count":0,"created_at":"Mon Jan 18 10:12:32 +0000 2010","contributors_enabled":false,"profile_text_color":"000000","geo_enabled":false,"profile_background_image_url":"http://s.twimg.com/a/1266450641/images/themes/theme1/bg.png","profile_image_url":"http://s.twimg.com/a/1266450641/images/default_profile_4_normal.png","notifications":null,"profile_link_color":"0000ff","lang":"en","verified":false,"profile_background_tile":false,"screen_name":"proxy_lists","following":null,"profile_background_color":"9ae4e8","protected":false,"location":"","name":"proxy lists","time_zone":"Hawaii","profile_sidebar_fill_color":"e0ff92","followers_count":0,"id":106051397,"utc_offset":-36000,"url":"http://www.proxies.ws/"},"in_reply_to_screen_name":null,"id":9100430701,"in_reply_to_status_id":null,"text":"New Glype: http://surfproxy.org"},{"geo":null,"in_reply_to_user_id":null,"created_at":"Sun Feb 14 14:56:43 +0000 2010","source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","contributors":null,"favorited":false,"truncated":false,"user":{"friends_count":0,"profile_sidebar_border_color":"87bc44","description":"","statuses_count":3,"favourites_count":0,"created_at":"Mon Jan 18 10:12:32 +0000 2010","contributors_enabled":false,"profile_text_color":"000000","geo_enabled":false,"profile_background_image_url":"http://s.twimg.com/a/1266450641/images/themes/theme1/bg.png","profile_image_url":"http://s.twimg.com/a/1266450641/images/default_profile_4_normal.png","notifications":null,"profile_link_color":"0000ff","lang":"en","verified":false,"profile_background_tile":false,"screen_name":"proxy_lists","following":null,"profile_background_color":"9ae4e8","protected":false,"location":"","name":"proxy lists","time_zone":"Hawaii","profile_sidebar_fill_color":"e0ff92","followers_count":0,"id":106051397,"utc_offset":-36000,"url":"http://www.proxies.ws/"},"in_reply_to_screen_name":null,"id":9100426940,"in_reply_to_status_id":null,"text":"New Glype: http://balikavadhuonline.com"},{"geo":null,"in_reply_to_user_id":null,"created_at":"Sun Feb 14 14:56:35 +0000 2010","source":"<a href=\"http://apiwiki.twitter.com/\" rel=\"nofollow\">API</a>","contributors":null,"favorited":false,"truncated":false,"user":{"friends_count":0,"profile_sidebar_border_color":"87bc44","description":"","statuses_count":3,"favourites_count":0,"created_at":"Mon Jan 18 10:12:32 +0000 2010","contributors_enabled":false,"profile_text_color":"000000","geo_enabled":false,"profile_background_image_url":"http://s.twimg.com/a/1266450641/images/themes/theme1/bg.png","profile_image_url":"http://s.twimg.com/a/1266450641/images/default_profile_4_normal.png","notifications":null,"profile_link_color":"0000ff","lang":"en","verified":false,"profile_background_tile":false,"screen_name":"proxy_lists","following":null,"profile_background_color":"9ae4e8","protected":false,"location":"","name":"proxy lists","time_zone":"Hawaii","profile_sidebar_fill_color":"e0ff92","followers_count":0,"id":106051397,"utc_offset":-36000,"url":"http://www.proxies.ws/"},"in_reply_to_screen_name":null,"id":9100422864,"in_reply_to_status_id":null,"text":"New Glype: http://love2bunk.com"}]
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+
4
+ require 'eventmachine'
5
+ require 'em-http'
6
+ require 'em-http/mock'
7
+ require 'json'
8
+ require 'cgi'
9
+
10
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib/'
@@ -0,0 +1,48 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+ require 'strawman/http_request'
3
+ require 'strawman/transport'
4
+ require File.dirname(__FILE__) + '/mock_transport'
5
+
6
+ describe Strawman::HttpRequest do
7
+ before(:all) do
8
+ @base_url = "http://example.com:80/"
9
+ proxy_url = "http://proxy.com/"
10
+
11
+ @proxy = mock("Proxy")
12
+ @proxy.should_receive(:referer).and_return(proxy_url)
13
+ @proxy.should_receive(:proxy_url).and_return {|u| u}
14
+ deferrable = mock("Deferrable")
15
+ deferrable.should_receive(:callback).and_return{|b| b.call(@proxy)}
16
+ @proxy_list = mock("ProxyList")
17
+ @proxy_list.should_receive(:proxy).and_return(deferrable)
18
+ end
19
+
20
+ before(:each) do
21
+ EventMachine::MockHttpRequest.reset_registry!
22
+ EventMachine::MockHttpRequest.reset_counts!
23
+ end
24
+
25
+ it "should support HTTP GET" do
26
+ EventMachine::MockHttpRequest.register_file(@base_url, :get,
27
+ File.join(File.dirname(__FILE__), 'fixtures', 'proxy'))
28
+ http_request = Strawman::HttpRequest.new @proxy_list, @base_url
29
+ http_response = http_request.get
30
+ EventMachine::MockHttpRequest.count(@base_url, :get).should == 1
31
+ end
32
+
33
+ it "should support HTTP POST" do
34
+ EventMachine::MockHttpRequest.register_file(@base_url, :post,
35
+ File.join(File.dirname(__FILE__), 'fixtures', 'proxy'))
36
+ http_request = Strawman::HttpRequest.new @proxy_list, @base_url
37
+ http_response = http_request.post
38
+ EventMachine::MockHttpRequest.count(@base_url, :post).should == 1
39
+ end
40
+
41
+ it "should support HTTP POST with parameters" do
42
+ EventMachine::MockHttpRequest.register_file(@base_url, :post,
43
+ File.join(File.dirname(__FILE__), 'fixtures', 'proxy'))
44
+ http_request = Strawman::HttpRequest.new @proxy_list, @base_url
45
+ http_response = http_request.post :body => {:test => 1}
46
+ EventMachine::MockHttpRequest.count(@base_url, :post).should == 1
47
+ end
48
+ end
@@ -0,0 +1,11 @@
1
+ module Strawman
2
+ class Transport
3
+ def initialize(*args)
4
+ @request = EventMachine::MockHttpRequest.new(*args)
5
+ EventMachine::MockHttpRequest.pass_through_requests = false
6
+ end
7
+ def method_missing(method, *args)
8
+ @request.send(method, *args)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,64 @@
1
+ require 'tempfile'
2
+
3
+ require File.dirname(__FILE__) + '/helper'
4
+ require 'strawman/proxy_list'
5
+ require 'strawman/source'
6
+ require 'strawman/proxy'
7
+ require 'strawman/transport'
8
+ require File.dirname(__FILE__) + '/mock_transport'
9
+
10
+ describe Strawman::ProxyList do
11
+ before(:all) do
12
+ @proxy_check_url = "http://whatismyip.org"
13
+ end
14
+
15
+ before(:each) do
16
+ EventMachine::MockHttpRequest.reset_registry!
17
+ EventMachine::MockHttpRequest.reset_counts!
18
+ EventMachine::MockHttpRequest.register_file('http://twitter.com:80/statuses/user_timeline/proxy_lists.json',
19
+ :get,
20
+ File.join(File.dirname(__FILE__), 'fixtures', 'twitter'))
21
+ end
22
+
23
+ it "should verify sources with the given url and return a callback" do
24
+ EventMachine.run {
25
+ proxy_list = Strawman::ProxyList.new(@proxy_check_url)
26
+ proxy_response = proxy_list.add_sources([Strawman::TwitterSource.new("proxy_lists", false)])
27
+ proxy_response.callback {
28
+ proxy_list.proxies.size.should == 3
29
+ EventMachine.stop
30
+ }
31
+ }
32
+ end
33
+
34
+ it "should verify sources as proxies are requested" do
35
+ EventMachine.run {
36
+ proxy_list = Strawman::ProxyList.new(@proxy_check_url)
37
+ proxy_response = proxy_list.add_sources([Strawman::TwitterSource.new("proxy_lists", false)])
38
+ proxy_response.callback {
39
+ proxy = proxy_list.proxies.first
40
+ proxy_list.proxies = [proxy]
41
+
42
+ EventMachine::MockHttpRequest.register_file(proxy.proxy_url(@proxy_check_url), :get,
43
+ File.join(File.dirname(__FILE__), 'fixtures', 'proxy'))
44
+ proxy = proxy_list.proxy
45
+ proxy.callback do |proxy|
46
+ EventMachine::MockHttpRequest.count(proxy.proxy_url(@proxy_check_url), :get).should == 1
47
+ end
48
+ EventMachine.stop
49
+ }
50
+ }
51
+ end
52
+
53
+ it "should be able to store proxies to a file" do
54
+ proxy_list = Strawman::ProxyList.new(@proxy_check_url)
55
+ proxy = Strawman::GlypeProxy.new("http://www.fake.com")
56
+ proxy_list.proxies << proxy
57
+ file = Tempfile.new("save-file")
58
+ proxy_list.save(file.path)
59
+
60
+ proxy_list_loaded = Strawman::ProxyList.new(@proxy_check_url)
61
+ proxy_list_loaded.load(file.path)
62
+ proxy_list.proxies.should == proxy_list_loaded.proxies
63
+ end
64
+ end
@@ -0,0 +1,37 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+ require 'strawman/proxy'
3
+ require File.dirname(__FILE__) + '/mock_transport'
4
+
5
+ describe Strawman::GlypeProxy do
6
+ before(:all) do
7
+ @url = "http://proxy.com"
8
+ @proxy = Strawman::GlypeProxy.new @url
9
+ @proxy_check_url = "http://whatismyip.org"
10
+ end
11
+
12
+ before(:each) do
13
+ EventMachine::MockHttpRequest.reset_registry!
14
+ EventMachine::MockHttpRequest.reset_counts!
15
+ end
16
+
17
+ it "should be able to return a proxy url for any given url" do
18
+ @proxy.proxy_url(@proxy_check_url).to_s.should == "http://proxy.com:80/browse.php?u=Oi8vd2hhdGlzbXlpcC5vcmc%3D%0A&f=norefer"
19
+ end
20
+
21
+ it "should return the proper referer to send" do
22
+ @proxy.referer.should == @url
23
+ end
24
+
25
+ it "should be able to validate the given proxy" do
26
+ EventMachine::MockHttpRequest.register_file(@proxy.proxy_url(@proxy_check_url),
27
+ :get,
28
+ File.join(File.dirname(__FILE__), 'fixtures', 'proxy'))
29
+ EventMachine.run {
30
+ proxy_response = @proxy.validate(@proxy_check_url)
31
+ proxy_response.callback {
32
+ @proxy.should be_valid
33
+ EventMachine.stop
34
+ }
35
+ }
36
+ end
37
+ end
@@ -0,0 +1,25 @@
1
+ require File.dirname(__FILE__) + '/helper'
2
+ require 'strawman/source'
3
+ require 'strawman/proxy'
4
+ require File.dirname(__FILE__) + '/mock_transport'
5
+
6
+ describe Strawman::TwitterSource do
7
+ before(:each) do
8
+ EventMachine::MockHttpRequest.reset_registry!
9
+ EventMachine::MockHttpRequest.reset_counts!
10
+ end
11
+
12
+ it "should fetch the data from a twitter user and parse the results" do
13
+ twitter_url = 'http://twitter.com:80/statuses/user_timeline/proxy_lists.json'
14
+ EventMachine::MockHttpRequest.register_file(twitter_url, :get,
15
+ File.join(File.dirname(__FILE__), 'fixtures', 'twitter'))
16
+ EventMachine.run {
17
+ source = Strawman::TwitterSource.new("proxy_lists", false)
18
+ source.callback {
19
+ source.proxies.size.should == 3
20
+ EventMachine.stop
21
+ }
22
+ }
23
+
24
+ end
25
+ end
@@ -2,21 +2,21 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{strawman}
5
- s.version = "0.4"
5
+ s.version = "0.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Matt Colyer"]
9
9
  s.cert_chain = ["/home/mcolyer/.ssh/gem-public_cert.pem"]
10
- s.date = %q{2010-02-21}
10
+ s.date = %q{2010-07-27}
11
11
  s.description = %q{Allows you fetch pages using glype proxies.}
12
12
  s.email = %q{matt @nospam@ colyer.name}
13
- s.extra_rdoc_files = ["README.rdoc", "lib/strawman.rb", "lib/strawman/http_request.rb", "lib/strawman/proxy.rb", "lib/strawman/proxy_list.rb", "lib/strawman/source.rb"]
14
- s.files = ["Manifest", "README.rdoc", "Rakefile", "examples/example.rb", "lib/strawman.rb", "lib/strawman/http_request.rb", "lib/strawman/proxy.rb", "lib/strawman/proxy_list.rb", "lib/strawman/source.rb", "strawman.gemspec"]
13
+ s.extra_rdoc_files = ["COPYING", "README.rdoc", "lib/strawman.rb", "lib/strawman/http_request.rb", "lib/strawman/proxy.rb", "lib/strawman/proxy_list.rb", "lib/strawman/source.rb", "lib/strawman/transport.rb"]
14
+ s.files = ["COPYING", "README.rdoc", "Rakefile", "examples/cache/proxy_sites.json", "examples/cache/twitter-proxy_sites.json", "examples/example.rb", "examples/proxies", "lib/strawman.rb", "lib/strawman/http_request.rb", "lib/strawman/proxy.rb", "lib/strawman/proxy_list.rb", "lib/strawman/source.rb", "lib/strawman/transport.rb", "spec/fixtures/proxy", "spec/fixtures/twitter", "spec/helper.rb", "spec/http_request_spec.rb", "spec/mock_transport.rb", "spec/proxy_list_spec.rb", "spec/proxy_spec.rb", "spec/source_spec.rb", "Manifest", "strawman.gemspec"]
15
15
  s.homepage = %q{http://github.com/mattcolyer/strawman}
16
16
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Strawman", "--main", "README.rdoc"]
17
17
  s.require_paths = ["lib"]
18
18
  s.rubyforge_project = %q{strawman}
19
- s.rubygems_version = %q{1.3.5}
19
+ s.rubygems_version = %q{1.3.7}
20
20
  s.signing_key = %q{/home/mcolyer/.ssh/gem-private_key.pem}
21
21
  s.summary = %q{Allows you fetch pages using glype proxies.}
22
22
 
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
25
  s.specification_version = 3
26
26
 
27
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
27
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
28
28
  s.add_runtime_dependency(%q<eventmachine>, [">= 0"])
29
29
  s.add_runtime_dependency(%q<em-http-request>, [">= 0"])
30
30
  s.add_runtime_dependency(%q<json>, [">= 0"])
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strawman
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.4"
4
+ hash: 1
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 5
9
+ version: "0.5"
5
10
  platform: ruby
6
11
  authors:
7
12
  - Matt Colyer
@@ -30,49 +35,65 @@ cert_chain:
30
35
  anU=
31
36
  -----END CERTIFICATE-----
32
37
 
33
- date: 2010-02-21 00:00:00 -08:00
38
+ date: 2010-07-27 00:00:00 -07:00
34
39
  default_executable:
35
40
  dependencies:
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: eventmachine
38
- type: :runtime
39
- version_requirement:
40
- version_requirements: !ruby/object:Gem::Requirement
43
+ prerelease: false
44
+ requirement: &id001 !ruby/object:Gem::Requirement
45
+ none: false
41
46
  requirements:
42
47
  - - ">="
43
48
  - !ruby/object:Gem::Version
49
+ hash: 3
50
+ segments:
51
+ - 0
44
52
  version: "0"
45
- version:
53
+ type: :runtime
54
+ version_requirements: *id001
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: em-http-request
48
- type: :runtime
49
- version_requirement:
50
- version_requirements: !ruby/object:Gem::Requirement
57
+ prerelease: false
58
+ requirement: &id002 !ruby/object:Gem::Requirement
59
+ none: false
51
60
  requirements:
52
61
  - - ">="
53
62
  - !ruby/object:Gem::Version
63
+ hash: 3
64
+ segments:
65
+ - 0
54
66
  version: "0"
55
- version:
67
+ type: :runtime
68
+ version_requirements: *id002
56
69
  - !ruby/object:Gem::Dependency
57
70
  name: json
58
- type: :runtime
59
- version_requirement:
60
- version_requirements: !ruby/object:Gem::Requirement
71
+ prerelease: false
72
+ requirement: &id003 !ruby/object:Gem::Requirement
73
+ none: false
61
74
  requirements:
62
75
  - - ">="
63
76
  - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
64
80
  version: "0"
65
- version:
81
+ type: :runtime
82
+ version_requirements: *id003
66
83
  - !ruby/object:Gem::Dependency
67
84
  name: rspec
68
- type: :development
69
- version_requirement:
70
- version_requirements: !ruby/object:Gem::Requirement
85
+ prerelease: false
86
+ requirement: &id004 !ruby/object:Gem::Requirement
87
+ none: false
71
88
  requirements:
72
89
  - - ">="
73
90
  - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 0
74
94
  version: "0"
75
- version:
95
+ type: :development
96
+ version_requirements: *id004
76
97
  description: Allows you fetch pages using glype proxies.
77
98
  email: matt @nospam@ colyer.name
78
99
  executables: []
@@ -80,22 +101,37 @@ executables: []
80
101
  extensions: []
81
102
 
82
103
  extra_rdoc_files:
104
+ - COPYING
83
105
  - README.rdoc
84
106
  - lib/strawman.rb
85
107
  - lib/strawman/http_request.rb
86
108
  - lib/strawman/proxy.rb
87
109
  - lib/strawman/proxy_list.rb
88
110
  - lib/strawman/source.rb
111
+ - lib/strawman/transport.rb
89
112
  files:
90
- - Manifest
113
+ - COPYING
91
114
  - README.rdoc
92
115
  - Rakefile
116
+ - examples/cache/proxy_sites.json
117
+ - examples/cache/twitter-proxy_sites.json
93
118
  - examples/example.rb
119
+ - examples/proxies
94
120
  - lib/strawman.rb
95
121
  - lib/strawman/http_request.rb
96
122
  - lib/strawman/proxy.rb
97
123
  - lib/strawman/proxy_list.rb
98
124
  - lib/strawman/source.rb
125
+ - lib/strawman/transport.rb
126
+ - spec/fixtures/proxy
127
+ - spec/fixtures/twitter
128
+ - spec/helper.rb
129
+ - spec/http_request_spec.rb
130
+ - spec/mock_transport.rb
131
+ - spec/proxy_list_spec.rb
132
+ - spec/proxy_spec.rb
133
+ - spec/source_spec.rb
134
+ - Manifest
99
135
  - strawman.gemspec
100
136
  has_rdoc: true
101
137
  homepage: http://github.com/mattcolyer/strawman
@@ -112,21 +148,28 @@ rdoc_options:
112
148
  require_paths:
113
149
  - lib
114
150
  required_ruby_version: !ruby/object:Gem::Requirement
151
+ none: false
115
152
  requirements:
116
153
  - - ">="
117
154
  - !ruby/object:Gem::Version
155
+ hash: 3
156
+ segments:
157
+ - 0
118
158
  version: "0"
119
- version:
120
159
  required_rubygems_version: !ruby/object:Gem::Requirement
160
+ none: false
121
161
  requirements:
122
162
  - - ">="
123
163
  - !ruby/object:Gem::Version
164
+ hash: 11
165
+ segments:
166
+ - 1
167
+ - 2
124
168
  version: "1.2"
125
- version:
126
169
  requirements: []
127
170
 
128
171
  rubyforge_project: strawman
129
- rubygems_version: 1.3.5
172
+ rubygems_version: 1.3.7
130
173
  signing_key:
131
174
  specification_version: 3
132
175
  summary: Allows you fetch pages using glype proxies.
metadata.gz.sig CHANGED
Binary file