lol
1{ lib
2, buildPythonApplication
3, fetchFromGitHub
4, colorama
5, iproute2
6, iptables
7, netaddr
8, netifaces
9, scapy
10, terminaltables
11, tqdm
12}:
13
14buildPythonApplication rec {
15 pname = "evillimiter";
16 version = "1.5.0";
17
18 src = fetchFromGitHub {
19 owner = "bitbrute";
20 repo = pname;
21 rev = "v${version}";
22 sha256 = "1l0acd4a36wzz1gyc6mcw3zpagyi2mc425c6d4c6anq3jxwm3847";
23 };
24
25 propagatedBuildInputs = [
26 colorama
27 iproute2
28 iptables
29 netaddr
30 netifaces
31 scapy
32 terminaltables
33 tqdm
34 ];
35
36 # no tests present
37 doCheck = false;
38
39 pythonImportsCheck = [ "evillimiter.evillimiter" ];
40
41 meta = with lib; {
42 description = "Tool that monitors, analyzes and limits the bandwidth";
43 longDescription = ''
44 A tool to monitor, analyze and limit the bandwidth (upload/download) of
45 devices on your local network without physical or administrative access.
46 evillimiter employs ARP spoofing and traffic shaping to throttle the
47 bandwidth of hosts on the network.
48 '';
49 homepage = "https://github.com/bitbrute/evillimiter";
50 license = with licenses; [ mit ];
51 maintainers = with maintainers; [ fab ];
52 };
53}