1{ lib
2, fetchFromGitHub
3, python3
4, wireshark-cli
5}:
6
7python3.pkgs.buildPythonApplication rec {
8 pname = "credslayer";
9 version = "0.1.3";
10 format = "setuptools";
11
12 src = fetchFromGitHub {
13 owner = "ShellCode33";
14 repo = "CredSLayer";
15 rev = "refs/tags/v${version}";
16 hash = "sha256-gryV9MHULY6ZHy6YDFQDIkZsfIX8La0tHT0vrrQJNDQ=";
17 };
18
19 propagatedBuildInputs = with python3.pkgs; [
20 pyshark
21 ];
22
23 nativeCheckInputs = with python3.pkgs; [
24 py
25 pytestCheckHook
26 wireshark-cli
27 ];
28
29 pytestFlagsArray = [
30 "tests/tests.py"
31 ];
32
33 disabledTests = [
34 # Requires a telnet setup
35 "test_telnet"
36 # stdout has all the correct data, but the underlying test code fails
37 # functionally everything seems to be intact
38 "http_get_auth"
39 "test_http_post_auth"
40 "test_ntlmssp"
41 ];
42
43 pythonImportsCheck = [
44 "credslayer"
45 ];
46
47 postInstall = ''
48 wrapProgram $out/bin/credslayer \
49 --prefix PATH : "${lib.makeBinPath [ wireshark-cli ]}"
50 '';
51
52 meta = with lib; {
53 description = "Extract credentials and other useful info from network captures";
54 homepage = "https://github.com/ShellCode33/CredSLayer";
55 license = with licenses; [ gpl3Only ];
56 maintainers = with maintainers; [ fab ];
57 };
58}