GRT6IFFBWOL5ZGCAFDFHAMGJLUYF74XXTNN5FT6MD7KT4J4CXXNAC DNFD4DD6JZXMLGYLNY2PCREWRYODAB6ULTRRPEE6U3JFC7EPDVZAC W7SU36P2KQTT7TBCQY5KALK2JVWHAE6FYLCXWQFBKH5VHNOPXGJQC QNWZFDUGC4UT6B6BOCKAPDTLNMU5V5GAENSMYWZX6D4URBYIIWZAC WXFIZKTKYWQAT7EQ6KZKUTVDICW6IHX3J45T2JPZ43YLLLYBAZXAC ZJRI2OJNH6Q6ZS4FXWDQBHSECRO3TK3W4EIJ3UIWXNFDMI6XISYQC MZFADT7SUWRLK3MWQUWOKKYXEGGXAUD43KBXYT2T327X2WP4NDVQC 472S5NCGFN22WDGFPQE3VVLPLIIZAUMC6EBUPV2CXKM7A2OV2XNAC CSY27FWPSKRAT37RJNIEQRVDNIO6L4QLENSPOE3XLIGGQZDETGRAC 4LMXOSYC2Y6PRPOEPK5NSMAQXG2W4M5CFKQWXFMUNUNBO6L6FMWAC ip <- waitForIP (T.unpack $ nameserver entry) (T.unpack $ domain entry)let raw = raw_mode entry >>= \rm -> textToRawMode rm (port entry)Env.writeEnv Env{Env.ip = ip, rawMode = raw} (T.unpack <$> udp2raw_password entry) (T.unpack <$> udpspeeder_password entry) environmentstart ip raw
ip <- startEntry entry environmentputStrLn ("started on " ++ ip)
ip <- waitForIP (T.unpack $ nameserver entry) (T.unpack $ domain entry)let raw = raw_mode entry >>= \rm -> textToRawMode rm (port entry)Env.writeEnv Env{Env.ip = ip, rawMode = raw} (T.unpack <$> udp2raw_password entry) (T.unpack <$> udpspeeder_password entry) environment-- Start proxy with resolved IP and RawModestart ip raw
ip <- startEntry entry environment
startEntry :: ConfigEntry -> String -> IO StringstartEntry entry environment = doip <- waitForIP (T.unpack $ nameserver entry) (T.unpack $ domain entry)let raw = raw_mode entry >>= \rm -> textToRawMode rm (port entry)Env.writeEnv Env{Env.ip = ip, rawMode = raw} (T.unpack <$> udp2raw_password entry) (T.unpack <$> udpspeeder_password entry) environmentstart ip rawpure ip