From e322407f0b0da59501896364eabdb3ff4099aaa7 Mon Sep 17 00:00:00 2001 From: Joe Rivera Date: Fri, 3 Jul 2026 17:36:41 -0500 Subject: [PATCH 1/2] docs: document hub aliases in README (PyPI long description) The `eispy hub alias` feature (short names for hub URLs, stored in ~/.config/eispy/hubs.json) was fully implemented but undocumented, so it never surfaced on GitHub or the PyPI project page. Add: - a Features bullet for discoverability - a "Hub aliases (eispy hub alias)" CLI subsection covering add/ls/rm, storage + EISPY_HUBS_FILE override, supported URL schemes, and usage across connect/users/chat/search/up --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/README.md b/README.md index f92c3d8..a3815e9 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ This project wraps the eiskaltdcpp core C++ library via SWIG, providing: ### Features - Connect to NMDC and ADC hubs (with TLS encryption support) +- Hub aliases — short names for hub URLs (`eispy hub alias add …`), usable anywhere a hub URL is accepted - Public and private chat - **NMDCpb** — structured protobuf messaging overlay for NMDC hubs (opt-in via `$Supports`, backward-compatible with legacy clients) @@ -387,6 +388,32 @@ eispy hub ls # list connected hubs (JSO eispy hub users dchub://hub.example.com:411 # list users on a hub ``` +#### Hub aliases (`eispy hub alias`) + +Instead of typing a full hub URL every time, give hubs short names. +Aliases are stored in `~/.config/eispy/hubs.json` (override with +`EISPY_HUBS_FILE`) and support all four DC URL schemes: +`dchub://`, `nmdcs://` (NMDC + TLS), `adc://`, `adcs://` (ADC + TLS). + +```bash +eispy hub alias add winter nmdcs://wintermute.example.net:411 # create/update +eispy hub alias add myhub dchub://myhub.example.com:411 +eispy hub alias ls # list aliases +eispy hub alias rm winter # remove +``` + +Once defined, use the alias **anywhere a hub URL is expected** — it is +resolved automatically (anything containing `://` is passed through as a +literal URL): + +```bash +eispy hub connect winter +eispy hub users winter +eispy chat send winter "Hello!" +eispy search query "ubuntu iso" --hub winter +eispy up --hub winter --hub myhub +``` + #### Chat (`eispy chat`) ```bash From 4ed02aa6df0a595f699a5d24d6396c10ae7890b1 Mon Sep 17 00:00:00 2001 From: Joe Rivera Date: Fri, 3 Jul 2026 17:43:56 -0500 Subject: [PATCH 2/2] docs: call out liblua5.4-dev (and other build deps) in source deps The client is built with LUA_SCRIPT=ON, so source builds need Lua dev headers to match the core ABI. Add liblua5.4-dev plus the other FetchContent build deps (pcre2, miniupnpc, idn2, gettext) to the Ubuntu/Debian apt list, with a note about the ABI requirement. --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index a3815e9..1177dfa 100644 --- a/README.md +++ b/README.md @@ -84,9 +84,16 @@ cd build && ctest -V sudo apt install \ cmake swig python3-dev \ libssl-dev zlib1g-dev libbz2-dev \ + liblua5.4-dev \ + libpcre2-dev libminiupnpc-dev libidn2-dev gettext \ libeiskaltdcpp-dev # optional — built from source if missing ``` +> **Note:** `liblua5.4-dev` (Lua 5.2+) is required — the client is built +> with Lua scripting enabled (`LUA_SCRIPT=ON`), and the bridge must link +> against Lua to match the core ABI. Substitute `liblua5.3-dev` if 5.4 +> isn't available on your distro. + ## CMake options | Option | Default | Description |