summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2024-06-11 20:53:15 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2024-06-11 20:53:15 +0200
commit64243ab0f18e726f57afe93c7d440386a819cdac (patch)
tree34bc19219450ed1bf7373d782ea2fc606ca5ea42
parent506ac77c2288696413baab4a44c3c2de93995c82 (diff)
Command to add public peers
-rw-r--r--README.md3
-rw-r--r--main/Main.hs7
2 files changed, 10 insertions, 0 deletions
diff --git a/README.md b/README.md
index 3248b6f..e2e85e0 100644
--- a/README.md
+++ b/README.md
@@ -128,6 +128,9 @@ Reject device attachment request or verification code of selected peer.
`/peer-add <host> [<port>]`
Manually add network peer with given hostname or IP address.
+`/peer-add-public`
+Add known public network peer(s).
+
`/peer-drop`
Drop the currently selected peer. Afterwards, the connection can be
re-established by either side.
diff --git a/main/Main.hs b/main/Main.hs
index f52e22a..0eb414c 100644
--- a/main/Main.hs
+++ b/main/Main.hs
@@ -418,6 +418,7 @@ commands =
[ ("history", cmdHistory)
, ("peers", cmdPeers)
, ("peer-add", cmdPeerAdd)
+ , ("peer-add-public", cmdPeerAddPublic)
, ("peer-drop", cmdPeerDrop)
, ("send", cmdSend)
, ("update-identity", cmdUpdateIdentity)
@@ -472,6 +473,12 @@ cmdPeerAdd = void $ do
addr:_ <- liftIO $ getAddrInfo (Just $ defaultHints { addrSocketType = Datagram }) (Just hostname) (Just port)
liftIO $ serverPeer server (addrAddress addr)
+cmdPeerAddPublic :: Command
+cmdPeerAddPublic = do
+ server <- asks ciServer
+ addr:_ <- liftIO $ getAddrInfo (Just $ defaultHints { addrSocketType = Datagram }) (Just "discovery1.erebosprotocol.net") (Just (show discoveryPort))
+ void $ liftIO $ serverPeer server (addrAddress addr)
+
cmdPeerDrop :: Command
cmdPeerDrop = do
dropPeer =<< getSelectedPeer