summaryrefslogtreecommitdiffhomepage
path: root/Servers.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Servers.hs')
-rw-r--r--Servers.hs22
1 files changed, 15 insertions, 7 deletions
diff --git a/Servers.hs b/Servers.hs
index d12fc56..7edc7af 100644
--- a/Servers.hs
+++ b/Servers.hs
@@ -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)