Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -83,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 |
Expand Down Expand Up @@ -387,6 +395,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
Expand Down
Loading