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 +0 -0
- data/COPYING +20 -0
- data/Manifest +14 -2
- data/Rakefile +1 -1
- data/examples/cache/proxy_sites.json +1 -0
- data/examples/cache/twitter-proxy_sites.json +1 -0
- data/examples/proxies +232 -0
- data/lib/strawman.rb +2 -1
- data/lib/strawman/proxy.rb +10 -1
- data/lib/strawman/proxy_list.rb +2 -2
- data/lib/strawman/transport.rb +14 -0
- data/spec/fixtures/proxy +12 -0
- data/spec/fixtures/twitter +23 -0
- data/spec/helper.rb +10 -0
- data/spec/http_request_spec.rb +48 -0
- data/spec/mock_transport.rb +11 -0
- data/spec/proxy_list_spec.rb +64 -0
- data/spec/proxy_spec.rb +37 -0
- data/spec/source_spec.rb +25 -0
- data/strawman.gemspec +6 -6
- metadata +65 -22
- metadata.gz.sig +0 -0
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
|
-
|
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.
|
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.
|
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"}]
|
data/examples/proxies
ADDED
@@ -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
|
data/lib/strawman.rb
CHANGED
data/lib/strawman/proxy.rb
CHANGED
@@ -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}
|
87
|
+
"/browse.php?b=4&u=#{encoded_url}"
|
79
88
|
end
|
80
89
|
end
|
81
90
|
end
|
data/lib/strawman/proxy_list.rb
CHANGED
@@ -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
|
data/spec/fixtures/proxy
ADDED
@@ -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"}]
|
data/spec/helper.rb
ADDED
@@ -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
|
data/spec/proxy_spec.rb
ADDED
@@ -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
|
data/spec/source_spec.rb
ADDED
@@ -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
|
data/strawman.gemspec
CHANGED
@@ -2,21 +2,21 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{strawman}
|
5
|
-
s.version = "0.
|
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-
|
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 = ["
|
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.
|
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::
|
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
|
-
|
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-
|
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
|
-
|
39
|
-
|
40
|
-
|
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
|
-
|
53
|
+
type: :runtime
|
54
|
+
version_requirements: *id001
|
46
55
|
- !ruby/object:Gem::Dependency
|
47
56
|
name: em-http-request
|
48
|
-
|
49
|
-
|
50
|
-
|
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
|
-
|
67
|
+
type: :runtime
|
68
|
+
version_requirements: *id002
|
56
69
|
- !ruby/object:Gem::Dependency
|
57
70
|
name: json
|
58
|
-
|
59
|
-
|
60
|
-
|
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
|
-
|
81
|
+
type: :runtime
|
82
|
+
version_requirements: *id003
|
66
83
|
- !ruby/object:Gem::Dependency
|
67
84
|
name: rspec
|
68
|
-
|
69
|
-
|
70
|
-
|
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
|
-
|
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
|
-
-
|
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.
|
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
|