Important alert: (current site time 7/15/2013 9:33:42 PM EDT)
 

VB icon

Socket get

Email
Submitted on: 3/20/2002 11:05:45 PM
By: Chris Meyers 
Level: Beginner
User Rating: By 3 Users
Compatibility: 5.0 (all versions), Active Perl specific
Views: 18002
(About the author)
 
     I made this little program to get past those darn content filters at the school that filter out things that shouldn't be in my opinion like neworder and blacksun. http://www.whatever.com/cgi-bin/proxy.cgi?http://bannedsite.com The www.bannedsite.com can be replaced with any site that you want to go to. This script downloads the site and then sends it to the client so it looks like it came from the trusted site. It also makes every link that you click on go through the same process so you don't have to keep puttin the link on the browser url bar thingy. I haven't added image support but I plan to in the future. Also I will make it easier to read with /Q and /E
 
code:
Can't Copy and Paste this?
Click here for a copy-and-paste friendly version of this code!
 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.
				
=**************************************
= Name: Socket get
= Description:I made this little program to get past those darn content filters at the school that filter out things that shouldn't be in my opinion like neworder and blacksun.
http://www.whatever.com/cgi-bin/proxy.cgi?http://bannedsite.com The www.bannedsite.com can be replaced with any site that you want to go to. This script downloads the site and then sends it to the client so it looks like it came from the trusted site. It also makes every link that you click on go through the same process so you don't have to keep puttin the link on the browser url bar thingy. I haven't added image support but I plan to in the future. 
Also I will make it easier to read with /Q and /E
 
= By: Chris Meyers
=
= Returns:It should return the page that is blocked.
=
=This code is copyrighted and has= limited warranties.Please see http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=298&lngWId=6=for details.=**************************************

#!/usr/bin/perl
use IO::Socket;
print "Content-type: text/html\n\n";
$port = 80;
$site = $ENV{'QUERY_STRING'};
$site =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$site =~ s/\%20/ /g;
$site =~ s/^(.*?)http:\/\///;
$host = $site;
$host =~ s/\/(.*)//;
$site = $1;
print "<base href=\"http:\/\/www\.whateveritishostedon\.com\/cgi-bin\/proxy\.cgi\?http:\/\/$site\">";
$connect = IO::Socket::INET->new(PeerAddr => $host, PeerPort => $port, Proto => "tcp") || die "Cannot connect to $host: $!\n";
print $connect "GET http://$host/$site HTTP/1.0\n\n";
while (<$connect>) {
	if (s/href=\"(http:\/\/.*?)\"/href=\"http:\/\/www\.whateveritishostedon\.com\/cgi-bin\/proxy\.cgi\?$1\"/isg) {
		print "$_";
	} else {
		s/href=\"(.*?)\"/href=\"http:\/\/www\.whateveritishostedon\.com\/cgi-bin\/proxy\.cgi\?$host$1\"/isg;
		print "$_";
	}
}
close($connect);


Other 2 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Beginner category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments
4/3/2002 6:22:03 PMSean M Siegel

hi im having trouble running your Socket get script.. here are the errors im getting..

Use of uninitialized value in concatenation (.) or string at socket.cgi line 11.
Cannot connect to www%2Eaol%2Ecom: Invalid argument

do you know what these could be?? if please help.
(If this comment was disrespectful, please report it.)

 
4/3/2002 9:32:24 PMChris Meyers

Ok I changed the code. Should work now.
(If this comment was disrespectful, please report it.)

 
1/5/2005 10:10:14 AMAndiroo

Yes, nice start on a HTTP proxy, when will there be a latter version released on here? As there are alot of things such as images and some links which don't work with this script. Since i don't know perl then i couldn't have done it myself :S

Search google for nph-proxy it's a very good http proxy similar to this except it works very well, but it's kind of bloated which is why i looked on here.
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.