diff options
Diffstat (limited to 'dht/examples/toxrelay.hs')
-rw-r--r-- | dht/examples/toxrelay.hs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/dht/examples/toxrelay.hs b/dht/examples/toxrelay.hs index af08e8d7..d6b0da17 100644 --- a/dht/examples/toxrelay.hs +++ b/dht/examples/toxrelay.hs | |||
@@ -1,15 +1,23 @@ | |||
1 | import Network.Address (getBindAddress) | 1 | import Network.Address (getBindAddress,sockAddrPort) |
2 | import Network.SocketLike | 2 | import Network.SocketLike |
3 | import Network.StreamServer | 3 | import Network.StreamServer |
4 | import Network.Tox.Onion.Transport hiding (encrypt,decrypt) | 4 | import Network.Tox.Onion.Transport hiding (encrypt,decrypt) |
5 | import Network.Tox.Relay | 5 | import Network.Tox.Relay |
6 | import Crypto.Tox | ||
7 | |||
8 | import DPut | ||
9 | import DebugTag | ||
10 | |||
11 | socketPort s = sockAddrPort <$> getSocketName s | ||
6 | 12 | ||
7 | main :: IO () | 13 | main :: IO () |
8 | main = do | 14 | main = do |
9 | udp_addr <- getBindAddress "33445" True | 15 | udp_addr <- getBindAddress "33445" True |
10 | let sendOnion :: SockAddr -> OnionRequest N1 -> IO () | 16 | let sendOnion :: SockAddr -> OnionRequest N1 -> IO () |
11 | sendOnion _ _ = return () | 17 | sendOnion _ _ = return () |
12 | (h,sendTCP) <- tcpRelay udp_addr sendOnion | 18 | setVerbose XNetCrypto |
19 | crypto <- newCrypto | ||
20 | (h,sendTCP) <- tcpRelay crypto udp_addr sendOnion | ||
13 | boundPort <- socketPort $ listenSocket h | 21 | boundPort <- socketPort $ listenSocket h |
14 | putStrLn $ "Listening on port: " ++ show boundPort | 22 | putStrLn $ "Listening on port: " ++ show boundPort |
15 | 23 | ||