cln-plugins/clearnet
dependabot[bot] 011bad8513 build(deps): bump idna from 3.11 to 3.15 in /clearnet
Bumps [idna](https://github.com/kjd/idna) from 3.11 to 3.15.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](https://github.com/kjd/idna/compare/v3.11...v3.15)

---
updated-dependencies:
- dependency-name: idna
  dependency-version: '3.15'
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 00:35:56 +02:00
..
clearnet.py clearnet: update shebang dependency versions 2026-05-12 22:12:19 +02:00
pyproject.toml build(deps): bump the all-dependencies group across 3 directories with 6 updates 2026-05-12 22:12:19 +02:00
README.md python plugins: add note for systemd and uv 2025-12-22 15:27:54 +01:00
test_clearnet.py format python files with ruff 2024-07-10 12:13:42 -05:00
uv.lock build(deps): bump idna from 3.11 to 3.15 in /clearnet 2026-05-20 00:35:56 +02:00

clearnet enforcer plugin

This plugin aims to prefer usage over clearnet connections. It does so by disconnecing TOR connections when there are known and usable clearnet addresses.

Installation

You need uv to run this plugin like a binary. After uv is installed you can simply run

lightning-cli plugin start /path/to/clearnet.py

If you use systemd to start CLN, you must have uv in the PATH that systemd uses, which is likely different than the PATH from your shell. Most uv installation methods install uv into your user's home directory (~/.local/bin or ~/.cargo/bin), which systemd cannot access.

You can either:

Option 1: Install uv system-wide (recommended):

curl -LsSf https://astral.sh/uv/install.sh | sudo env UV_INSTALL_DIR="/usr/local/bin" sh

Option 2: Copy your existing user installation:

sudo cp "$(command -v uv)" /usr/local/bin/uv

Option 3: Configure your systemd service to use a custom PATH (see systemd documentation).

To verify uv is accessible to systemd:

sudo systemd-run --user --wait command -v uv

This should output /usr/local/bin/uv.

For general plugin installation instructions see the repos main README.md

Options

Methods

clearnet-enforce [peer_id]

Tries to enforce clearnet on all peer or on a given peer_id