{- git-remote-daemon transports - - Copyright 2014-2025 Joey Hess - - Licensed under the GNU AGPL version 3 or higher. -} module RemoteDaemon.Transport where import RemoteDaemon.Types import qualified RemoteDaemon.Transport.Ssh import qualified RemoteDaemon.Transport.GCrypt import qualified RemoteDaemon.Transport.Tor import qualified RemoteDaemon.Transport.P2PGeneric import qualified Git.GCrypt import P2P.Address (torAnnexScheme, p2pAnnexScheme) import qualified Data.Map as M -- Corresponds to uriScheme type TransportScheme = String remoteTransports :: M.Map TransportScheme Transport remoteTransports = M.fromList [ ("ssh:", RemoteDaemon.Transport.Ssh.transport) , (Git.GCrypt.urlScheme, RemoteDaemon.Transport.GCrypt.transport) , (torAnnexScheme, RemoteDaemon.Transport.Tor.transport) , (p2pAnnexScheme, RemoteDaemon.Transport.P2PGeneric.transport) ] remoteServers :: [Server] remoteServers = [ RemoteDaemon.Transport.Tor.server , RemoteDaemon.Transport.P2PGeneric.server ]