first workable scenario master
authorRob <robin@robinkrens.nl>
Sat, 7 Apr 2018 16:27:30 +0000 (00:27 +0800)
committerRob <robin@robinkrens.nl>
Sat, 7 Apr 2018 16:27:30 +0000 (00:27 +0800)
client.sh [new file with mode: 0755]
simple-proxy.sh [new file with mode: 0755]

diff --git a/client.sh b/client.sh
new file mode 100755 (executable)
index 0000000..f734390
--- /dev/null
+++ b/client.sh
@@ -0,0 +1,13 @@
+# client file
+
+# open a connection to proxy server and request the homepage
+# of the blocked server. Blocked server is static and can 
+# be changed in simple-proxy.sh
+
+# The HTTP GET statement is quite sensitive, you will easily
+# get a 400 ERROR bad request if some values are wrong
+
+PROXY_IP=45.76.159.1
+PROXY_PORT=3344
+
+printf "GET / HTTP/1.1\r\nHost: robinkrens.nl\r\n\r\n" | netcat $PROXY_IP $PROXY_PORT -v
diff --git a/simple-proxy.sh b/simple-proxy.sh
new file mode 100755 (executable)
index 0000000..857bd02
--- /dev/null
@@ -0,0 +1,31 @@
+#
+# the most basic proxy
+#
+# luobin - robin@robinkrens.nl
+#
+# client request through the proxy server (here: localhost port 3344)
+# proxy server on its turn pipes this request to the blocked host 
+# (here: robinkrens.nl port 80) Of course the data of this request is 
+# returned in a similar but reversed fashion.
+
+PROXY_PORT=3344
+BLOCKED_HOST=robinkrens.nl 
+BLOCKED_HOST_PORT=80
+
+# killall previous netcat ports (ugly)
+killall netcat
+
+# make two named pipes to parse the data (unnamed makes it impossible to
+# address this data)
+mkfifo client_request blocked_host_reply
+
+# netcat opens a port (-l -p ) and listen continiously (-k)
+# data from the client is forwarded in client request
+# any data written to blocked_host_reply is sent back to
+# the client
+netcat -k -l -p $PROXY_PORT > client_request < blocked_host_reply &
+
+
+# client request is given to the blocked host
+# blocked host returns its data in blocked_host_reply
+netcat $BLOCKED_HOST $BLOCKED_HOST_PORT < client_request > blocked_host_reply