moesocks 1.0.0.0 → 1.0.0.1
raw patch · 5 files changed
+36/−10 lines, 5 files
Files
- CHANGELOG.md +5/−0
- README.md +24/−3
- moesocks.cabal +1/−1
- src/Network/MoeSocks/Bootstrap.hs +5/−5
- src/Network/MoeSocks/Default.hs +1/−1
CHANGELOG.md view
@@ -1,3 +1,8 @@+1.0.0.1+-------+* Default to no buffer, rely on buffer in the kernel. Add force Explicit+ Congestion Notification in Readme.+ 1.0.0.0 ------- * Tag a stable release, clean up types
README.md view
@@ -1,5 +1,4 @@ MoeSocks- ======== A SOCKS5 proxy using the client / server architecture.@@ -9,7 +8,7 @@ Installation ============ -* Need `GHC 7.10.2` on Linux.+* Need `GHC 7.10.2` on Unix. Usage =====@@ -41,7 +40,10 @@ auto restart the program if it crashes, likely due to [#10590], the fix of which was not included in the `7.10.2` release. +* On `OSX`, If you only run `moesocks -r local`, then it should work. Occasional+ manual restart should be expected. `fastOpen` field should be `false` for now. + Features ======== @@ -57,7 +59,7 @@ ========== * UDP over SOCKS5 is not implemented.-* TCP bind over SOCKS5 is not implemented.+* TCP bind over SOCKS5 is not implemented* More then 2 times slower then the original Python implementation (measured at * More then 2 times slower then the original Python implementation (measured at 20M/s vs 43M/s on an Intel P8800, using the AES-256-CFB method, in software AES).@@ -95,7 +97,24 @@ tcpdump port 8388 -i any -X -v +Explicit Congestion Notification ([ECN])+========================================= +## No buffer by default++After version v1.0.0.0, moesocks will default to no buffer at the application+level. Smart buffer is expected from the kernel.++In app buffer can still be tuned on by setting "tcpBufferSize" in+`config.json` a value greater then 1.++## Force ECN++On Linux 3.7+ (as root)++ echo 1 > /proc/sys/net/ipv4/tcp_ecn++ Credits ======= @@ -126,3 +145,5 @@ [config.json]:https://raw.githubusercontent.com/nfjinjing/moesocks/master/config.json [#10590]:https://ghc.haskell.org/trac/ghc/ticket/10590 [TFO]:https://en.wikipedia.org/wiki/TCP_Fast_Open+[ECN]:https://en.wikipedia.org/wiki/Explicit_Congestion_Notification+
moesocks.cabal view
@@ -1,6 +1,6 @@ name: moesocks category: Network-version: 1.0.0.0+version: 1.0.0.1 license: Apache-2.0 synopsis: A functional firewall killer description: A SOCKS5 proxy using the client / server architecture.
src/Network/MoeSocks/Bootstrap.hs view
@@ -24,8 +24,8 @@ import qualified Network.MoeSocks.Type.Bootstrap.Option as O withGateOptions :: O.Options -> IO a -> IO ()-withGateOptions aOption aIO = do- if aOption ^. O.listMethods+withGateOptions someOptions aIO = do+ if someOptions ^. O.listMethods then do let _br = putStrLn "" @@ -41,8 +41,8 @@ () <$ aIO loadConfig :: O.Options -> ExceptT String IO C.Config-loadConfig aOption = do- let _maybeFilePath = aOption ^. O.configFile+loadConfig someOptions = do+ let _maybeFilePath = someOptions ^. O.configFile _v <- case _maybeFilePath of Nothing -> pure - Just - Object mempty@@ -116,7 +116,7 @@ >>= decode . encode . fallbackConfig optionalConfig- . insertParams (aOption ^. O.params)+ . insertParams (someOptions ^. O.params) . toParsableConfig case _maybeConfig of
src/Network/MoeSocks/Default.hs view
@@ -19,7 +19,7 @@ , C._password = "moesocks" , C._method = "aes-256-cfb" , C._timeout = 300- , C._tcpBufferSize = 256+ , C._tcpBufferSize = 1 -- should be handeled by CoDel and ecn in the kernel , C._throttle = False , C._throttleSpeed = 8000 -- in Kilobytes , C._obfuscationFlushBound = 4096