packages feed

socks 0.5.3 → 0.5.4

raw patch · 3 files changed

+43/−43 lines, 3 files

Files

Example.hs view
@@ -11,47 +11,47 @@ import System.Environment (getArgs)  main = do-	args <- getArgs-	let serverName = "localhost"-	let serverPort = 1080-	let destinationName = case args of-		[]    -> "www.google.com"-		(x:_) -> x-	-- socks server is expected to be running on localhost port 1080-	he     <- getHostByName serverName-	let socksServerAddr = SockAddrInet serverPort (head $ hostAddresses he)+    args <- getArgs+    let serverName = "localhost"+    let serverPort = 1080+    let destinationName = case args of+            []    -> "www.google.com"+            (x:_) -> x+    -- socks server is expected to be running on localhost port 1080+    he     <- getHostByName serverName+    let socksServerAddr = SockAddrInet serverPort (head $ hostAddresses he) -	example1 socksServerAddr destinationName-	example2 socksServerAddr destinationName+    example1 socksServerAddr destinationName+    example2 socksServerAddr destinationName -	example3 serverName serverPort destinationName 80+    example3 serverName serverPort destinationName 80 -	where-		-- connect to @destName on port 80 through the socks server-		-- www.google.com get resolve on the client here and then the sockaddr is-		-- passed to socksConnectAddr-		example1 socksServerAddr destName = do-			socket <- socket AF_INET Stream defaultProtocol-			-			gHost <- getHostByName destName-			let destinationAddr = SockAddrInet 80 (head $ hostAddresses gHost)-			socksConnectAddr socket socksServerAddr destinationAddr+  where+        -- connect to @destName on port 80 through the socks server+        -- www.google.com get resolve on the client here and then the sockaddr is+        -- passed to socksConnectAddr+        example1 socksServerAddr destName = do+            socket <- socket AF_INET Stream defaultProtocol+            +            gHost <- getHostByName destName+            let destinationAddr = SockAddrInet 80 (head $ hostAddresses gHost)+            socksConnectAddr socket socksServerAddr destinationAddr -			sendAll socket "GET / HTTP/1.0\r\n\r\n"-			recv socket 4096 >>= putStrLn . show-			sClose socket-		-- connect to @destName on port 80 through the socks server-		-- the server is doing the resolution itself-		example2 socksServerAddr destName = do-			socket <- socket AF_INET Stream defaultProtocol-			socksConnectName socket socksServerAddr destName 80-			sendAll socket "GET / HTTP/1.0\r\n\r\n"-			recv socket 4096 >>= putStrLn . show-			sClose socket+            sendAll socket "GET / HTTP/1.0\r\n\r\n"+            recv socket 4096 >>= putStrLn . show+            sClose socket+        -- connect to @destName on port 80 through the socks server+        -- the server is doing the resolution itself+        example2 socksServerAddr destName = do+            socket <- socket AF_INET Stream defaultProtocol+            socksConnectName socket socksServerAddr destName 80+            sendAll socket "GET / HTTP/1.0\r\n\r\n"+            recv socket 4096 >>= putStrLn . show+            sClose socket -		example3 sname sport dname dport = do	-			handle <- socksConnectTo sname (PortNumber sport) dname (PortNumber dport)-			BC.hPut handle "GET / HTTP/1.0\r\n\r\n"-			hFlush handle-			BC.hGet handle 1024 >>= putStrLn . show-			hClose handle+        example3 sname sport dname dport = do    +            handle <- socksConnectTo sname (PortNumber sport) dname (PortNumber dport)+            BC.hPut handle "GET / HTTP/1.0\r\n\r\n"+            hFlush handle+            BC.hGet handle 1024 >>= putStrLn . show+            hClose handle
Network/Socks5/Wire.hs view
@@ -44,9 +44,9 @@     , responseBindPort :: PortNumber     } deriving (Show,Eq) -getAddr 1 = SocksAddrIPV4 <$> getWord32be+getAddr 1 = SocksAddrIPV4 <$> getWord32host getAddr 3 = SocksAddrDomainName <$> (getWord8 >>= getByteString . fromIntegral)-getAddr 4 = SocksAddrIPV6 <$> (liftM4 (,,,) getWord32le getWord32le getWord32le getWord32le)+getAddr 4 = SocksAddrIPV6 <$> (liftM4 (,,,) getWord32host getWord32host getWord32host getWord32host) getAddr n = error ("cannot get unknown socket address type: " ++ show n)  putAddr (SocksAddrIPV4 h)         = putWord8 1 >> putWord32host h
socks.cabal view
@@ -1,5 +1,5 @@ Name:                socks-Version:             0.5.3+Version:             0.5.4 Description:         Socks proxy (version 5) implementation. License:             BSD3 License-file:        LICENSE@@ -25,7 +25,7 @@   Other-modules:     Network.Socks5.Wire                      Network.Socks5.Conf                      Network.Socks5.Command-  ghc-options:       -Wall -fno-warn-missing-signatures+  ghc-options:       -Wall -fno-warn-missing-signatures -fwarn-tabs  source-repository head   type: git