diff options
Diffstat (limited to 'Servers.hs')
-rw-r--r-- | Servers.hs | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -7,6 +7,7 @@ module Servers where import Types.Server import Servant.Client +import System.Random.Shuffle serverUrls :: Server -> [BaseUrl] serverUrls srv = map go (serverAddress srv) @@ -17,15 +18,22 @@ networkServers :: [Server] networkServers = [ Server (ServerName "keysafe.joeyh.name") Alternate [ServerAddress "vzgrspuxbtnlrtup.onion" 4242] + "Provided by Joey Hess. Digital Ocean VPS, located in Indonesia" - -- Purism server is not yet deployed, but planned. , Server (ServerName "keysafe.puri.sm") Alternate [] + "Purism server is not yet deployed, but planned." - -- Unknown yet who will provide this server, but allocate it now - -- so keysafe can start queuing uploads to it. - , Server (ServerName "thirdserver") Recommended - [] - -- [ServerAddress "eqi7glyxe5ravak5.onion" 4242] - -- -- ^ still being vetted + -- Provided by https://faelix.net/ + -- Marek Isalski + , Server (ServerName "thirdserver") Alternate -- still being vetted + [ServerAddress "eqi7glyxe5ravak5.onion" 4242] + "Provided by Marek Isalski at Faelix. Currently located in UK, but planned move to CH" ] + +-- | Shuffles the server list, keeping Recommended first, then +-- Alternate, and finally Untrusted. +shuffleServers :: [Server] -> IO [Server] +shuffleServers l = concat <$> mapM shuf [minBound..maxBound] + where + shuf sl = shuffleM (filter (\s -> serverLevel s == sl) l) |