import Network.Address (getBindAddress,sockAddrPort) import Network.SocketLike import Network.StreamServer import Network.Tox.Onion.Transport hiding (encrypt,decrypt) import Network.Tox.Relay import Crypto.Tox import DPut import DebugTag socketPort s = sockAddrPort <$> getSocketName s main :: IO () main = do udp_addr <- getBindAddress "33445" True let sendOnion :: SockAddr -> OnionRequest N1 -> IO () sendOnion _ _ = return () setVerbose XNetCrypto crypto <- newCrypto (h,sendTCP) <- tcpRelay crypto udp_addr sendOnion boundPort <- socketPort $ listenSocket h putStrLn $ "Listening on port: " ++ show boundPort putStrLn $ "ENTER to quit..." s <- getLine quitListening h