mirror of
https://framagit.org/ppom/reaction
synced 2026-03-14 20:55:47 +01:00
89 lines
2.8 KiB
TOML
89 lines
2.8 KiB
TOML
[package]
|
|
name = "reaction"
|
|
version = "2.2.1"
|
|
edition = "2024"
|
|
authors = ["ppom <reaction@ppom.me>"]
|
|
license = "AGPL-3.0"
|
|
description = "Scan logs and take action"
|
|
readme = "README.md"
|
|
homepage = "https://reaction.ppom.me"
|
|
repository = "https://framagit.org/ppom/reaction"
|
|
keywords = ["security", "sysadmin", "fail2ban", "logs", "monitoring"]
|
|
build = "build.rs"
|
|
default-run = "reaction"
|
|
|
|
[package.metadata.deb]
|
|
section = "net"
|
|
extended-description = """A daemon that scans program outputs for repeated patterns, and takes action.
|
|
A common usage is to scan ssh and webserver logs, and to ban hosts that cause multiple authentication errors.
|
|
reaction aims at being a successor to fail2ban."""
|
|
maintainer-scripts = "packaging/"
|
|
systemd-units = { enable = false }
|
|
assets = [
|
|
# Executables
|
|
[ "target/release/reaction", "/usr/bin/reaction", "755" ],
|
|
[ "target/release/ip46tables", "/usr/bin/ip46tables", "755" ],
|
|
[ "target/release/nft46", "/usr/bin/nft46", "755" ],
|
|
# Man pages
|
|
[ "target/release/reaction*.1", "/usr/share/man/man1/", "644" ],
|
|
# Shell completions
|
|
[ "target/release/reaction.bash", "/usr/share/bash-completion/completions/reaction", "644" ],
|
|
[ "target/release/reaction.fish", "/usr/share/fish/completions/", "644" ],
|
|
[ "target/release/_reaction", "/usr/share/zsh/vendor-completions/", "644" ],
|
|
]
|
|
|
|
[dependencies]
|
|
# Time types
|
|
chrono = { workspace = true }
|
|
# CLI parsing
|
|
clap = { version = "4.5.4", features = ["derive"] }
|
|
# Unix interfaces
|
|
nix = { version = "0.29.0", features = ["signal"] }
|
|
num_cpus = "1.16.0"
|
|
# Regex matching
|
|
regex = "1.10.4"
|
|
# Configuration languages, ser/deserialisation
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_yaml = "0.9.34"
|
|
jrsonnet-evaluator = "0.4.2"
|
|
# Error macro
|
|
thiserror = "1.0.63"
|
|
# Async runtime & helpers
|
|
futures = { workspace = true }
|
|
tokio = { workspace = true, features = ["full", "tracing"] }
|
|
tokio-util = { workspace = true, features = ["codec"] }
|
|
# Async logging
|
|
tracing = "0.1.40"
|
|
tracing-subscriber = "0.3.18"
|
|
# Reaction plugin system
|
|
remoc = { workspace = true }
|
|
reaction-plugin = { workspace = true }
|
|
|
|
[build-dependencies]
|
|
clap = { version = "4.5.4", features = ["derive"] }
|
|
clap_complete = "4.5.2"
|
|
clap_mangen = "0.2.24"
|
|
regex = "1.10.4"
|
|
tracing = "0.1.40"
|
|
|
|
[dev-dependencies]
|
|
rand = "0.8.5"
|
|
tempfile = "3.12.0"
|
|
assert_fs.workspace = true
|
|
assert_cmd = "2.0.17"
|
|
predicates = "3.1.3"
|
|
|
|
[workspace]
|
|
members = ["plugins/reaction-plugin", "plugins/reaction-plugin-cluster", "plugins/reaction-plugin-virtual"]
|
|
|
|
[workspace.dependencies]
|
|
assert_fs = "1.1.3"
|
|
chrono = { version = "0.4.38", features = ["std", "clock", "serde"] }
|
|
futures = "0.3.30"
|
|
remoc = { version = "0.18.3" }
|
|
serde = { version = "1.0.203", features = ["derive"] }
|
|
serde_json = { version = "1.0.117", features = ["arbitrary_precision"] }
|
|
tokio = { version = "1.40.0" }
|
|
tokio-util = { version = "0.7.12" }
|
|
reaction-plugin = { path = "plugins/reaction-plugin" }
|