Files
bouncer/pyproject.toml
user 2f40f5e508 feat: add CertFP authentication with SASL EXTERNAL
Per-network, per-nick client certificates (EC P-256, self-signed,
10-year validity) stored as combined PEM files. Authentication
cascade: SASL EXTERNAL > SASL PLAIN > NickServ IDENTIFY.

New commands: GENCERT, CERTFP, DELCERT. GENCERT auto-registers
the fingerprint with NickServ CERT ADD when the network is connected.

Includes email verification module for NickServ registration and
expanded NickServ interaction (IDENTIFY, REGISTER, VERIFY).
2026-02-21 01:15:25 +01:00

49 lines
903 B
TOML

[build-system]
requires = ["setuptools>=68.0", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "bouncer"
version = "0.1.0"
description = "IRC bouncer with SOCKS5 proxy support and persistent backlog"
requires-python = ">=3.10"
dependencies = [
"python-socks[asyncio]>=2.4",
"aiosqlite>=0.19",
"aiohttp>=3.9",
"aiohttp-socks>=0.8",
"cryptography>=41.0",
]
[project.optional-dependencies]
dev = [
"ruff>=0.4",
"black>=24.0",
"pytest>=8.0",
"pytest-asyncio>=0.23",
]
browser = [
"playwright>=1.40",
]
[project.scripts]
bouncer = "bouncer.__main__:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.ruff]
target-version = "py310"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "W", "I"]
[tool.black]
line-length = 100
target-version = ["py310"]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"