feat: add usb sniffer

This commit is contained in:
2025-07-04 19:16:50 +02:00
parent 37b65c6b7f
commit d570d170f0
3 changed files with 68 additions and 2 deletions

View File

@@ -50,6 +50,16 @@
lpc21isp = prev.callPackage ./overlays/lpc21isp { };
rquickshare = prev.callPackage ./overlays/rquickshare { };
rastertokpsl-re = prev.callPackage ./overlays/rastertokpsl-re { };
usb-sniffer = prev.callPackage ./overlays/usb-sniffer { };
wireshark = prev.wireshark.overrideAttrs (
finalAttrs: prevAttrs: {
postInstall =
prevAttrs.postInstall
+ ''
ln -s ${final.usb-sniffer}/bin/usb_sniffer $out/lib/wireshark/extcap/usb_sniffer
'';
}
);
plymouth = prev.plymouth.overrideAttrs (
final: prev: {
patches = prev.patches ++ [ ./overlays/plymouth/drm-close-fb.patch ];

View File

@@ -79,7 +79,10 @@
airprint.enable = true;
udev.packages = with pkgs; [ android-udev-rules ];
udev.packages = with pkgs; [
android-udev-rules
usb-sniffer
];
};
hardware = {
@@ -98,6 +101,17 @@
};
};
virtualisation.oci-containers.containers.craftoria = {
image = "eclipse-temurin:21-jre";
volumes = [ "/home/theaninova/.config/craftoria:/craftoria" ];
environment = { };
ports = [ "25565:25565" ];
workdir = "/craftoria";
entrypoint = "/bin/bash";
cmd = [ "startserver.sh" ];
extraOptions = [ "--network=host" ];
};
fonts = {
fira-code = {
enable = true;
@@ -145,6 +159,7 @@
usbutils
usbimager
uhubctl
usb-sniffer
pciutils
htop
unar
@@ -167,7 +182,13 @@
];
networking = {
firewall.allowedUDPPorts = [ 50765 ];
firewall = {
allowedTCPPorts = [ 25565 ];
allowedUDPPorts = [
25565
50765
];
};
networkmanager = {
enable = true;

View File

@@ -0,0 +1,35 @@
{
stdenv,
fetchFromGitHub,
pkg-config,
libusb1,
}:
stdenv.mkDerivation rec {
pname = "usb_sniffer";
version = "1d01a090";
src = fetchFromGitHub {
owner = "ataradov";
repo = "usb-sniffer";
rev = "6eb214825a345c8caeb84bb8f3f2881948348d09";
hash = "sha256-RpIhNrZXNeUZdh3QHk1KI5Fk8S0MzlYQ4hf4ztnHUII=";
};
sourceRoot = "${src.name}/software";
buildInputs = [
pkg-config
libusb1
];
patchPhase = ''
substituteInPlace Makefile \
--replace-fail '~/.local/lib/wireshark/extcap' \
'${placeholder "out"}/bin/${pname}'
'';
preInstall = ''
mkdir -p $out/bin
'';
postInstall = ''
mkdir -p $out/lib/wireshark/extcap
ln -s ${placeholder "out"}/bin/${pname} $out/lib/wireshark/extcap/usb_sniffer
mkdir -p $out/lib/udev/rules.d
cp ${src}/bin/90-usb-sniffer.rules $out/lib/udev/rules.d/90-usb-sniffer.rules
'';
}