W7SU36P2KQTT7TBCQY5KALK2JVWHAE6FYLCXWQFBKH5VHNOPXGJQC ZJRI2OJNH6Q6ZS4FXWDQBHSECRO3TK3W4EIJ3UIWXNFDMI6XISYQC QNWZFDUGC4UT6B6BOCKAPDTLNMU5V5GAENSMYWZX6D4URBYIIWZAC WXFIZKTKYWQAT7EQ6KZKUTVDICW6IHX3J45T2JPZ43YLLLYBAZXAC OXU4CGLDG44NLRFO5HDX23JSOKIMQ6OXEPWUNWCZZ4YWX3THOS5AC MZFADT7SUWRLK3MWQUWOKKYXEGGXAUD43KBXYT2T327X2WP4NDVQC QV3AJVRIBWZIGR2BQKBHMG5ZRB7D4NLEF5ZJMYUUG3GAAG5J3ZQAC 4LMXOSYC2Y6PRPOEPK5NSMAQXG2W4M5CFKQWXFMUNUNBO6L6FMWAC ++ "UDP2RAW_PWD=" ++ udp2raw_pwd ++ "\n"++ "UDPSPEEDER_PWD=" ++ udpspeeder_pwd ++ "\n"++ "RAW_MODE=" ++ rawModeToArg (rawMode env) ++ "\n"++ "PORT=" ++ show (fromMaybe 443 (getPort (rawMode env))))
++ "UDP2RAW_PWD=" ++ fromMaybe "" udp2raw_pwd ++ "\n"++ "UDPSPEEDER_PWD=" ++ fromMaybe "" udpspeeder_pwd ++ "\n"++ "RAW_MODE=" ++ maybe "" rawModeToArg (rawMode env) ++ "\n"++ "PORT=" ++ show (fromMaybe 443 (rawMode env >>= getPort)))
(Just ipStr, Just modeStr) ->case parseRawMode modeStr mPort ofJust raw -> pure $ Right $ Env ipStr rawNothing -> pure $ Left $ "Invalid RAW_MODE or missing PORT for mode: " ++ modeStr
(Just ipStr, Just modeStr)->pure $ Right $ Env ipStr (parseRawMode modeStr mPort)(Just ipStr, _)-> pure $ Right $ Env ipStr Nothing
let raw = fromMaybe ICMP (textToRawMode (raw_mode entry) (port entry))Env.writeEnv Env{Env.ip = ip, rawMode = raw} (T.unpack $ udp2raw_password entry) (T.unpack $ udpspeeder_password entry) environment
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
let raw = fromMaybe ICMP (textToRawMode (raw_mode entry) (port entry))Env.writeEnv Env{Env.ip = ip, rawMode = raw} (T.unpack $ udp2raw_password entry) (T.unpack $ udpspeeder_password entry) environment
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