changeset 476:d1e929423961 draft

Merge branch 'master' of git://git1.somerandomnick.ano
author lex <lex@lynx.ano>
date Tue, 29 Mar 2011 19:59:46 +0000
parents 5d512fe717a1 (current diff) d487779c7b08 (diff)
children a90feb9c86a4
files
diffstat 7 files changed, 139 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/thejetset/email	Tue Mar 29 19:59:46 2011 +0000
@@ -0,0 +1,1 @@
+thejetset@lynx.ano
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/thejetset/git	Tue Mar 29 19:59:46 2011 +0000
@@ -0,0 +1,1 @@
+git://thejetset.ano/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/thejetset/irc	Tue Mar 29 19:59:46 2011 +0000
@@ -0,0 +1,1 @@
+thejetset #anonet
--- a/doc/www.anonet2.org/public_pod/Makefile	Tue Mar 29 13:30:01 2011 +0000
+++ b/doc/www.anonet2.org/public_pod/Makefile	Tue Mar 29 19:59:46 2011 +0000
@@ -1,4 +1,4 @@
-all: index.html links.html faq.html darknet_comparison.html anonymity.html intro.html irc_anonymity.html services.html assholes.html
+all: index.html links.html faq.html darknet_comparison.html anonymity.html intro.html irc_anonymity.html services.html assholes.html thejetset_clientport.html
 
 %.html: %.pod
 	pod2xhtml --noindex < $< 2>/dev/null > $@.tmp
--- a/doc/www.anonet2.org/public_pod/index.pod	Tue Mar 29 13:30:01 2011 +0000
+++ b/doc/www.anonet2.org/public_pod/index.pod	Tue Mar 29 19:59:46 2011 +0000
@@ -72,6 +72,11 @@
 
 =item *
 
+L<Thejetset's client 
+port|http://www.anonet2.org/thejetset_clientport>
+
+=item *
+
 It is possible to negotiate your first peering on IRC, completely
 bypassing the client port.  (For this option you can use quicktun,
 openvpn, or tinc.  You will also need routing software, for example bird
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/www.anonet2.org/public_pod/thejetset_clientport.pod	Tue Mar 29 19:59:46 2011 +0000
@@ -0,0 +1,23 @@
+=head1 Thejetset's client port
+
+If you're looking to access AnoNet but don't have the luxury of some box 
+that you can run routing software on reliably then never fear! You can 
+use this client port to access the depths of AnoNet using IP.
+
+=head2 How to access
+
+=over
+
+=item Server: anonet.it.cx
+
+=item Username: anonymous
+
+=item Password: anonymous
+
+=item VPN type: PPTP
+
+=back
+
+Please ensure that you DO NOT USE this as your default route. 
+
+Only use as a route for 1.0.0.0/8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/www.powerfulproxy.com/public_html/do_it.php	Tue Mar 29 19:59:46 2011 +0000
@@ -0,0 +1,107 @@
+<?php
+// Copyright Atiti, 2011
+// Version 0.1-2
+
+// Where are we at?
+$SERVICEURL = "http://powerfulproxy.com/do_it.php/";
+// Do da request
+function get_url($url, $data) {
+	if (!$url) {
+		echo "Invalid use!";
+		die;
+	}
+   	 $options = array(
+        	CURLOPT_RETURNTRANSFER => true,     // return web page
+        	CURLOPT_HEADER         => false,    // don't return headers
+        	CURLOPT_FOLLOWLOCATION => true,     // follow redirects
+       		CURLOPT_ENCODING       => "",       // handle all encodings
+        	CURLOPT_USERAGENT      => "AnoNet proxy", // who am i
+        	CURLOPT_AUTOREFERER    => true,     // set referer on redirect
+        	CURLOPT_CONNECTTIMEOUT => 15,      // timeout on connect
+        	CURLOPT_TIMEOUT        => 28,      // timeout on response
+        	CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
+		CURLOPT_FAILONERROR    => true,
+//		CURLOPT_PROXY	       => "http://b.polipo.srn.ano:8000/",
+   	 );
+	$ch = curl_init ($url);
+	curl_setopt_array( $ch, $options );
+	$fields_string = "";
+	if (count($data)) {
+		foreach($data as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
+		rtrim($fields_string,'&');
+		curl_setopt($ch, CURLOPT_POST, count($data));
+		curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
+	}
+	$ret  = curl_exec ($ch);
+	if ($error = curl_error($ch)) 
+		echo 'ERROR: ',$error;
+	$info = curl_getinfo($ch);
+	return array("data"=>$ret,"info"=>$info);
+}
+// Rewrite relative paths
+function rewriteRelative($html, $base) {
+	$server = preg_replace('@^([^\:]*)://([^/*]*)(/|$).*@', '\1://\2/', $base);
+	$html = preg_replace('@\<([^>]*) (href|src)="/([^"]*)"@i', '<\1 \2="' . $server . '\3"', $html);
+	$html = preg_replace('@\<([^>]*) (href|src)="(([^\:"])*|([^"]*:[^/"].*))"@i', '<\1 \2="' . $base . '\3"', $html);
+	return $html;
+}
+if (isset($_SERVER["PATH_INFO"]))
+	$p = $_SERVER["PATH_INFO"];
+if (isset($_SERVER["QUERY_STRING"]))
+	$q = $_SERVER["QUERY_STRING"];
+$postdata = $_POST;
+$pall = explode("/", $p);
+if (count($pall) <= 1) {
+	echo "Wrong host format? or smtg.";
+	die;
+}
+$proto = $pall[1];
+$host = $pall[2];
+unset($pall[0]);
+unset($pall[1]);
+unset($pall[2]);
+$path = implode("/", $pall);
+// Figure out relative paths
+$pi = pathinfo($path);
+if ($pi) {
+	$rp = @$pi["dirname"];
+} else
+	$rp = "";
+if (!$rp)
+	$rp = $path;
+// Construct request url
+$geturl = $proto."://".$host."/".$path;
+if ($q)
+	$geturl .= "?".$q; // Append query string
+
+$d = get_url($geturl, $postdata);
+$data = $d["data"];
+$ct = $d["info"]["content_type"];
+$ct_s = explode(";", $ct);
+$found = false;
+$match_ct = array("text/html", "text/xml", "text/plain");
+foreach($match_ct as $m) {
+	if ($ct_s[0] == $m)
+		$found = true;
+}
+if ($found) { // Only rewrite for proper content
+	$ret = rewriteRelative($data, $proto."://".$host."/".$rp."/");
+	$ret = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', $SERVICEURL.str_replace("http://", "http/", "$1"), $ret);
+	$ret = str_replace(".php/http://", ".php/http/", $ret);
+	$ret = str_replace(".php/https://", ".php/https/", $ret);
+
+	$ret = str_replace("../", "", $ret);
+	$items = Array("/src='\/(.*)'/", "/src=\"\/(.*)\"/", "/href='\/(.*)'/", "/href=\"\/(.*)\"/");
+	$ret = preg_replace($items, "src='".$SERVICEURL.$proto."/".$host."/$1'", $ret);
+	$ret = preg_replace("/action=\"\/\"/i", "action=\"".$SERVICEURL.$proto."/".$host."/\"", $ret);
+
+} else
+	$ret = "";
+// Output da shit
+header("Content-Type: ".$ct);
+if (strlen($ret) == 0)
+	echo $data;
+else
+	echo $ret;
+
+?>