btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / ev / evillimiter / package.nix
blob9f4fb0bfc2f413fcc6f5442a45482633f8e35545
2   lib,
3   fetchFromGitHub,
4   iproute2,
5   iptables,
6   python3Packages,
7 }:
9 python3Packages.buildPythonApplication rec {
10   pname = "evillimiter";
11   version = "1.5.0";
12   pyproject = true;
14   src = fetchFromGitHub {
15     owner = "bitbrute";
16     repo = "evillimiter";
17     rev = "refs/tags/v${version}";
18     hash = "sha256-h6BReZcDW2UYaYYVQVgV0T91/+CsGuZf+J+boUhjCtA=";
19   };
21   build-system = with python3Packages; [ setuptools-scm ];
23   dependencies = with python3Packages; [
24     colorama
25     iproute2
26     iptables
27     netaddr
28     netifaces
29     scapy
30     terminaltables
31     tqdm
32   ];
34   # Project has no tests
35   doCheck = false;
37    meta = with lib; {
38     description = "Tool that monitors, analyzes and limits the bandwidth";
39     longDescription = ''
40       A tool to monitor, analyze and limit the bandwidth (upload/download) of
41       devices on your local network without physical or administrative access.
42       evillimiter employs ARP spoofing and traffic shaping to throttle the
43       bandwidth of hosts on the network.
44     '';
45     homepage = "https://github.com/bitbrute/evillimiter";
46     license = licenses.mit;
47     maintainers = with maintainers; [ fab ];
48     mainProgram = "evillimiter";
49   };