neko-obfs 0.1.0.2 → 0.1.0.4
raw patch · 4 files changed
+19/−8 lines, 4 filesdep ~base
Dependency ranges changed: base
Files
- neko-obfs.cabal +3/−2
- src/Helper.hs +0/−1
- src/Main.hs +6/−5
- src/NetworkHelper.hs +10/−0
neko-obfs.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: neko-obfs-version: 0.1.0.2+version: 0.1.0.4 synopsis: a TCP tunnel with packet length obfuscation description: Just another tool that helps accessing the internet license: Apache-2.0@@ -25,8 +25,9 @@ , Parser , Type , Unsafe+ , NetworkHelper -- other-extensions: - build-depends: base >=4.9 && <4.11+ build-depends: base >=4.11 && <7 , async , attoparsec , binary
src/Helper.hs view
@@ -32,4 +32,3 @@ log :: MonadIO m => Text -> m () log x = sync - T.putStrLn x -
src/Main.hs view
@@ -29,8 +29,9 @@ import Pipes.Safe import System.Random (randomIO) import Options.Generic-import System.IO (hSetBuffering, stdin, stdout, BufferMode(LineBuffering))+import System.IO (hSetBuffering, stdin, stdout, BufferMode(LineBuffering)) +import NetworkHelper (setSocketCommon) import Options (toConfig) import Parser import Type@@ -130,11 +131,11 @@ localThread <- pure - runSafeT . runEffect - serve (Host _localHost) _localPort - \(localSock, localSockAddr) -> do log - "local accepted: " <> view packed (show localSockAddr)- NS.setSocketOption localSock NS.NoDelay 1+ setSocketCommon localSock runSafeT . runEffect - connect _remoteHost _remotePort - \(remoteSock, remoteSockAddr) -> do- liftIO - NS.setSocketOption remoteSock NS.NoDelay 1+ liftIO - setSocketCommon remoteSock let localPull = _fromSocket localSock _mtu@@ -159,14 +160,14 @@ remoteThread <- pure - runSafeT . runEffect - serve (Host _remoteHost) _remotePort - \(remoteSock, remoteSockAddr) -> do log - "remote accepted: " <> view packed (show remoteSockAddr)- NS.setSocketOption remoteSock NS.NoDelay 1+ setSocketCommon remoteSock let _forwardHost = config ^. forwardHost . re packed _forwardPort = show - config ^. forwardPort runSafeT . runEffect - connect _forwardHost _forwardPort - \(forwardSock, forwardSockAddr) -> do- liftIO - NS.setSocketOption forwardSock NS.NoDelay 1+ liftIO - setSocketCommon forwardSock let remotePull = _fromSocket remoteSock _mtu
+ src/NetworkHelper.hs view
@@ -0,0 +1,10 @@+-- |++module NetworkHelper where++import qualified Network.Socket as NS++setSocketCommon :: NS.Socket -> IO ()+setSocketCommon socket = do+ NS.setSocketOption socket NS.NoDelay 1+ NS.setSocketOption socket NS.KeepAlive 1