about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/security/arubaotp-seed-extractor/default.nix46
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/tools/security/arubaotp-seed-extractor/default.nix b/pkgs/tools/security/arubaotp-seed-extractor/default.nix
new file mode 100644
index 000000000000..a1ab0fd9f290
--- /dev/null
+++ b/pkgs/tools/security/arubaotp-seed-extractor/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+}:
+
+python3Packages.buildPythonApplication {
+  pname = "arubaotp-seed-extractor";
+  version = "unstable-22-12-2022";
+
+  src = fetchFromGitHub {
+    owner = "andry08";
+    repo = "ArubaOTP-seed-extractor";
+    rev = "534f78bb71594d5806fd2d7a8eade109b0e1d402";
+    hash = "sha256-1pv88OClskQOPtJaP7g0duXMe/X3M6Tk+ituZ9UxoIE=";
+  };
+
+  format = "other";
+
+  nativeBuildInputs = [
+    python3Packages.wrapPython
+  ];
+
+  pythonPath = with python3Packages; [
+    pycryptodome
+    pyotp
+    qrcode
+    requests
+  ];
+
+  installPhase = ''
+    libdir="$out/lib/${python3Packages.python.libPrefix}/site-packages/arubaotp-seed-extractor"
+    mkdir -p "$libdir"
+    cp scripts/* "$libdir"
+    chmod +x "$libdir/main.py"
+    wrapPythonProgramsIn "$libdir" "$pythonPath"
+    mkdir -p $out/bin
+    ln -s "$libdir/main.py" $out/bin/arubaotp-seed-extractor
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/andry08/ArubaOTP-seed-extractor";
+    description = "Extract TOTP seed instead of using ArubaOTP app";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d260b44f76ac..818664503c2e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1317,6 +1317,8 @@ with pkgs;
 
   arch-install-scripts = callPackage ../tools/misc/arch-install-scripts {};
 
+  arubaotp-seed-extractor = callPackage ../tools/security/arubaotp-seed-extractor { };
+
   audible-cli = callPackage ../tools/misc/audible-cli { };
 
   auditwheel = callPackage ../tools/package-management/auditwheel { };