diff --git a/basicswap/bin/prepare.py b/basicswap/bin/prepare.py index b5295bd..e627260 100755 --- a/basicswap/bin/prepare.py +++ b/basicswap/bin/prepare.py @@ -2469,7 +2469,10 @@ def main(): server_str = s[1].strip() parts = server_str.split(":") if len(parts) >= 2: - server = f"{parts[0]}:{parts[1]}" + if len(parts) >= 3: + server = f"{parts[0]}:{parts[1]}:{parts[2]}" + else: + server = f"{parts[0]}:{parts[1]}" if coin_prefix not in electrum_servers: electrum_servers[coin_prefix] = [] electrum_servers[coin_prefix].append(server) diff --git a/basicswap/interface/electrumx.py b/basicswap/interface/electrumx.py index c0a1668..345d719 100644 --- a/basicswap/interface/electrumx.py +++ b/basicswap/interface/electrumx.py @@ -447,7 +447,11 @@ def _parse_server_string(server_str): parts = server_str.strip().split(":") host = parts[0] port = int(parts[1]) if len(parts) > 1 else 50002 - use_ssl = port != 50001 + if len(parts) > 2: + ssl_str = parts[2].lower() + use_ssl = ssl_str in ("true", "1", "yes", "ssl") + else: + use_ssl = port != 50001 return {"host": host, "port": port, "ssl": use_ssl} diff --git a/basicswap/ui/page_settings.py b/basicswap/ui/page_settings.py index 24f92f8..5235add 100644 --- a/basicswap/ui/page_settings.py +++ b/basicswap/ui/page_settings.py @@ -268,10 +268,16 @@ def page_settings(self, url_split, post_string): if not clearnet_servers: default_clearnet = DEFAULT_ELECTRUM_SERVERS.get(name, []) - clearnet_servers = [f"{s['host']}:{s['port']}" for s in default_clearnet] + clearnet_servers = [ + f"{s['host']}:{s['port']}:{str(s.get('ssl', True)).lower()}" + for s in default_clearnet + ] if not onion_servers: default_onion = DEFAULT_ONION_SERVERS.get(name, []) - onion_servers = [f"{s['host']}:{s['port']}" for s in default_onion] + onion_servers = [ + f"{s['host']}:{s['port']}:{str(s.get('ssl', True)).lower()}" + for s in default_onion + ] clearnet_text = "\n".join(clearnet_servers) if clearnet_servers else "" onion_text = "\n".join(onion_servers) if onion_servers else ""