uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
23
pkgs/tools/networking/6tunnel/default.nix
Normal file
23
pkgs/tools/networking/6tunnel/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ stdenv, lib, fetchFromGitHub, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "6tunnel";
|
||||
version = "0.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wojtekka";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0zsx9d6xz5w8zvrqsm8r625gpbqqhjzvjdzc3z8yix668yg8ff8h";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tunnelling for application that don't speak IPv6";
|
||||
homepage = "https://github.com/wojtekka/6tunnel";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ Br1ght0ne ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/networking/aardvark-dns/default.nix
Normal file
26
pkgs/tools/networking/aardvark-dns/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "aardvark-dns";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-m2uKTVRonnun+/V69RcPWkkRtDcoaiulMCQz0/CAdCw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Z/OZgWlpwcdqns26ojTLPQBVNrwU/i86tZVx19sRUTw=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Authoritative dns server for A/AAAA container records";
|
||||
homepage = "https://github.com/containers/aardvark-dns";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ ] ++ teams.podman.members;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
39
pkgs/tools/networking/acme-client/default.nix
Normal file
39
pkgs/tools/networking/acme-client/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, libbsd
|
||||
, libressl
|
||||
, pkg-config
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "acme-client";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://data.wolfsden.cz/sources/acme-client-${version}.tar.gz";
|
||||
hash = "sha256-rIeWZSOT+nPzLf2mDtOkN/wmCGffG4H6PCQb2Vxbxxk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libbsd
|
||||
libressl
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Secure ACME/Let's Encrypt client";
|
||||
homepage = "https://sr.ht/~graywolf/acme-client-portable/";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ pmahoney ];
|
||||
};
|
||||
}
|
||||
|
||||
23
pkgs/tools/networking/ahcpd/default.nix
Normal file
23
pkgs/tools/networking/ahcpd/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ahcpd";
|
||||
version = "0.53";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/ahcpd-${version}.tar.gz";
|
||||
sha256 = "0lhdmky3zdyk51hclv2lrhw3hzymbdc8bw2khs3rnaibgn0jwqm4";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
makeFlags="PREFIX=$out ETCDIR=$out/etc"
|
||||
sed -i -e s,etc,$out/etc, Makefile
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/ahcp/";
|
||||
description = "Autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 networks";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
34
pkgs/tools/networking/aircrack-ng/default.nix
Normal file
34
pkgs/tools/networking/aircrack-ng/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, stdenv, fetchurl, libpcap, openssl, zlib, wirelesstools
|
||||
, iw, ethtool, pciutils, libnl, pkg-config, makeWrapper
|
||||
, autoreconfHook, usbutils }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aircrack-ng";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.aircrack-ng.org/aircrack-ng-${version}.tar.gz";
|
||||
sha256 = "1hsq1gwmafka4bahs6rc8p98yi542h9a502h64bjlygpr3ih99q5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook ];
|
||||
buildInputs = [ libpcap openssl zlib libnl iw ethtool pciutils ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -e 's@/usr/local/bin@'${wirelesstools}@ -i lib/osdep/linux.c
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/airmon-ng --prefix PATH : ${lib.makeBinPath [
|
||||
ethtool iw pciutils usbutils
|
||||
]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wireless encryption cracking tools";
|
||||
homepage = "http://www.aircrack-ng.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
71
pkgs/tools/networking/airfield/default.nix
Normal file
71
pkgs/tools/networking/airfield/default.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, pkgs, makeWrapper, buildEnv
|
||||
, nodejs, runtimeShell
|
||||
}:
|
||||
|
||||
let
|
||||
nodePackages = import ./node.nix {
|
||||
inherit pkgs;
|
||||
system = stdenv.hostPlatform.system;
|
||||
};
|
||||
|
||||
runtimeEnv = buildEnv {
|
||||
name = "airfield-runtime";
|
||||
paths = with nodePackages; [
|
||||
nodePackages."express-3.0.5" nodePackages."swig-0.14.0"
|
||||
nodePackages."consolidate-0.10.0" redis connect-redis
|
||||
async request
|
||||
];
|
||||
};
|
||||
|
||||
name = "airfield-${version}";
|
||||
version = "2015-01-04";
|
||||
|
||||
src = stdenv.mkDerivation {
|
||||
name = "${name}-src";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emblica";
|
||||
repo = "airfield";
|
||||
rev = "f021b19a35be3db9be7780318860f3b528c48641";
|
||||
sha256 = "1xk69x89kgg98hm7c2ysyfmg7pkvgkpg4wym6v5cmdkdid08fsgs";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -R . $out
|
||||
'';
|
||||
};
|
||||
in stdenv.mkDerivation {
|
||||
inherit name version src;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ nodejs ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cat >$out/bin/airfield <<EOF
|
||||
#!${runtimeShell}
|
||||
${nodejs}/bin/node ${src}/airfield.js
|
||||
EOF
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
chmod +x $out/bin/airfield
|
||||
wrapProgram $out/bin/airfield \
|
||||
--set NODE_PATH "${runtimeEnv}/lib/node_modules"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A web-interface for hipache-proxy";
|
||||
license = licenses.mit;
|
||||
homepage = "https://github.com/emblica/airfield";
|
||||
maintainers = with maintainers; [ offline ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
8
pkgs/tools/networking/airfield/deps.json
Normal file
8
pkgs/tools/networking/airfield/deps.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[ { "express": "3.0.5" }
|
||||
, { "swig": "0.14.0" }
|
||||
, { "consolidate": "0.10.0" }
|
||||
, "redis"
|
||||
, "connect-redis"
|
||||
, "async"
|
||||
, "request"
|
||||
]
|
||||
6
pkgs/tools/networking/airfield/deps.sh
Executable file
6
pkgs/tools/networking/airfield/deps.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p nodePackages.node2nix
|
||||
|
||||
node2nix --nodejs-10 -i deps.json \
|
||||
--no-copy-node-env \
|
||||
-e ../../../development/node-packages/node-env.nix -c node.nix
|
||||
829
pkgs/tools/networking/airfield/node-packages.nix
generated
Normal file
829
pkgs/tools/networking/airfield/node-packages.nix
generated
Normal file
|
|
@ -0,0 +1,829 @@
|
|||
# This file has been generated by node2nix 1.9.0. Do not edit!
|
||||
|
||||
{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
|
||||
|
||||
let
|
||||
sources = {
|
||||
"ajv-6.12.6" = {
|
||||
name = "ajv";
|
||||
packageName = "ajv";
|
||||
version = "6.12.6";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
|
||||
sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
|
||||
};
|
||||
};
|
||||
"asn1-0.2.4" = {
|
||||
name = "asn1";
|
||||
packageName = "asn1";
|
||||
version = "0.2.4";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
|
||||
sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
|
||||
};
|
||||
};
|
||||
"assert-plus-1.0.0" = {
|
||||
name = "assert-plus";
|
||||
packageName = "assert-plus";
|
||||
version = "1.0.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
|
||||
sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
|
||||
};
|
||||
};
|
||||
"asynckit-0.4.0" = {
|
||||
name = "asynckit";
|
||||
packageName = "asynckit";
|
||||
version = "0.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
|
||||
sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
|
||||
};
|
||||
};
|
||||
"aws-sign2-0.7.0" = {
|
||||
name = "aws-sign2";
|
||||
packageName = "aws-sign2";
|
||||
version = "0.7.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
|
||||
sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
|
||||
};
|
||||
};
|
||||
"aws4-1.11.0" = {
|
||||
name = "aws4";
|
||||
packageName = "aws4";
|
||||
version = "1.11.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz";
|
||||
sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
|
||||
};
|
||||
};
|
||||
"bcrypt-pbkdf-1.0.2" = {
|
||||
name = "bcrypt-pbkdf";
|
||||
packageName = "bcrypt-pbkdf";
|
||||
version = "1.0.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
|
||||
sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
|
||||
};
|
||||
};
|
||||
"buffer-crc32-0.1.1" = {
|
||||
name = "buffer-crc32";
|
||||
packageName = "buffer-crc32";
|
||||
version = "0.1.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
|
||||
sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
|
||||
};
|
||||
};
|
||||
"bytes-0.1.0" = {
|
||||
name = "bytes";
|
||||
packageName = "bytes";
|
||||
version = "0.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
|
||||
sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
|
||||
};
|
||||
};
|
||||
"caseless-0.12.0" = {
|
||||
name = "caseless";
|
||||
packageName = "caseless";
|
||||
version = "0.12.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
|
||||
sha1 = "1b681c21ff84033c826543090689420d187151dc";
|
||||
};
|
||||
};
|
||||
"combined-stream-1.0.8" = {
|
||||
name = "combined-stream";
|
||||
packageName = "combined-stream";
|
||||
version = "1.0.8";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
|
||||
sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
|
||||
};
|
||||
};
|
||||
"commander-0.6.1" = {
|
||||
name = "commander";
|
||||
packageName = "commander";
|
||||
version = "0.6.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
|
||||
sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
|
||||
};
|
||||
};
|
||||
"connect-2.7.1" = {
|
||||
name = "connect";
|
||||
packageName = "connect";
|
||||
version = "2.7.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/connect/-/connect-2.7.1.tgz";
|
||||
sha1 = "b869df9acf3dd8a0af7523c7c6f1aa8b4b761daa";
|
||||
};
|
||||
};
|
||||
"cookie-0.0.5" = {
|
||||
name = "cookie";
|
||||
packageName = "cookie";
|
||||
version = "0.0.5";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
|
||||
sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
|
||||
};
|
||||
};
|
||||
"cookie-signature-0.0.1" = {
|
||||
name = "cookie-signature";
|
||||
packageName = "cookie-signature";
|
||||
version = "0.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz";
|
||||
sha1 = "13d3603b5cf63befbf85a8801e37aa900db46985";
|
||||
};
|
||||
};
|
||||
"core-util-is-1.0.2" = {
|
||||
name = "core-util-is";
|
||||
packageName = "core-util-is";
|
||||
version = "1.0.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
|
||||
sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
|
||||
};
|
||||
};
|
||||
"crc-0.2.0" = {
|
||||
name = "crc";
|
||||
packageName = "crc";
|
||||
version = "0.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
|
||||
sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
|
||||
};
|
||||
};
|
||||
"dashdash-1.14.1" = {
|
||||
name = "dashdash";
|
||||
packageName = "dashdash";
|
||||
version = "1.14.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
|
||||
sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
|
||||
};
|
||||
};
|
||||
"debug-4.3.2" = {
|
||||
name = "debug";
|
||||
packageName = "debug";
|
||||
version = "4.3.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
|
||||
sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
|
||||
};
|
||||
};
|
||||
"delayed-stream-1.0.0" = {
|
||||
name = "delayed-stream";
|
||||
packageName = "delayed-stream";
|
||||
version = "1.0.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
|
||||
sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
|
||||
};
|
||||
};
|
||||
"denque-1.5.0" = {
|
||||
name = "denque";
|
||||
packageName = "denque";
|
||||
version = "1.5.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz";
|
||||
sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
|
||||
};
|
||||
};
|
||||
"ecc-jsbn-0.1.2" = {
|
||||
name = "ecc-jsbn";
|
||||
packageName = "ecc-jsbn";
|
||||
version = "0.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
|
||||
sha1 = "3a83a904e54353287874c564b7549386849a98c9";
|
||||
};
|
||||
};
|
||||
"extend-3.0.2" = {
|
||||
name = "extend";
|
||||
packageName = "extend";
|
||||
version = "3.0.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
|
||||
sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
|
||||
};
|
||||
};
|
||||
"extsprintf-1.3.0" = {
|
||||
name = "extsprintf";
|
||||
packageName = "extsprintf";
|
||||
version = "1.3.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
|
||||
sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
|
||||
};
|
||||
};
|
||||
"fast-deep-equal-3.1.3" = {
|
||||
name = "fast-deep-equal";
|
||||
packageName = "fast-deep-equal";
|
||||
version = "3.1.3";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
|
||||
sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
|
||||
};
|
||||
};
|
||||
"fast-json-stable-stringify-2.1.0" = {
|
||||
name = "fast-json-stable-stringify";
|
||||
packageName = "fast-json-stable-stringify";
|
||||
version = "2.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
|
||||
sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
|
||||
};
|
||||
};
|
||||
"forever-agent-0.6.1" = {
|
||||
name = "forever-agent";
|
||||
packageName = "forever-agent";
|
||||
version = "0.6.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
|
||||
sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
|
||||
};
|
||||
};
|
||||
"form-data-2.3.3" = {
|
||||
name = "form-data";
|
||||
packageName = "form-data";
|
||||
version = "2.3.3";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
|
||||
sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
|
||||
};
|
||||
};
|
||||
"formidable-1.0.11" = {
|
||||
name = "formidable";
|
||||
packageName = "formidable";
|
||||
version = "1.0.11";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
|
||||
sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
|
||||
};
|
||||
};
|
||||
"fresh-0.1.0" = {
|
||||
name = "fresh";
|
||||
packageName = "fresh";
|
||||
version = "0.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
|
||||
sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
|
||||
};
|
||||
};
|
||||
"getpass-0.1.7" = {
|
||||
name = "getpass";
|
||||
packageName = "getpass";
|
||||
version = "0.1.7";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
|
||||
sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
|
||||
};
|
||||
};
|
||||
"har-schema-2.0.0" = {
|
||||
name = "har-schema";
|
||||
packageName = "har-schema";
|
||||
version = "2.0.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
|
||||
sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
|
||||
};
|
||||
};
|
||||
"har-validator-5.1.5" = {
|
||||
name = "har-validator";
|
||||
packageName = "har-validator";
|
||||
version = "5.1.5";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz";
|
||||
sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
|
||||
};
|
||||
};
|
||||
"http-signature-1.2.0" = {
|
||||
name = "http-signature";
|
||||
packageName = "http-signature";
|
||||
version = "1.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
|
||||
sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
|
||||
};
|
||||
};
|
||||
"is-typedarray-1.0.0" = {
|
||||
name = "is-typedarray";
|
||||
packageName = "is-typedarray";
|
||||
version = "1.0.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
|
||||
sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
|
||||
};
|
||||
};
|
||||
"isstream-0.1.2" = {
|
||||
name = "isstream";
|
||||
packageName = "isstream";
|
||||
version = "0.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
|
||||
sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
|
||||
};
|
||||
};
|
||||
"jsbn-0.1.1" = {
|
||||
name = "jsbn";
|
||||
packageName = "jsbn";
|
||||
version = "0.1.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
|
||||
sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
|
||||
};
|
||||
};
|
||||
"json-schema-0.2.3" = {
|
||||
name = "json-schema";
|
||||
packageName = "json-schema";
|
||||
version = "0.2.3";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
|
||||
sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
|
||||
};
|
||||
};
|
||||
"json-schema-traverse-0.4.1" = {
|
||||
name = "json-schema-traverse";
|
||||
packageName = "json-schema-traverse";
|
||||
version = "0.4.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
|
||||
sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
|
||||
};
|
||||
};
|
||||
"json-stringify-safe-5.0.1" = {
|
||||
name = "json-stringify-safe";
|
||||
packageName = "json-stringify-safe";
|
||||
version = "5.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
|
||||
sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
|
||||
};
|
||||
};
|
||||
"jsprim-1.4.1" = {
|
||||
name = "jsprim";
|
||||
packageName = "jsprim";
|
||||
version = "1.4.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
|
||||
sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
|
||||
};
|
||||
};
|
||||
"methods-0.0.1" = {
|
||||
name = "methods";
|
||||
packageName = "methods";
|
||||
version = "0.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
|
||||
sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
|
||||
};
|
||||
};
|
||||
"mime-1.2.6" = {
|
||||
name = "mime";
|
||||
packageName = "mime";
|
||||
version = "1.2.6";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
|
||||
sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
|
||||
};
|
||||
};
|
||||
"mime-db-1.45.0" = {
|
||||
name = "mime-db";
|
||||
packageName = "mime-db";
|
||||
version = "1.45.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
|
||||
sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
|
||||
};
|
||||
};
|
||||
"mime-types-2.1.28" = {
|
||||
name = "mime-types";
|
||||
packageName = "mime-types";
|
||||
version = "2.1.28";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
|
||||
sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
|
||||
};
|
||||
};
|
||||
"mkdirp-0.3.3" = {
|
||||
name = "mkdirp";
|
||||
packageName = "mkdirp";
|
||||
version = "0.3.3";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz";
|
||||
sha1 = "595e251c1370c3a68bab2136d0e348b8105adf13";
|
||||
};
|
||||
};
|
||||
"ms-2.1.2" = {
|
||||
name = "ms";
|
||||
packageName = "ms";
|
||||
version = "2.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
|
||||
sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
|
||||
};
|
||||
};
|
||||
"oauth-sign-0.9.0" = {
|
||||
name = "oauth-sign";
|
||||
packageName = "oauth-sign";
|
||||
version = "0.9.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
|
||||
sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
|
||||
};
|
||||
};
|
||||
"pause-0.0.1" = {
|
||||
name = "pause";
|
||||
packageName = "pause";
|
||||
version = "0.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
|
||||
sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
|
||||
};
|
||||
};
|
||||
"performance-now-2.1.0" = {
|
||||
name = "performance-now";
|
||||
packageName = "performance-now";
|
||||
version = "2.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
|
||||
sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
|
||||
};
|
||||
};
|
||||
"psl-1.8.0" = {
|
||||
name = "psl";
|
||||
packageName = "psl";
|
||||
version = "1.8.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
|
||||
sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
|
||||
};
|
||||
};
|
||||
"punycode-2.1.1" = {
|
||||
name = "punycode";
|
||||
packageName = "punycode";
|
||||
version = "2.1.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
|
||||
sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
|
||||
};
|
||||
};
|
||||
"qs-0.5.1" = {
|
||||
name = "qs";
|
||||
packageName = "qs";
|
||||
version = "0.5.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
|
||||
sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
|
||||
};
|
||||
};
|
||||
"qs-6.5.2" = {
|
||||
name = "qs";
|
||||
packageName = "qs";
|
||||
version = "6.5.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
|
||||
sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
|
||||
};
|
||||
};
|
||||
"range-parser-0.0.4" = {
|
||||
name = "range-parser";
|
||||
packageName = "range-parser";
|
||||
version = "0.0.4";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
|
||||
sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
|
||||
};
|
||||
};
|
||||
"redis-commands-1.6.0" = {
|
||||
name = "redis-commands";
|
||||
packageName = "redis-commands";
|
||||
version = "1.6.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.6.0.tgz";
|
||||
sha512 = "2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ==";
|
||||
};
|
||||
};
|
||||
"redis-errors-1.2.0" = {
|
||||
name = "redis-errors";
|
||||
packageName = "redis-errors";
|
||||
version = "1.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz";
|
||||
sha1 = "eb62d2adb15e4eaf4610c04afe1529384250abad";
|
||||
};
|
||||
};
|
||||
"redis-parser-3.0.0" = {
|
||||
name = "redis-parser";
|
||||
packageName = "redis-parser";
|
||||
version = "3.0.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz";
|
||||
sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
|
||||
};
|
||||
};
|
||||
"safe-buffer-5.2.1" = {
|
||||
name = "safe-buffer";
|
||||
packageName = "safe-buffer";
|
||||
version = "5.2.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
|
||||
sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
|
||||
};
|
||||
};
|
||||
"safer-buffer-2.1.2" = {
|
||||
name = "safer-buffer";
|
||||
packageName = "safer-buffer";
|
||||
version = "2.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
|
||||
sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
|
||||
};
|
||||
};
|
||||
"send-0.1.0" = {
|
||||
name = "send";
|
||||
packageName = "send";
|
||||
version = "0.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/send/-/send-0.1.0.tgz";
|
||||
sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
|
||||
};
|
||||
};
|
||||
"sshpk-1.16.1" = {
|
||||
name = "sshpk";
|
||||
packageName = "sshpk";
|
||||
version = "1.16.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
|
||||
sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
|
||||
};
|
||||
};
|
||||
"tough-cookie-2.5.0" = {
|
||||
name = "tough-cookie";
|
||||
packageName = "tough-cookie";
|
||||
version = "2.5.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
|
||||
sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
|
||||
};
|
||||
};
|
||||
"tunnel-agent-0.6.0" = {
|
||||
name = "tunnel-agent";
|
||||
packageName = "tunnel-agent";
|
||||
version = "0.6.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
|
||||
sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
|
||||
};
|
||||
};
|
||||
"tweetnacl-0.14.5" = {
|
||||
name = "tweetnacl";
|
||||
packageName = "tweetnacl";
|
||||
version = "0.14.5";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
|
||||
sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
|
||||
};
|
||||
};
|
||||
"underscore-1.12.0" = {
|
||||
name = "underscore";
|
||||
packageName = "underscore";
|
||||
version = "1.12.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz";
|
||||
sha512 = "21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==";
|
||||
};
|
||||
};
|
||||
"uri-js-4.4.1" = {
|
||||
name = "uri-js";
|
||||
packageName = "uri-js";
|
||||
version = "4.4.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
|
||||
sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
|
||||
};
|
||||
};
|
||||
"uuid-3.4.0" = {
|
||||
name = "uuid";
|
||||
packageName = "uuid";
|
||||
version = "3.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
|
||||
sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
|
||||
};
|
||||
};
|
||||
"verror-1.10.0" = {
|
||||
name = "verror";
|
||||
packageName = "verror";
|
||||
version = "1.10.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
|
||||
sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
"express-3.0.5" = nodeEnv.buildNodePackage {
|
||||
name = "express";
|
||||
packageName = "express";
|
||||
version = "3.0.5";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/express/-/express-3.0.5.tgz";
|
||||
sha1 = "4c6e5850e6b5e8ca2af57f21ed7097de50948b73";
|
||||
};
|
||||
dependencies = [
|
||||
sources."buffer-crc32-0.1.1"
|
||||
sources."bytes-0.1.0"
|
||||
sources."commander-0.6.1"
|
||||
sources."connect-2.7.1"
|
||||
sources."cookie-0.0.5"
|
||||
sources."cookie-signature-0.0.1"
|
||||
sources."crc-0.2.0"
|
||||
sources."debug-4.3.2"
|
||||
sources."formidable-1.0.11"
|
||||
sources."fresh-0.1.0"
|
||||
sources."methods-0.0.1"
|
||||
sources."mime-1.2.6"
|
||||
sources."mkdirp-0.3.3"
|
||||
sources."ms-2.1.2"
|
||||
sources."pause-0.0.1"
|
||||
sources."qs-0.5.1"
|
||||
sources."range-parser-0.0.4"
|
||||
sources."send-0.1.0"
|
||||
];
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
description = "Sinatra inspired web development framework";
|
||||
};
|
||||
production = true;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
"swig-0.14.0" = nodeEnv.buildNodePackage {
|
||||
name = "swig";
|
||||
packageName = "swig";
|
||||
version = "0.14.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
|
||||
sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
|
||||
};
|
||||
dependencies = [
|
||||
sources."underscore-1.12.0"
|
||||
];
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
description = "A fast django-like templating engine for node.js and browsers.";
|
||||
};
|
||||
production = true;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
"consolidate-0.10.0" = nodeEnv.buildNodePackage {
|
||||
name = "consolidate";
|
||||
packageName = "consolidate";
|
||||
version = "0.10.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/consolidate/-/consolidate-0.10.0.tgz";
|
||||
sha1 = "81f1a6ceba1247df9cef7a261ce527c2ce538f7a";
|
||||
};
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
description = "Template engine consolidation library";
|
||||
homepage = "https://github.com/visionmedia/consolidate.js";
|
||||
};
|
||||
production = true;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
redis = nodeEnv.buildNodePackage {
|
||||
name = "redis";
|
||||
packageName = "redis";
|
||||
version = "3.0.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/redis/-/redis-3.0.2.tgz";
|
||||
sha512 = "PNhLCrjU6vKVuMOyFu7oSP296mwBkcE6lrAjruBYG5LgdSqtRBoVQIylrMyVZD/lkF24RSNNatzvYag6HRBHjQ==";
|
||||
};
|
||||
dependencies = [
|
||||
sources."denque-1.5.0"
|
||||
sources."redis-commands-1.6.0"
|
||||
sources."redis-errors-1.2.0"
|
||||
sources."redis-parser-3.0.0"
|
||||
];
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
description = "A high performance Redis client.";
|
||||
homepage = "https://github.com/NodeRedis/node-redis";
|
||||
license = "MIT";
|
||||
};
|
||||
production = true;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
connect-redis = nodeEnv.buildNodePackage {
|
||||
name = "connect-redis";
|
||||
packageName = "connect-redis";
|
||||
version = "5.0.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/connect-redis/-/connect-redis-5.0.0.tgz";
|
||||
sha512 = "R4nTW5uXeG5s6zr/q4abmtcdloglZrL/A3cpa0JU0RLFJU4mTR553HUY8OZ0ngeySkGDclwQ5xmCcjjKkxdOSg==";
|
||||
};
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
description = "Redis session store for Connect";
|
||||
homepage = "https://github.com/visionmedia/connect-redis#readme";
|
||||
license = "MIT";
|
||||
};
|
||||
production = true;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
async = nodeEnv.buildNodePackage {
|
||||
name = "async";
|
||||
packageName = "async";
|
||||
version = "3.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/async/-/async-3.2.0.tgz";
|
||||
sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
|
||||
};
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
description = "Higher-order functions and common patterns for asynchronous code";
|
||||
homepage = "https://caolan.github.io/async/";
|
||||
license = "MIT";
|
||||
};
|
||||
production = true;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
request = nodeEnv.buildNodePackage {
|
||||
name = "request";
|
||||
packageName = "request";
|
||||
version = "2.88.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
|
||||
sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
|
||||
};
|
||||
dependencies = [
|
||||
sources."ajv-6.12.6"
|
||||
sources."asn1-0.2.4"
|
||||
sources."assert-plus-1.0.0"
|
||||
sources."asynckit-0.4.0"
|
||||
sources."aws-sign2-0.7.0"
|
||||
sources."aws4-1.11.0"
|
||||
sources."bcrypt-pbkdf-1.0.2"
|
||||
sources."caseless-0.12.0"
|
||||
sources."combined-stream-1.0.8"
|
||||
sources."core-util-is-1.0.2"
|
||||
sources."dashdash-1.14.1"
|
||||
sources."delayed-stream-1.0.0"
|
||||
sources."ecc-jsbn-0.1.2"
|
||||
sources."extend-3.0.2"
|
||||
sources."extsprintf-1.3.0"
|
||||
sources."fast-deep-equal-3.1.3"
|
||||
sources."fast-json-stable-stringify-2.1.0"
|
||||
sources."forever-agent-0.6.1"
|
||||
sources."form-data-2.3.3"
|
||||
sources."getpass-0.1.7"
|
||||
sources."har-schema-2.0.0"
|
||||
sources."har-validator-5.1.5"
|
||||
sources."http-signature-1.2.0"
|
||||
sources."is-typedarray-1.0.0"
|
||||
sources."isstream-0.1.2"
|
||||
sources."jsbn-0.1.1"
|
||||
sources."json-schema-0.2.3"
|
||||
sources."json-schema-traverse-0.4.1"
|
||||
sources."json-stringify-safe-5.0.1"
|
||||
sources."jsprim-1.4.1"
|
||||
sources."mime-db-1.45.0"
|
||||
sources."mime-types-2.1.28"
|
||||
sources."oauth-sign-0.9.0"
|
||||
sources."performance-now-2.1.0"
|
||||
sources."psl-1.8.0"
|
||||
sources."punycode-2.1.1"
|
||||
sources."qs-6.5.2"
|
||||
sources."safe-buffer-5.2.1"
|
||||
sources."safer-buffer-2.1.2"
|
||||
sources."sshpk-1.16.1"
|
||||
sources."tough-cookie-2.5.0"
|
||||
sources."tunnel-agent-0.6.0"
|
||||
sources."tweetnacl-0.14.5"
|
||||
sources."uri-js-4.4.1"
|
||||
sources."uuid-3.4.0"
|
||||
sources."verror-1.10.0"
|
||||
];
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
description = "Simplified HTTP request client.";
|
||||
homepage = "https://github.com/request/request#readme";
|
||||
license = "Apache-2.0";
|
||||
};
|
||||
production = true;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
}
|
||||
17
pkgs/tools/networking/airfield/node.nix
Normal file
17
pkgs/tools/networking/airfield/node.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# This file has been generated by node2nix 1.9.0. Do not edit!
|
||||
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
|
||||
|
||||
let
|
||||
nodeEnv = import ../../../development/node-packages/node-env.nix {
|
||||
inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
|
||||
inherit pkgs nodejs;
|
||||
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
|
||||
};
|
||||
in
|
||||
import ./node-packages.nix {
|
||||
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
|
||||
inherit nodeEnv;
|
||||
}
|
||||
166
pkgs/tools/networking/airgeddon/default.nix
Normal file
166
pkgs/tools/networking/airgeddon/default.nix
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
# Required
|
||||
, aircrack-ng
|
||||
, bash
|
||||
, coreutils-full
|
||||
, gawk
|
||||
, gnugrep
|
||||
, gnused
|
||||
, iproute2
|
||||
, iw
|
||||
, pciutils
|
||||
, procps
|
||||
, tmux
|
||||
# X11 Front
|
||||
, xterm
|
||||
, xorg
|
||||
# what the author calls "Internals"
|
||||
, usbutils
|
||||
, wget
|
||||
, ethtool
|
||||
, util-linux
|
||||
, ccze
|
||||
# Optionals
|
||||
# Missing in nixpkgs: beef, hostapd-wpe, asleap
|
||||
, bettercap
|
||||
, bully
|
||||
, crunch
|
||||
, dhcp
|
||||
, dnsmasq
|
||||
, ettercap
|
||||
, hashcat
|
||||
, hcxdumptool
|
||||
, hcxtools
|
||||
, hostapd
|
||||
, john
|
||||
, lighttpd
|
||||
, mdk4
|
||||
, nftables
|
||||
, openssl
|
||||
, pixiewps
|
||||
, reaverwps-t6x # Could be the upstream version too
|
||||
, wireshark-cli
|
||||
# Undocumented requirements (there is also ping)
|
||||
, apparmor-bin-utils
|
||||
, curl
|
||||
, glibc
|
||||
, ncurses
|
||||
, networkmanager
|
||||
, systemd
|
||||
# Support groups
|
||||
, supportWpaWps ? true # Most common use-case
|
||||
, supportHashCracking ? false
|
||||
, supportEvilTwin ? false
|
||||
, supportX11 ? false # Allow using xterm instead of tmux, hard to test
|
||||
}:
|
||||
let
|
||||
deps = [
|
||||
aircrack-ng
|
||||
bash
|
||||
coreutils-full
|
||||
curl
|
||||
gawk
|
||||
glibc
|
||||
gnugrep
|
||||
gnused
|
||||
iproute2
|
||||
iw
|
||||
networkmanager
|
||||
ncurses
|
||||
pciutils
|
||||
procps
|
||||
tmux
|
||||
usbutils
|
||||
wget
|
||||
ethtool
|
||||
util-linux
|
||||
ccze
|
||||
systemd
|
||||
] ++ lib.optionals supportWpaWps [
|
||||
bully
|
||||
pixiewps
|
||||
reaverwps-t6x
|
||||
] ++ lib.optionals supportHashCracking [
|
||||
crunch
|
||||
hashcat
|
||||
hcxdumptool
|
||||
hcxtools
|
||||
john
|
||||
wireshark-cli
|
||||
] ++ lib.optionals supportEvilTwin [
|
||||
bettercap
|
||||
dhcp
|
||||
dnsmasq
|
||||
ettercap
|
||||
hostapd
|
||||
lighttpd
|
||||
openssl
|
||||
mdk4
|
||||
nftables
|
||||
apparmor-bin-utils
|
||||
] ++ lib.optionals supportX11 [
|
||||
xterm
|
||||
xorg.xset
|
||||
xorg.xdpyinfo
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "airgeddon";
|
||||
version = "11.01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v1s1t0r1sh3r3";
|
||||
repo = "airgeddon";
|
||||
rev = "v${version}";
|
||||
sha256 = "3TjaLEcerRk69Ys4kj7vOMCRUd0ifFJzL4MB5ifoK68=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
# What these replacings do?
|
||||
# - Disable the auto-updates (we'll run from a read-only directory);
|
||||
# - Silence the checks (NixOS will enforce the PATH, it will only see the tools as we listed);
|
||||
# - Use "tmux", we're not patching XTerm commands;
|
||||
# - Remove PWD and $0 references, forcing it to use the paths from store;
|
||||
# - Force our PATH to all tmux sessions.
|
||||
postPatch = ''
|
||||
patchShebangs airgeddon.sh
|
||||
sed -i '
|
||||
s|AIRGEDDON_AUTO_UPDATE=true|AIRGEDDON_AUTO_UPDATE=false|
|
||||
s|AIRGEDDON_SILENT_CHECKS=false|AIRGEDDON_SILENT_CHECKS=true|
|
||||
s|AIRGEDDON_WINDOWS_HANDLING=xterm|AIRGEDDON_WINDOWS_HANDLING=tmux|
|
||||
' .airgeddonrc
|
||||
|
||||
sed -Ei '
|
||||
s|\$\(pwd\)|${placeholder "out"}/share/airgeddon;scriptfolder=${placeholder "out"}/share/airgeddon/|
|
||||
s|\$\{0\}|${placeholder "out"}/bin/airgeddon|
|
||||
s|tmux send-keys -t "([^"]+)" "|tmux send-keys -t "\1" "export PATH=\\"$PATH\\"; |
|
||||
' airgeddon.sh
|
||||
'';
|
||||
|
||||
# ATTENTION: No need to chdir around, we're removing the occurrences of "$(pwd)"
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/airgeddon --prefix PATH : ${lib.makeBinPath deps}
|
||||
'';
|
||||
|
||||
# Install only the interesting files
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm 755 airgeddon.sh "$out/bin/airgeddon"
|
||||
install -dm 755 "$out/share/airgeddon"
|
||||
cp -dr .airgeddonrc known_pins.db language_strings.sh plugins/ "$out/share/airgeddon/"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multi-use TUI to audit wireless networks. ";
|
||||
homepage = "https://github.com/v1s1t0r1sh3r3/airgeddon";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ pedrohlc ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/networking/altermime/default.nix
Normal file
32
pkgs/tools/networking/altermime/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, gccStdenv, fetchurl }:
|
||||
|
||||
gccStdenv.mkDerivation rec {
|
||||
pname = "altermime";
|
||||
version = "0.3.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pldaniels.com/${pname}/${pname}-${version}.tar.gz";
|
||||
sha256 = "15zxg6spcmd35r6xbidq2fgcg2nzyv1sbbqds08lzll70mqx4pj7";
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = toString [
|
||||
"-Wno-error=format"
|
||||
"-Wno-error=format-truncation"
|
||||
"-Wno-error=pointer-compare"
|
||||
"-Wno-error=memset-elt-size"
|
||||
"-Wno-error=restrict"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
mkdir -p $out/bin
|
||||
substituteInPlace Makefile --replace "/usr/local" "$out"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "MIME alteration tool";
|
||||
maintainers = [ maintainers.raskin ];
|
||||
platforms = platforms.all;
|
||||
license.fullName = "alterMIME LICENSE";
|
||||
downloadPage = "https://pldaniels.com/altermime/";
|
||||
};
|
||||
}
|
||||
47
pkgs/tools/networking/amass/default.nix
Normal file
47
pkgs/tools/networking/amass/default.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "amass";
|
||||
version = "3.19.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OWASP";
|
||||
repo = "Amass";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-EnhTbwOnq1zTYlnSvNiXduZCp4J65Ot5FR17+e16v2s=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-Yh1OAoPPWSG83WdH1caHodRWovdyYcUsEoPdckmVfHQ=";
|
||||
|
||||
outputs = [ "out" "wordlists" ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $wordlists
|
||||
cp -R examples/wordlists/*.txt $wordlists
|
||||
gzip $wordlists/*.txt
|
||||
'';
|
||||
|
||||
# https://github.com/OWASP/Amass/issues/640
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "In-Depth DNS Enumeration and Network Mapping";
|
||||
longDescription = ''
|
||||
The OWASP Amass tool suite obtains subdomain names by scraping data
|
||||
sources, recursive brute forcing, crawling web archives,
|
||||
permuting/altering names and reverse DNS sweeping. Additionally, Amass
|
||||
uses the IP addresses obtained during resolution to discover associated
|
||||
netblocks and ASNs. All the information is then used to build maps of the
|
||||
target networks.
|
||||
|
||||
Amass ships with a set of wordlist (to be used with the amass -w flag)
|
||||
that are found under the wordlists output.
|
||||
'';
|
||||
homepage = "https://owasp.org/www-project-amass/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ kalbasit fab ];
|
||||
};
|
||||
}
|
||||
43
pkgs/tools/networking/anevicon/default.nix
Normal file
43
pkgs/tools/networking/anevicon/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, rustPlatform
|
||||
, libiconv
|
||||
, Security
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "anevicon";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rozgo";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1m3ci7g7nn28p6x5m85av3ljgszwlg55f1hmgjnarc6bas5bapl7";
|
||||
};
|
||||
|
||||
cargoSha256 = "1g15v13ysx09fy0b8qddw5fwql2pvwzc2g2h1ndhzpxvfy7fzpr1";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
||||
|
||||
cargoPatches = [
|
||||
# Add Cargo.lock file, https://github.com/rozgo/anevicon/pull/1
|
||||
(fetchpatch {
|
||||
name = "cargo-lock-file.patch";
|
||||
url = "https://github.com/rozgo/anevicon/commit/205440a0863aaea34394f30f4255fa0bb1704aed.patch";
|
||||
sha256 = "02syzm7irn4slr3s5dwwhvg1qx8fdplwlhza8gfkc6ajl7vdc7ri";
|
||||
})
|
||||
];
|
||||
|
||||
# Tries to send large UDP packets that Darwin rejects.
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
meta = with lib; {
|
||||
description = "UDP-based load generator";
|
||||
homepage = "https://github.com/rozgo/anevicon";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
43
pkgs/tools/networking/argus-clients/default.nix
Normal file
43
pkgs/tools/networking/argus-clients/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers, pkg-config, perl, libtirpc, libnsl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "argus-clients";
|
||||
version = "3.0.8.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://qosient.com/argus/src/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-uNTvi6zbrYHAivQMPkhlNCoqRW9GOkgKvCf3mInds80=";
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
|
||||
|
||||
postPatch = ''
|
||||
for file in ./examples/*/*.pl; do
|
||||
substituteInPlace $file \
|
||||
--subst-var-by PERLBIN ${perl}/bin/perl
|
||||
done
|
||||
'';
|
||||
|
||||
configureFlags = [ "--with-perl=${perl}/bin/perl" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ libpcap bison cyrus_sasl tcp_wrappers flex libnsl ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Clients for ARGUS";
|
||||
longDescription = ''Clients for Audit Record Generation and
|
||||
Utilization System (ARGUS). The Argus Project is focused on developing all
|
||||
aspects of large scale network situtational awareness derived from
|
||||
network activity audit. Argus, itself, is next-generation network
|
||||
flow technology, processing packets, either on the wire or in
|
||||
captures, into advanced network flow data. The data, its models,
|
||||
formats, and attributes are designed to support Network
|
||||
Operations, Performance and Security Management. If you need to
|
||||
know what is going on in your network, right now or historically,
|
||||
you will find Argus a useful tool. '';
|
||||
homepage = "http://qosient.com/argus";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ leenaars ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
46
pkgs/tools/networking/argus/default.nix
Normal file
46
pkgs/tools/networking/argus/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ lib, stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers,
|
||||
pkg-config, procps, which, wget, lsof, net-snmp, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "argus";
|
||||
version = "3.0.8.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://qosient.com/argus/src/${pname}-${version}.tar.gz";
|
||||
sha256 = "1zzf688dbbcb5z2r9v1p28rddns6znzx35nc05ygza6lp7aknkna";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config bison flex ];
|
||||
buildInputs = [ libpcap cyrus_sasl tcp_wrappers ];
|
||||
propagatedBuildInputs = [ procps which wget lsof net-snmp ];
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace events/argus-extip.pl \
|
||||
--subst-var-by PERLBIN ${perl}/bin/perl
|
||||
substituteInPlace events/argus-lsof.pl \
|
||||
--replace "\`which lsof\`" "\"${lsof}/bin/lsof\"" \
|
||||
--subst-var-by PERLBIN ${perl}/bin/perl
|
||||
substituteInPlace events/argus-vmstat.sh \
|
||||
--replace vm_stat ${procps}/bin/vmstat
|
||||
substituteInPlace events/argus-snmp.sh \
|
||||
--replace /usr/bin/snmpget ${lib.getBin net-snmp}/bin/snmpget \
|
||||
--replace /usr/bin/snmpwalk ${lib.getBin net-snmp}/bin/snmpwalk
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Audit Record Generation and Utilization System for networks";
|
||||
longDescription = ''The Argus Project is focused on developing all
|
||||
aspects of large scale network situtational awareness derived from
|
||||
network activity audit. Argus, itself, is next-generation network
|
||||
flow technology, processing packets, either on the wire or in
|
||||
captures, into advanced network flow data. The data, its models,
|
||||
formats, and attributes are designed to support Network
|
||||
Operations, Performance and Security Management. If you need to
|
||||
know what is going on in your network, right now or historically,
|
||||
you will find Argus a useful tool. '';
|
||||
homepage = "http://qosient.com/argus";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ leenaars ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
48
pkgs/tools/networking/aria2/default.nix
Normal file
48
pkgs/tools/networking/aria2/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook
|
||||
, openssl, c-ares, libxml2, sqlite, zlib, libssh2
|
||||
, cppunit, sphinx
|
||||
, Security
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aria2";
|
||||
version = "1.36.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aria2";
|
||||
repo = "aria2";
|
||||
rev = "release-${version}";
|
||||
sha256 = "sha256-ErjFfSJDIgZq0qy0Zn5uZ9bZS2AtJq4FuBVuUuQgPTI=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook sphinx ];
|
||||
|
||||
buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++
|
||||
lib.optional stdenv.isDarwin Security;
|
||||
|
||||
outputs = [ "bin" "dev" "out" "doc" "man" ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"
|
||||
"--enable-libaria2"
|
||||
"--with-bashcompletiondir=${placeholder "bin"}/share/bash-completion/completions"
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
patchShebangs --build doc/manual-src/en/mkapiref.py
|
||||
'';
|
||||
|
||||
checkInputs = [ cppunit ];
|
||||
doCheck = false; # needs the net
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://aria2.github.io";
|
||||
description = "A lightweight, multi-protocol, multi-source, command-line download utility";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ Br1ght0ne koral ];
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/networking/arping/default.nix
Normal file
36
pkgs/tools/networking/arping/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, libnet
|
||||
, libpcap
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "arping";
|
||||
version = "2.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ThomasHabets";
|
||||
repo = pname;
|
||||
rev = "${pname}-${version}";
|
||||
hash = "sha256-Yn0EFb23VJvcVluQhwGHg9cdnZ8LKlBEds7cq8Irftc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libnet
|
||||
libpcap
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Broadcasts a who-has ARP packet on the network and prints answers";
|
||||
homepage = "https://github.com/ThomasHabets/arping";
|
||||
license = with licenses; [ gpl2Plus ];
|
||||
maintainers = with maintainers; [ michalrus ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/networking/arpoison/default.nix
Normal file
30
pkgs/tools/networking/arpoison/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchzip, libnet }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "arpoison";
|
||||
version = "0.7";
|
||||
|
||||
buildInputs = [ libnet ];
|
||||
|
||||
src = fetchzip {
|
||||
url = "http://www.arpoison.net/arpoison-${version}.tar.gz";
|
||||
sha256 = "0krhszx3s0qwfg4rma5a51ak71nnd9xfs2ibggc3hwiz506s2x37";
|
||||
};
|
||||
|
||||
postPatch = "substituteInPlace Makefile --replace gcc cc";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/man/man8
|
||||
gzip arpoison.8
|
||||
cp arpoison $out/bin
|
||||
cp arpoison.8.gz $out/share/man/man8
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "UNIX arp cache update utility";
|
||||
homepage = "http://www.arpoison.net/";
|
||||
license = with licenses; [ gpl2 ];
|
||||
maintainers = [ maintainers.michalrus ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
49
pkgs/tools/networking/assh/default.nix
Normal file
49
pkgs/tools/networking/assh/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, openssh
|
||||
, makeWrapper
|
||||
, ps
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "assh";
|
||||
version = "2.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "advanced-ssh-config";
|
||||
owner = "moul";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-KVxEhA9tXAUhqMZ+MLX7Xk5aoaOcukiVFMLme9eHTUw=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-xLsiYM0gZL5O+Y3IkiMmzJReNW7XFN3Xejz2CkCqp5M=";
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w" "-X moul.io/assh/v2/pkg/version.Version=${version}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
checkInputs = lib.optionals stdenv.isDarwin [ ps ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/assh" \
|
||||
--prefix PATH : ${openssh}/bin
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/assh --help > /dev/null
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Advanced SSH config - Regex, aliases, gateways, includes and dynamic hosts";
|
||||
homepage = "https://github.com/moul/assh";
|
||||
changelog = "https://github.com/moul/assh/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ zzamboni ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/networking/atftp/default.nix
Normal file
32
pkgs/tools/networking/atftp/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchurl, readline, tcp_wrappers, pcre, makeWrapper, gcc, ps }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atftp";
|
||||
version = "0.7.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/atftp/${pname}-${version}.tar.gz";
|
||||
sha256 = "12h3sgkd25j4nfagil2jqyj1n8yxvaawj0cf01742642n57pmj4k";
|
||||
};
|
||||
|
||||
# fix test script
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ readline tcp_wrappers pcre gcc ];
|
||||
|
||||
# Expects pre-GCC5 inline semantics
|
||||
NIX_CFLAGS_COMPILE = "-std=gnu89";
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ ps ];
|
||||
|
||||
meta = {
|
||||
description = "Advanced tftp tools";
|
||||
maintainers = [ lib.maintainers.raskin ];
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2Plus;
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/networking/atinout/default.nix
Normal file
30
pkgs/tools/networking/atinout/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchgit, ronn, mount }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atinout";
|
||||
version = "0.9.2-alpha";
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.cc.isClang) "-Werror=implicit-fallthrough=0";
|
||||
LANG = if stdenv.isDarwin then "en_US.UTF-8" else "C.UTF-8";
|
||||
nativeBuildInputs = [ ronn mount ];
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.code.sf.net/p/atinout/code";
|
||||
rev = "4976a6cb5237373b7e23cd02d7cd5517f306e3f6";
|
||||
sha256 = "0bninv2bklz7ly140cxx8iyaqjlq809jjx6xqpimn34ghwsaxbpv";
|
||||
};
|
||||
|
||||
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
|
||||
|
||||
installPhase = ''
|
||||
make PREFIX=$out install
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://atinout.sourceforge.net";
|
||||
description = "Tool for talking to modems";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ bendlas ];
|
||||
};
|
||||
}
|
||||
35
pkgs/tools/networking/autossh/default.nix
Normal file
35
pkgs/tools/networking/autossh/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{lib, stdenv, fetchurl, openssh}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "autossh";
|
||||
version = "1.4g";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.harding.motd.ca/autossh/${pname}-${version}.tgz";
|
||||
sha256 = "0xqjw8df68f4kzkns5gcah61s5wk0m44qdk2z1d6388w6viwxhsz";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
export ac_cv_func_malloc_0_nonnull=yes
|
||||
export ac_cv_func_realloc_0_nonnull=yes
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ openssh ];
|
||||
|
||||
installPhase = ''
|
||||
install -D -m755 autossh $out/bin/autossh || return 1
|
||||
install -D -m644 CHANGES $out/share/doc/autossh/CHANGES || return 1
|
||||
install -D -m644 README $out/share/doc/autossh/README || return 1
|
||||
install -D -m644 autossh.host $out/share/autossh/examples/autossh.host || return 1
|
||||
install -D -m644 rscreen $out/share/autossh/examples/rscreen || return 1
|
||||
install -D -m644 autossh.1 $out/man/man1/autossh.1 || return 1
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.harding.motd.ca/autossh/";
|
||||
description = "Automatically restart SSH sessions and tunnels";
|
||||
license = licenses.bsd1;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
};
|
||||
}
|
||||
28
pkgs/tools/networking/axel/default.nix
Normal file
28
pkgs/tools/networking/axel/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive
|
||||
, pkg-config, gettext, libssl, txt2man }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "axel";
|
||||
version = "2.17.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "axel-download-accelerator";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-yC4TL8IXWGEwRXAyeon6QnQa+rT1xL/McLsghjZ4ky4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config autoconf-archive txt2man ];
|
||||
|
||||
buildInputs = [ gettext libssl ];
|
||||
|
||||
installFlags = [ "ETCDIR=${placeholder "out"}/etc" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Console downloading program with some features for parallel connections for faster downloading";
|
||||
homepage = "https://github.com/axel-download-accelerator/axel";
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
platforms = with platforms; unix;
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
||||
25
pkgs/tools/networking/babeld/default.nix
Normal file
25
pkgs/tools/networking/babeld/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, stdenv, fetchurl, nixosTests }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "babeld";
|
||||
version = "1.12.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.irif.fr/~jch/software/files/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-mrWdesdB82MN8j+cO2fGApTYs0q2IjmPm4l3OoeOyx4=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
makeFlags="PREFIX=$out ETCDIR=$out/etc"
|
||||
'';
|
||||
|
||||
passthru.tests.babeld = nixosTests.babeld;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.irif.fr/~jch/software/babel/";
|
||||
description = "Loop-avoiding distance-vector routing protocol";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fpletz hexa ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
31
pkgs/tools/networking/bacnet-stack/default.nix
Normal file
31
pkgs/tools/networking/bacnet-stack/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bacnet-stack";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bacnet-stack";
|
||||
repo = "bacnet-stack";
|
||||
rev = "bacnet-stack-${version}";
|
||||
sha256 = "078p7qsy9v6fl7pzwgcr72pgjqxfxmfxyqajih2zqlb5g5sf88vh";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "all" ];
|
||||
|
||||
buildPhase = ''
|
||||
make BUILD=debug BACNET_PORT=linux BACDL_DEFINE=-DBACDL_BIP=1 BACNET_DEFINES=" -DPRINT_ENABLED=1 -DBACFILE -DBACAPP_ALL -DBACNET_PROPERTY_LISTS"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -r bin $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "BACnet open source protocol stack for embedded systems, Linux, and Windows";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ WhittlesJr ];
|
||||
};
|
||||
}
|
||||
33
pkgs/tools/networking/badvpn/default.nix
Normal file
33
pkgs/tools/networking/badvpn/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, openssl, nss, pkg-config, nspr, bash, debug ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "badvpn";
|
||||
version = "1.999.130";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ambrop72";
|
||||
repo = "badvpn";
|
||||
rev = version;
|
||||
sha256 = "sha256-bLTDpq3ohUP+KooPvhv1/AZfdo0HwB3g9QOuE2E/pmY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [
|
||||
openssl
|
||||
nss
|
||||
nspr
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
find . -name '*.sh' -exec sed -e 's@#!/bin/sh@${stdenv.shell}@' -i '{}' ';'
|
||||
find . -name '*.sh' -exec sed -e 's@#!/bin/bash@${bash}/bin/bash@' -i '{}' ';'
|
||||
cmakeFlagsArray=("-DCMAKE_BUILD_TYPE=" "-DCMAKE_C_FLAGS=-O3 ${lib.optionalString (!debug) "-DNDEBUG"}");
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A set of network-related (mostly VPN-related) tools";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
43
pkgs/tools/networking/bandwhich/default.nix
Normal file
43
pkgs/tools/networking/bandwhich/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, stdenv, fetchFromGitHub, rustPlatform, Security, fetchpatch }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bandwhich";
|
||||
version = "0.20.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "imsnif";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "014blvrv0kk4gzga86mbk7gd5dl1szajfi972da3lrfznck1w24n";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-Vrd5DIfhUSb3BONaUG8RypmVF+HWrlM0TodlWjOLa/c=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin Security;
|
||||
|
||||
# 10 passed; 47 failed https://hydra.nixos.org/build/148943783/nixlog/1
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
# FIXME: remove when the linked-hash-map dependency is bumped upstream
|
||||
cargoPatches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/imsnif/bandwhich/pull/222/commits/be06905de2c4fb91afc22d50bf3cfe5a1e8003f5.patch";
|
||||
sha256 = "sha256-FyZ7jUXK7ebXq7q/lvRSe7YdPnpYWKZE3WrSKLMjJeA=";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A CLI utility for displaying current network utilization";
|
||||
longDescription = ''
|
||||
bandwhich sniffs a given network interface and records IP packet size, cross
|
||||
referencing it with the /proc filesystem on linux or lsof on MacOS. It is
|
||||
responsive to the terminal window size, displaying less info if there is
|
||||
no room for it. It will also attempt to resolve ips to their host name in
|
||||
the background using reverse DNS on a best effort basis.
|
||||
'';
|
||||
homepage = "https://github.com/imsnif/bandwhich";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ Br1ght0ne ma27 SuperSandro2000 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
24
pkgs/tools/networking/bgpdump/default.nix
Normal file
24
pkgs/tools/networking/bgpdump/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, zlib, bzip2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bgpdump";
|
||||
version = "1.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "RIPE-NCC";
|
||||
repo = "bgpdump";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-1HXMf9mHManR7jhonU2Agon0YFXOlM9APIN1Zm840AM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ zlib bzip2 ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/RIPE-NCC/bgpdump";
|
||||
description = "Analyze dump files produced by Zebra/Quagga or MRT";
|
||||
license = lib.licenses.hpnd;
|
||||
maintainers = with lib.maintainers; [ lewo ];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
21
pkgs/tools/networking/bgpq3/default.nix
Normal file
21
pkgs/tools/networking/bgpq3/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ lib, stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bgpq3";
|
||||
version = "0.1.36.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snar";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rOpggVlXKaf3KBhfZ2lVooDaQA0iRjSbsLXF02GEyBw=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "bgp filtering automation tool";
|
||||
homepage = "https://github.com/snar/bgpq3";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ b4dm4n ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
25
pkgs/tools/networking/bgpq4/default.nix
Normal file
25
pkgs/tools/networking/bgpq4/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bgpq4";
|
||||
version = "1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bgp";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-EFxINRFrcNXGtXpNqvBIN6pE1kG3OdeDIHYOsG2celI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "BGP filtering automation tool";
|
||||
homepage = "https://github.com/bgp/bgpq4";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ vincentbernat ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
28
pkgs/tools/networking/biosdevname/default.nix
Normal file
28
pkgs/tools/networking/biosdevname/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, zlib, pciutils }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "biosdevname";
|
||||
version = "0.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dell";
|
||||
repo = "biosdevname";
|
||||
rev = "v${version}";
|
||||
sha256 = "19wbb79x9h79k55sgd4dylvdbhhrvfaiaknbw9s1wvfmirkxa1dz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ zlib pciutils ];
|
||||
|
||||
# Don't install /lib/udev/rules.d/*-biosdevname.rules
|
||||
patches = [ ./makefile.patch ];
|
||||
|
||||
configureFlags = [ "--sbindir=\${out}/bin" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Udev helper for naming devices per BIOS names";
|
||||
license = licenses.gpl2;
|
||||
platforms = ["x86_64-linux" "i686-linux"];
|
||||
maintainers = with maintainers; [ cstrahan ];
|
||||
};
|
||||
}
|
||||
13
pkgs/tools/networking/biosdevname/makefile.patch
Normal file
13
pkgs/tools/networking/biosdevname/makefile.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 14d9a92..9e324d2 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -8,8 +8,6 @@ dist_noinst_DATA = biosdevname.rules.in biosdevname.spec.fedora biosdevname.spec
|
||||
|
||||
CLEANFILES = version src/bios_dev_name.h
|
||||
install-data-local:
|
||||
- mkdir -p $(DESTDIR)@RULEDIR@
|
||||
- $(INSTALL_DATA) $(top_srcdir)/biosdevname.rules.in $(DESTDIR)@RULEDEST@
|
||||
|
||||
uninstall-local:
|
||||
rm -f $(DESTDIR)@RULEDEST@
|
||||
172
pkgs/tools/networking/bitmask-vpn/default.nix
Normal file
172
pkgs/tools/networking/bitmask-vpn/default.nix
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, mkDerivation
|
||||
, buildGoModule
|
||||
, wrapQtAppsHook
|
||||
, python3Packages
|
||||
, pkg-config
|
||||
, openvpn
|
||||
, cmake
|
||||
, qmake
|
||||
, which
|
||||
, iproute2
|
||||
, iptables
|
||||
, procps
|
||||
, qmltermwidget
|
||||
, qtbase
|
||||
, qtdeclarative
|
||||
, qtinstaller
|
||||
, qtquickcontrols
|
||||
, qtquickcontrols2
|
||||
, qttools
|
||||
, CoreFoundation
|
||||
, Security
|
||||
, provider ? "riseup"
|
||||
}:
|
||||
let
|
||||
version = "0.21.6";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "0xacab.org";
|
||||
owner = "leap";
|
||||
repo = "bitmask-vpn";
|
||||
rev = version;
|
||||
sha256 = "sha256-LMz+ZgQVFGujoLA8rlyZ3VnW/NSlPipD5KwCe+cFtnY=";
|
||||
};
|
||||
|
||||
# bitmask-root is only used on GNU/Linux
|
||||
# and may one day be replaced by pkg/helper
|
||||
bitmask-root = mkDerivation {
|
||||
inherit src version;
|
||||
sourceRoot = "source/helpers";
|
||||
pname = "bitmask-root";
|
||||
nativeBuildInputs = [ python3Packages.wrapPython ];
|
||||
postPatch = ''
|
||||
substituteInPlace bitmask-root \
|
||||
--replace 'swhich("ip")' '"${iproute2}/bin/ip"' \
|
||||
--replace 'swhich("iptables")' '"${iptables}/bin/iptables"' \
|
||||
--replace 'swhich("ip6tables")' '"${iptables}/bin/ip6tables"' \
|
||||
--replace 'swhich("sysctl")' '"${procps}/bin/sysctl"' \
|
||||
--replace /usr/sbin/openvpn ${openvpn}/bin/openvpn
|
||||
substituteInPlace se.leap.bitmask.policy \
|
||||
--replace /usr/sbin/bitmask-root $out/bin/bitmask-root
|
||||
'';
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -m 755 -D -t $out/bin bitmask-root
|
||||
install -m 444 -D -t $out/share/polkit-1/actions se.leap.bitmask.policy
|
||||
wrapPythonPrograms
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
||||
buildGoModule rec {
|
||||
inherit src version;
|
||||
pname = "${provider}-vpn";
|
||||
vendorSha256 = null;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pkg/pickle/helpers.go \
|
||||
--replace /usr/share $out/share
|
||||
|
||||
# Using $PROVIDER is not working,
|
||||
# thus replacing directly into the vendor.conf
|
||||
substituteInPlace providers/vendor.conf \
|
||||
--replace "provider = riseup" "provider = ${provider}"
|
||||
|
||||
substituteInPlace branding/templates/debian/app.desktop-template \
|
||||
--replace "Icon=icon" "Icon=${pname}"
|
||||
|
||||
patchShebangs gui/build.sh
|
||||
wrapPythonProgramsIn branding/scripts
|
||||
'' + lib.optionalString stdenv.isLinux ''
|
||||
substituteInPlace pkg/helper/linux.go \
|
||||
--replace /usr/sbin/openvpn ${openvpn}/bin/openvpn
|
||||
substituteInPlace pkg/vpn/launcher_linux.go \
|
||||
--replace /usr/sbin/openvpn ${openvpn}/bin/openvpn \
|
||||
--replace /usr/sbin/bitmask-root ${bitmask-root}/bin/bitmask-root \
|
||||
--replace /usr/bin/lxpolkit /run/wrappers/bin/polkit-agent-helper-1 \
|
||||
--replace '"polkit-gnome-authentication-agent-1",' '"polkit-gnome-authentication-agent-1","polkitd",'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
python3Packages.wrapPython
|
||||
qmake
|
||||
qtquickcontrols
|
||||
qtquickcontrols2
|
||||
qttools
|
||||
which
|
||||
wrapQtAppsHook
|
||||
] ++ lib.optional (!stdenv.isLinux) qtinstaller;
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qmltermwidget
|
||||
qtdeclarative
|
||||
] ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security ];
|
||||
# FIXME: building on Darwin currently fails
|
||||
# due to missing debug symbols for Qt,
|
||||
# this should be fixable once darwin.apple_sdk >= 10.13
|
||||
# See https://bugreports.qt.io/browse/QTBUG-76777
|
||||
|
||||
# Not using buildGoModule's buildPhase:
|
||||
# gui/build.sh will build Go modules into lib/libgoshim.a
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
make gen_providers_json
|
||||
make generate
|
||||
# Remove timestamps in comments
|
||||
sed -i -e '/^\/\//d' pkg/config/version/version.go
|
||||
|
||||
# Not using -j$NIX_BUILD_CORES because the Makefile's rules
|
||||
# are not thread-safe: lib/libgoshim.h is used before being built.
|
||||
make build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -m 755 -D -t $out/bin build/qt/release/${pname}
|
||||
|
||||
VERSION=${version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json
|
||||
(cd branding/templates/debian && ${python3Packages.python}/bin/python3 generate.py)
|
||||
install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${pname}.desktop
|
||||
install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg
|
||||
'' + lib.optionalString stdenv.isLinux ''
|
||||
install -m 444 -D -t $out/share/polkit-1/actions ${bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy
|
||||
'';
|
||||
|
||||
# Some tests need access to the Internet:
|
||||
# Post "https://api.black.riseup.net/3/cert": dial tcp: lookup api.black.riseup.net on [::1]:53: read udp [::1]:56553->[::1]:53: read: connection refused
|
||||
doCheck = false;
|
||||
|
||||
passthru = { inherit bitmask-root; };
|
||||
|
||||
meta = {
|
||||
description = "Generic VPN client by LEAP";
|
||||
longDescription = ''
|
||||
Bitmask, by LEAP (LEAP Encryption Access Project),
|
||||
is an application to provide easy and secure encrypted communication
|
||||
with a VPN (Virtual Private Network). It allows you to select from
|
||||
a variety of trusted service provider all from one app.
|
||||
Current providers include Riseup Networks
|
||||
and The Calyx Institute, where the former is default.
|
||||
The <literal>${pname}</literal> executable should appear
|
||||
in your desktop manager's XDG menu or could be launch in a terminal
|
||||
to get an execution log. A new icon should then appear in your systray
|
||||
to control the VPN and configure some options.
|
||||
'';
|
||||
homepage = "https://bitmask.net";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ julm ];
|
||||
# darwin requires apple_sdk >= 10.13
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
33
pkgs/tools/networking/bore-cli/default.nix
Normal file
33
pkgs/tools/networking/bore-cli/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, Security
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bore-cli";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ekzhang";
|
||||
repo = "bore";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ywdJH39OYLaM4st/DIcvvtIUzExpbAucMMpqouJL1yI=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-ZnEVTFiPo3AFyo1BoV88X2nCqYzRK6PkcbawiR+QnV0=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin [
|
||||
Security
|
||||
];
|
||||
|
||||
# tests do not find grcov path correctly
|
||||
meta = with lib; {
|
||||
description = "Rust tool to create TCP tunnels";
|
||||
homepage = "https://github.com/ekzhang/bore";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ DieracDelta ];
|
||||
mainProgram = "bore";
|
||||
};
|
||||
}
|
||||
48
pkgs/tools/networking/bore/default.nix
Normal file
48
pkgs/tools/networking/bore/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib, stdenv, rustPlatform, fetchFromBitbucket, llvmPackages, Libsystem, SystemConfiguration, installShellFiles }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bore";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromBitbucket {
|
||||
owner = "delan";
|
||||
repo = "nonymous";
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "1fdnnx7d18gj4rkv1dc6q379dqabl66zks9i0rjarjwcci8m30d9";
|
||||
};
|
||||
|
||||
cargoSha256 = "1xlbfzmy0wjyz3jpr17r4ma4i79d9b32yqwwi10vrcjzr7vsyhmx";
|
||||
cargoBuildFlags = "-p ${pname}";
|
||||
|
||||
# FIXME can’t test --all-targets and --doc in a single invocation
|
||||
cargoTestFlags = [ "--all-targets" "--workspace" ];
|
||||
checkFeatures = [ "std" ];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ]
|
||||
++ lib.optional stdenv.isDarwin llvmPackages.libclang;
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
Libsystem
|
||||
SystemConfiguration
|
||||
];
|
||||
|
||||
LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
|
||||
|
||||
postInstall = ''
|
||||
installManPage $src/bore/doc/bore.1
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
printf '\0\0\0\0\0\0\0\0\0\0\0\0' \
|
||||
| $out/bin/bore --decode \
|
||||
| grep -q ';; NoError #0 Query 0 0 0 0 flags'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "DNS query tool";
|
||||
homepage = "https://crates.io/crates/bore";
|
||||
license = licenses.isc;
|
||||
maintainers = [ maintainers.delan ];
|
||||
};
|
||||
}
|
||||
28
pkgs/tools/networking/boringtun/default.nix
Normal file
28
pkgs/tools/networking/boringtun/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "boringtun";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudflare";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fZchh02CsVC5sdnR3blojslsKi7OxFcblHMuyuHsH/4=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-iJbzvhRPVDHXqianQ6UbmYEfmZCS/obxFZV/PsJMhD0=";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
|
||||
|
||||
# Testing this project requires sudo, Docker and network access, etc.
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Userspace WireGuard® implementation in Rust";
|
||||
homepage = "https://github.com/cloudflare/boringtun";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ xrelkd marsam ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
67
pkgs/tools/networking/boundary/default.nix
Normal file
67
pkgs/tools/networking/boundary/default.nix
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{ stdenv, lib, fetchzip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "boundary";
|
||||
version = "0.8.1";
|
||||
|
||||
src =
|
||||
let
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}");
|
||||
suffix = selectSystem {
|
||||
x86_64-linux = "linux_amd64";
|
||||
aarch64-linux = "linux_arm64";
|
||||
x86_64-darwin = "darwin_amd64";
|
||||
aarch64-darwin = "darwin_arm64";
|
||||
};
|
||||
sha256 = selectSystem {
|
||||
x86_64-linux = "sha256-JvWzDdslO1S/nVsIwvFAEhLo/kkHIE1AVwoI980LV4Y=";
|
||||
aarch64-linux = "sha256-IwD7iazbh94c9CZfFsg5t39D8oVWgpfXP1H0/GsTe3Y=";
|
||||
x86_64-darwin = "sha256-SkNSZVdbR6KW/vChDdvHMP+fGQp+mPVxKpEHb7BR4+4=";
|
||||
aarch64-darwin = "sha256-Mx9YhMk5eBgtDiYWPq7jfhrM3TjH0VCUE1QXycz5Cfc=";
|
||||
};
|
||||
in
|
||||
fetchzip {
|
||||
url = "https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${suffix}.zip";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D boundary $out/bin/boundary
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
$out/bin/boundary --help
|
||||
$out/bin/boundary version
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
dontPatchELF = true;
|
||||
dontPatchShebangs = true;
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://boundaryproject.io/";
|
||||
changelog = "https://github.com/hashicorp/boundary/blob/v${version}/CHANGELOG.md";
|
||||
description = "Enables identity-based access management for dynamic infrastructure";
|
||||
longDescription = ''
|
||||
Boundary provides a secure way to access hosts and critical systems
|
||||
without having to manage credentials or expose your network, and is
|
||||
entirely open source.
|
||||
|
||||
Boundary is designed to be straightforward to understand, highly scalable,
|
||||
and resilient. It can run in clouds, on-prem, secure enclaves and more,
|
||||
and does not require an agent to be installed on every end host.
|
||||
'';
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ jk techknowlogick ];
|
||||
};
|
||||
}
|
||||
41
pkgs/tools/networking/boundary/update.sh
Executable file
41
pkgs/tools/networking/boundary/update.sh
Executable file
|
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl gnused gawk nix-prefetch
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(dirname "$(readlink -f "$0")")"
|
||||
NIX_DRV="$ROOT/default.nix"
|
||||
if [ ! -f "$NIX_DRV" ]; then
|
||||
echo "ERROR: cannot find default.nix in $ROOT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
fetch_arch() {
|
||||
VER="$1"; ARCH="$2"
|
||||
URL="https://releases.hashicorp.com/boundary/${VER}/boundary_${VER}_${ARCH}.zip"
|
||||
nix-prefetch "{ stdenv, fetchzip }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = \"boundary\"; version = \"${VER}\";
|
||||
src = fetchzip { url = \"$URL\"; };
|
||||
}
|
||||
"
|
||||
}
|
||||
|
||||
replace_sha() {
|
||||
sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
|
||||
}
|
||||
|
||||
# https://releases.hashicorp.com/boundary/0.1.4/boundary_0.1.4_linux_amd64.zip
|
||||
BOUNDARY_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/hashicorp/boundary/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//')
|
||||
|
||||
BOUNDARY_LINUX_X64_SHA256=$(fetch_arch "$BOUNDARY_VER" "linux_amd64")
|
||||
BOUNDARY_DARWIN_X64_SHA256=$(fetch_arch "$BOUNDARY_VER" "darwin_amd64")
|
||||
BOUNDARY_LINUX_AARCH64_SHA256=$(fetch_arch "$BOUNDARY_VER" "linux_arm64")
|
||||
BOUNDARY_DARWIN_AARCH64_SHA256=$(fetch_arch "$BOUNDARY_VER" "darwin_arm64")
|
||||
|
||||
sed -i "s/version = \".*\"/version = \"$BOUNDARY_VER\"/" "$NIX_DRV"
|
||||
|
||||
replace_sha "x86_64-linux" "$BOUNDARY_LINUX_X64_SHA256"
|
||||
replace_sha "x86_64-darwin" "$BOUNDARY_DARWIN_X64_SHA256"
|
||||
replace_sha "aarch64-linux" "$BOUNDARY_LINUX_AARCH64_SHA256"
|
||||
replace_sha "aarch64-darwin" "$BOUNDARY_DARWIN_AARCH64_SHA256"
|
||||
23
pkgs/tools/networking/brook/default.nix
Normal file
23
pkgs/tools/networking/brook/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "brook";
|
||||
version = "20220515";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "txthinking";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-olYlAuIcK34nNXbfiPT4+u0L3xcxBMMty72FjSeuNqg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ic5QYRVElEuH4D29PXgTzMHU0KjrxDqcdfg7Kd37/YU=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/txthinking/brook";
|
||||
description = "A cross-platform Proxy/VPN software";
|
||||
license = with licenses; [ gpl3Only ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ xrelkd ];
|
||||
};
|
||||
}
|
||||
47
pkgs/tools/networking/bsd-finger/default.nix
Normal file
47
pkgs/tools/networking/bsd-finger/default.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, buildClient ? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
srcName = "bsd-finger";
|
||||
pname = srcName + lib.optionalString (!buildClient) "d";
|
||||
version = "0.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://ibiblioPubLinux/system/network/finger/${srcName}-${version}.tar.gz";
|
||||
hash = "sha256-hIhdZo0RfvUOAccDSkXYND10fOxiEuQOjQgVG8GOE/o=";
|
||||
};
|
||||
|
||||
# outputs = [ "out" "man" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
|
||||
|
||||
patches = [
|
||||
./ubuntu-0.17-9.patch
|
||||
];
|
||||
|
||||
preBuild = let
|
||||
srcdir = if buildClient then "finger" else "fingerd";
|
||||
in ''
|
||||
cd ${srcdir}
|
||||
'';
|
||||
|
||||
preInstall = let
|
||||
bindir = if buildClient then "bin" else "sbin";
|
||||
mandir = if buildClient then "man/man1" else "man/man8";
|
||||
in ''
|
||||
mkdir -p $out/${bindir} $out/${mandir}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
if buildClient
|
||||
then "User information lookup program"
|
||||
else "Remote user information server";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsdOriginal;
|
||||
};
|
||||
}
|
||||
# TODO: multiple outputs (manpage)
|
||||
261
pkgs/tools/networking/bsd-finger/ubuntu-0.17-9.patch
Normal file
261
pkgs/tools/networking/bsd-finger/ubuntu-0.17-9.patch
Normal file
|
|
@ -0,0 +1,261 @@
|
|||
--- bsd-finger-0.17.orig/finger/finger.1
|
||||
+++ bsd-finger-0.17/finger/finger.1
|
||||
@@ -169,16 +169,14 @@
|
||||
must be able to see the
|
||||
.Pa .nofinger
|
||||
file. This generally means that the home directory containing the file
|
||||
-must have the other-users-execute bit set (o+w). See
|
||||
+must have the other-users-execute bit set (o+x). See
|
||||
.Xr chmod 1 .
|
||||
If you use this feature for privacy, please test it with ``finger
|
||||
@localhost'' before relying on it, just in case.
|
||||
.It ~/.plan
|
||||
.It ~/.project
|
||||
-.It ~/.pgp
|
||||
+.It ~/.pgpkey
|
||||
These files are printed as part of a long-format request. The
|
||||
-.Pa .project
|
||||
-file is limited to one line; the
|
||||
.Pa .plan
|
||||
file may be arbitrarily long.
|
||||
.El
|
||||
--- bsd-finger-0.17.orig/finger/finger.c
|
||||
+++ bsd-finger-0.17/finger/finger.c
|
||||
@@ -77,7 +77,7 @@
|
||||
#include "../version.h"
|
||||
|
||||
static void loginlist(void);
|
||||
-static void userlist(int argc, char *argv[]);
|
||||
+static int userlist(int argc, char *argv[]);
|
||||
|
||||
int lflag, pplan;
|
||||
static int sflag, mflag;
|
||||
@@ -92,6 +92,7 @@
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
int ch;
|
||||
+ int err = 0;
|
||||
struct sockaddr_in sin;
|
||||
socklen_t slen = sizeof(sin);
|
||||
|
||||
@@ -159,7 +160,7 @@
|
||||
}
|
||||
}
|
||||
else {
|
||||
- userlist(argc, argv);
|
||||
+ err = userlist(argc, argv);
|
||||
/*
|
||||
* Assign explicit "large" format if names given and -s not
|
||||
* explicitly stated. Force the -l AFTER we get names so any
|
||||
@@ -172,7 +173,7 @@
|
||||
if (lflag) lflag_print();
|
||||
else sflag_print();
|
||||
}
|
||||
- return 0;
|
||||
+ return err;
|
||||
}
|
||||
|
||||
/* Returns 1 if .nofinger is found and enable_nofinger is set. */
|
||||
@@ -181,10 +182,16 @@
|
||||
check_nofinger(struct passwd *pw)
|
||||
{
|
||||
if (enable_nofinger) {
|
||||
- char path[PATH_MAX];
|
||||
struct stat tripe;
|
||||
- snprintf(path, sizeof(path), "%s/.nofinger", pw->pw_dir);
|
||||
- if (stat(path, &tripe)==0) {
|
||||
+ int ret;
|
||||
+ char *path;
|
||||
+ if (asprintf(&path, "%s/.nofinger", pw->pw_dir) < 0) {
|
||||
+ eprintf("finger: Out of space.\n");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ ret = stat(path, &tripe);
|
||||
+ free(path);
|
||||
+ if (!ret) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -264,10 +271,11 @@
|
||||
|
||||
}
|
||||
|
||||
-static void
|
||||
+static int
|
||||
userlist(int argc, char *argv[])
|
||||
{
|
||||
int i;
|
||||
+ int err = 0;
|
||||
PERSON *pn;
|
||||
PERSON *nethead, **nettail;
|
||||
struct utmp *uptr;
|
||||
@@ -297,13 +305,13 @@
|
||||
|
||||
/* handle network requests */
|
||||
for (pn = nethead; pn; pn = pn->next) {
|
||||
- netfinger(pn->name);
|
||||
+ err |= netfinger(pn->name);
|
||||
if (pn->next || entries)
|
||||
xputc('\n');
|
||||
}
|
||||
|
||||
if (entries == 0)
|
||||
- return;
|
||||
+ return err;
|
||||
|
||||
/*
|
||||
* Scan thru the list of users currently logged in, saving
|
||||
@@ -331,4 +339,6 @@
|
||||
enter_lastlog(pn);
|
||||
}
|
||||
endutent();
|
||||
+
|
||||
+ return err;
|
||||
}
|
||||
--- bsd-finger-0.17.orig/finger/finger.h
|
||||
+++ bsd-finger-0.17/finger/finger.h
|
||||
@@ -92,7 +92,7 @@
|
||||
void enter_where(struct utmp *ut, PERSON *pn);
|
||||
void enter_lastlog(PERSON *pn);
|
||||
int match(struct passwd *pw, const char *user);
|
||||
-void netfinger(const char *name);
|
||||
+int netfinger(const char *name);
|
||||
const char *prphone(const char *num);
|
||||
|
||||
#ifndef DAYSPERNYEAR
|
||||
--- bsd-finger-0.17.orig/finger/lprint.c
|
||||
+++ bsd-finger-0.17/finger/lprint.c
|
||||
@@ -48,7 +48,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/stat.h>
|
||||
-#include <sys/time.h>
|
||||
+#include <time.h>
|
||||
#include "finger.h"
|
||||
|
||||
static void lprint(PERSON *pn);
|
||||
@@ -100,7 +100,7 @@
|
||||
* office, office phone, home phone if available
|
||||
*/
|
||||
xprintf("Login: %-15s\t\t\tName: %s\nDirectory: %-25s",
|
||||
- pn->name, pn->realname, pn->dir);
|
||||
+ pn->name, pn->realname ? pn->realname : "", pn->dir);
|
||||
xprintf("\tShell: %-s\n", *pn->shell ? pn->shell : _PATH_BSHELL);
|
||||
|
||||
/*
|
||||
--- bsd-finger-0.17.orig/finger/net.c
|
||||
+++ bsd-finger-0.17/finger/net.c
|
||||
@@ -51,7 +51,7 @@
|
||||
#include <ctype.h>
|
||||
#include "finger.h"
|
||||
|
||||
-void netfinger(const char *name) {
|
||||
+int netfinger(const char *name) {
|
||||
register FILE *fp;
|
||||
struct in_addr defaddr;
|
||||
register int c, sawret, ateol;
|
||||
@@ -62,7 +62,7 @@
|
||||
char *alist[1], *host;
|
||||
|
||||
host = strrchr(name, '@');
|
||||
- if (!host) return;
|
||||
+ if (!host) return 1;
|
||||
*host++ = '\0';
|
||||
|
||||
memset(&sn, 0, sizeof(sn));
|
||||
@@ -70,7 +70,7 @@
|
||||
sp = getservbyname("finger", "tcp");
|
||||
if (!sp) {
|
||||
eprintf("finger: tcp/finger: unknown service\n");
|
||||
- return;
|
||||
+ return 1;
|
||||
}
|
||||
sn.sin_port = sp->s_port;
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
if (!hp) {
|
||||
if (!inet_aton(host, &defaddr)) {
|
||||
eprintf("finger: unknown host: %s\n", host);
|
||||
- return;
|
||||
+ return 1;
|
||||
}
|
||||
def.h_name = host;
|
||||
def.h_addr_list = alist;
|
||||
@@ -96,7 +96,7 @@
|
||||
|
||||
if ((s = socket(hp->h_addrtype, SOCK_STREAM, 0)) < 0) {
|
||||
eprintf("finger: socket: %s\n", strerror(errno));
|
||||
- return;
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
/* print hostname before connecting, in case it takes a while */
|
||||
@@ -104,7 +104,7 @@
|
||||
if (connect(s, (struct sockaddr *)&sn, sizeof(sn)) < 0) {
|
||||
eprintf("finger: connect: %s\n", strerror(errno));
|
||||
close(s);
|
||||
- return;
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
/* -l flag for remote fingerd */
|
||||
@@ -128,7 +128,7 @@
|
||||
if (!fp) {
|
||||
eprintf("finger: fdopen: %s\n", strerror(errno));
|
||||
close(s);
|
||||
- return;
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
sawret = 0;
|
||||
@@ -152,4 +152,6 @@
|
||||
}
|
||||
if (!ateol) xputc('\n');
|
||||
fclose(fp);
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
--- bsd-finger-0.17.orig/finger/sprint.c
|
||||
+++ bsd-finger-0.17/finger/sprint.c
|
||||
@@ -40,7 +40,7 @@
|
||||
#endif /* not lint */
|
||||
|
||||
#include <sys/types.h>
|
||||
-#include <sys/time.h>
|
||||
+#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
--- bsd-finger-0.17.orig/finger/util.c
|
||||
+++ bsd-finger-0.17/finger/util.c
|
||||
@@ -64,7 +64,7 @@
|
||||
struct stat sb;
|
||||
|
||||
/* No device for X console. Utmp entry by XDM login (":0"). */
|
||||
- if (w->tty[0] == ':') {
|
||||
+ if (strchr(w->tty, ':')) {
|
||||
w->idletime = 0; /* would be nice to have it emit ??? */
|
||||
w->writable = 0;
|
||||
return;
|
||||
@@ -109,9 +109,8 @@
|
||||
* fields[3] -> homephone
|
||||
*/
|
||||
nfields = 0;
|
||||
- for (p = strtok(bp, ","); p; p = strtok(NULL, ",")) {
|
||||
- if (*p==0) p = NULL; // skip empties
|
||||
- if (nfields < 4) fields[nfields++] = p;
|
||||
+ while ((p = strsep(&bp, ","))) {
|
||||
+ if (nfields < 4) fields[nfields++] = *p ? p : NULL;
|
||||
}
|
||||
while (nfields<4) fields[nfields++] = NULL;
|
||||
|
||||
@@ -150,6 +149,9 @@
|
||||
|
||||
pn->realname = rname;
|
||||
}
|
||||
+ else {
|
||||
+ pn->realname = NULL;
|
||||
+ }
|
||||
|
||||
pn->office = fields[1] ? strdup(fields[1]) : NULL;
|
||||
pn->officephone = fields[2] ? strdup(fields[2]) : NULL;
|
||||
48
pkgs/tools/networking/bukubrow/default.nix
Normal file
48
pkgs/tools/networking/bukubrow/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib, rustPlatform, fetchFromGitHub, sqlite }: let
|
||||
|
||||
manifest = {
|
||||
description = "Bukubrow extension host application";
|
||||
name = "com.samhh.bukubrow";
|
||||
path = "@out@/bin/bukubrow";
|
||||
type = "stdio";
|
||||
};
|
||||
|
||||
in rustPlatform.buildRustPackage rec {
|
||||
pname = "bukubrow-host";
|
||||
version = "5.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SamHH";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1a3gqxj6d1shv3w0v9m8x2xr0bvcynchy778yqalxkc3x4vr0nbn";
|
||||
};
|
||||
|
||||
cargoSha256 = "0z6i9wzz5gy9rs8cxfmwg4mpfajv0xvj4nn6jfl7f1rw6k457jc9";
|
||||
|
||||
buildInputs = [ sqlite ];
|
||||
|
||||
passAsFile = [ "firefoxManifest" "chromeManifest" ];
|
||||
firefoxManifest = builtins.toJSON (manifest // {
|
||||
allowed_extensions = [ "bukubrow@samhh.com" ];
|
||||
});
|
||||
chromeManifest = builtins.toJSON (manifest // {
|
||||
allowed_origins = [ "chrome-extension://ghniladkapjacfajiooekgkfopkjblpn/" ];
|
||||
});
|
||||
postBuild = ''
|
||||
substituteAll $firefoxManifestPath firefox.json
|
||||
substituteAll $chromeManifestPath chrome.json
|
||||
'';
|
||||
postInstall = ''
|
||||
install -Dm0644 firefox.json $out/lib/mozilla/native-messaging-hosts/com.samhh.bukubrow.json
|
||||
install -Dm0644 chrome.json $out/etc/chromium/native-messaging-hosts/com.samhh.bukubrow.json
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A WebExtension for Buku, a command-line bookmark manager";
|
||||
homepage = "https://github.com/SamHH/bukubrow-host";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ infinisil ];
|
||||
};
|
||||
}
|
||||
|
||||
32
pkgs/tools/networking/bully/default.nix
Normal file
32
pkgs/tools/networking/bully/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchFromGitHub, libpcap }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bully";
|
||||
version = "1.4-00";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kimocoder";
|
||||
repo = "bully";
|
||||
rev = version;
|
||||
sha256 = "1n2754a5z44g414a0hj3cmi9q5lwnzyvmvzskrj2nci8c8m2kgnf";
|
||||
};
|
||||
|
||||
buildInputs = [ libpcap ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
sourceRoot = "./source/src";
|
||||
|
||||
installPhase = ''
|
||||
install -Dm555 -t $out/bin bully
|
||||
install -Dm444 -t $out/share/doc/${pname} ../*.md
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Retrieve WPA/WPA2 passphrase from a WPS enabled access point";
|
||||
homepage = "https://github.com/kimocoder/bully";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
50
pkgs/tools/networking/burpsuite/default.nix
Normal file
50
pkgs/tools/networking/burpsuite/default.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{ lib, stdenv, fetchurl, jdk11, runtimeShell, unzip, chromium }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "burpsuite";
|
||||
version = "2021.12";
|
||||
|
||||
src = fetchurl {
|
||||
name = "burpsuite.jar";
|
||||
urls = [
|
||||
"https://portswigger.net/Burp/Releases/Download?productId=100&version=${version}&type=Jar"
|
||||
"https://web.archive.org/web/https://portswigger.net/Burp/Releases/Download?productId=100&version=${version}&type=Jar"
|
||||
];
|
||||
sha256 = "sha256-BLX/SgHctXciOZoA6Eh4zuDJoxNSZgvoj2Teg1fV80g=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
echo '#!${runtimeShell}
|
||||
eval "$(${unzip}/bin/unzip -p ${src} chromium.properties)"
|
||||
mkdir -p "$HOME/.BurpSuite/burpbrowser/$linux64"
|
||||
ln -sf "${chromium}/bin/chromium" "$HOME/.BurpSuite/burpbrowser/$linux64/chrome"
|
||||
exec ${jdk11}/bin/java -jar ${src} "$@"' > $out/bin/burpsuite
|
||||
chmod +x $out/bin/burpsuite
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "An integrated platform for performing security testing of web applications";
|
||||
longDescription = ''
|
||||
Burp Suite is an integrated platform for performing security testing of web applications.
|
||||
Its various tools work seamlessly together to support the entire testing process, from
|
||||
initial mapping and analysis of an application's attack surface, through to finding and
|
||||
exploiting security vulnerabilities.
|
||||
'';
|
||||
homepage = "https://portswigger.net/burp/";
|
||||
downloadPage = "https://portswigger.net/burp/freedownload";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.unfree;
|
||||
platforms = jdk11.meta.platforms;
|
||||
hydraPlatforms = [];
|
||||
maintainers = with maintainers; [ bennofs ];
|
||||
};
|
||||
}
|
||||
54
pkgs/tools/networking/bwm-ng/default.nix
Normal file
54
pkgs/tools/networking/bwm-ng/default.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, autoreconfHook
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, ncurses
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bwm-ng";
|
||||
version = "0.6.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.gropp.org/bwm-ng/${pname}-${version}.tar.gz";
|
||||
sha256 = "0ikzyvnb73msm9n7ripg1dsw9av1i0c7q2hi2173xsj8zyv559f1";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Pull upstream fix for ncurses-6.3 support.
|
||||
(fetchpatch {
|
||||
name = "ncurses-6.3.patch";
|
||||
url = "https://github.com/vgropp/bwm-ng/commit/6a2087db6cc7ac5b5f667fcd17c262c079e8dcf2.patch";
|
||||
sha256 = "1l5dii9d52v0x0sq458ybw7m9p8aan2vl94gwx5s8mgxsnbcmzzx";
|
||||
# accidentally committed changes
|
||||
excludes = [ "config.h.in~" "configure.in" "configure~" ];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ncurses
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A small and simple console-based live network and disk io bandwidth monitor";
|
||||
homepage = "http://www.gropp.org/?id=projects&sub=bwm-ng";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ];
|
||||
longDescription = ''
|
||||
bwm-ng supports:
|
||||
- /proc/net/dev, netstat, getifaddr, sysctl, kstat, /proc/diskstats /proc/partitions, IOKit,
|
||||
devstat and libstatgrab
|
||||
- unlimited number of interfaces/devices
|
||||
- interfaces/devices are added or removed dynamically from list
|
||||
- white-/blacklist of interfaces/devices
|
||||
- output of KB/s, Kb/s, packets, errors, average, max and total sum
|
||||
- output in curses, plain console, CSV or HTML
|
||||
'';
|
||||
};
|
||||
}
|
||||
20
pkgs/tools/networking/cadaver/configure.patch
Normal file
20
pkgs/tools/networking/cadaver/configure.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
--- a/configure.orig
|
||||
+++ b/configure
|
||||
@@ -9595,7 +9595,7 @@ fi
|
||||
$as_echo "$ne_cv_lib_neon" >&6; }
|
||||
if test "$ne_cv_lib_neon" = "yes"; then
|
||||
ne_cv_lib_neonver=no
|
||||
- for v in 27 28 29; do
|
||||
+ for v in 27 28 29 30 31; do
|
||||
case $ne_libver in
|
||||
0.$v.*) ne_cv_lib_neonver=yes ;;
|
||||
esac
|
||||
@@ -10328,7 +10328,7 @@ fi
|
||||
$as_echo "$ne_cv_lib_neon" >&6; }
|
||||
if test "$ne_cv_lib_neon" = "yes"; then
|
||||
ne_cv_lib_neonver=no
|
||||
- for v in 27 28 29; do
|
||||
+ for v in 27 28 29 30 31; do
|
||||
case $ne_libver in
|
||||
0.$v.*) ne_cv_lib_neonver=yes ;;
|
||||
esac
|
||||
35
pkgs/tools/networking/cadaver/default.nix
Normal file
35
pkgs/tools/networking/cadaver/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, neon, pkg-config, readline, zlib, openssl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cadaver";
|
||||
version = "0.23.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.webdav.org/cadaver/cadaver-${version}.tar.gz";
|
||||
sha256 = "1jizq69ifrjbjvz5y79wh1ny94gsdby4gdxwjad4bfih6a5fck7x";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk/disable-sslv2.patch?h=packages/cadaver";
|
||||
name = "disable-sslv2.patch";
|
||||
sha256 = "1qx65hv584wdarks51yhd3y38g54affkphm5wz27xiz4nhmbssrr";
|
||||
})
|
||||
# Cadaver also works with newer versions of neon than stated
|
||||
# in the configure script
|
||||
./configure.patch
|
||||
];
|
||||
|
||||
configureFlags = [ "--with-ssl" "--with-readline" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ neon readline zlib openssl ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A command-line WebDAV client";
|
||||
homepage = "http://www.webdav.org/cadaver";
|
||||
maintainers = with maintainers; [ ianwookim ];
|
||||
license = licenses.gpl2;
|
||||
platforms = with platforms; linux ++ freebsd ++ openbsd;
|
||||
};
|
||||
}
|
||||
34
pkgs/tools/networking/calendar-cli/default.nix
Normal file
34
pkgs/tools/networking/calendar-cli/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "calendar-cli";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tobixen";
|
||||
repo = "calendar-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-wGigrBl5PJL+fVfnFnHDJ5zyB+Rq3Fm+q9vMvLuBBys=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
icalendar
|
||||
caldav
|
||||
pytz
|
||||
tzlocal
|
||||
six
|
||||
];
|
||||
|
||||
# tests require networking
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple command-line CalDav client";
|
||||
homepage = "https://github.com/tobixen/calendar-cli";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
};
|
||||
}
|
||||
64
pkgs/tools/networking/cantoolz/default.nix
Normal file
64
pkgs/tools/networking/cantoolz/default.nix
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, python3
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "cantoolz";
|
||||
version = "3.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CANToolz";
|
||||
repo = "CANToolz";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0ROWx1CsKtjxmbCgPYZpvr37VKsEsWCwMehf0/0/cnY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# Replace time.clock() which was removed, https://github.com/CANToolz/CANToolz/pull/30
|
||||
url = "https://github.com/CANToolz/CANToolz/pull/30/commits/d75574523d3b273c40fb714532c4de27f9e6dd3e.patch";
|
||||
sha256 = "0g91hywg5q6f2qk1awgklywigclrbhh6a6mwd0kpbkk1wawiiwbc";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
flask
|
||||
pyserial
|
||||
mido
|
||||
numpy
|
||||
bitstring
|
||||
];
|
||||
|
||||
checkInputs = with python3.pkgs; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_process"
|
||||
# Sandbox issue
|
||||
"test_server"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"cantoolz"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Black-box CAN network analysis framework";
|
||||
longDescription = ''
|
||||
CANToolz is a framework for analysing CAN networks and devices. It
|
||||
provides multiple modules that can be chained using CANToolz's pipe
|
||||
system and used by security researchers, automotive/OEM security
|
||||
testers in black-box analysis.
|
||||
|
||||
CANToolz can be used for ECU discovery, MitM testing, fuzzing, brute
|
||||
forcing, scanning or R&D, testing and validation. More can easily be
|
||||
implemented with a new module.
|
||||
'';
|
||||
homepage = "https://github.com/CANToolz/CANToolz";
|
||||
license = with licenses; [ asl20 ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
43
pkgs/tools/networking/carddav-util/default.nix
Normal file
43
pkgs/tools/networking/carddav-util/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python3Packages, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "carddav";
|
||||
version = "0.1-2014-02-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ljanyst";
|
||||
repo = "carddav-util";
|
||||
rev = "53b181faff5f154bcd180467dd04c0ce69405564";
|
||||
sha256 = "sha256-9iRCNDC0FJ+JD2Hk5TC0w4QMjJ9mMtct5WIA35xTGTg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ requests vobject lxml ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
doCheck = false; # no test
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp $src/carddav-util.py $out/bin
|
||||
|
||||
pythondir="$out/lib/${python3Packages.python.sitePackages}"
|
||||
mkdir -p "$pythondir"
|
||||
cp $src/carddav.py "$pythondir"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
wrapProgram "$out/bin/carddav-util.py" \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" \
|
||||
--prefix PATH : "$prefix/bin:$PATH"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ljanyst/carddav-util";
|
||||
description = "A CardDAV import/export utility";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.isc;
|
||||
};
|
||||
}
|
||||
25
pkgs/tools/networking/cassowary/default.nix
Normal file
25
pkgs/tools/networking/cassowary/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cassowary";
|
||||
version = "0.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rogerwelin";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-rQNrxAKf2huY9I6iqdf1iYxgXaQI0LG1Lkrnv1OuJsg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-hGpiL88x2roFEjJJM4CKyt3k66VK1pEnpOwvhDPDp6M=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/rogerwelin/cassowary";
|
||||
description = "Modern cross-platform HTTP load-testing tool written in Go";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hugoreeves ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
48
pkgs/tools/networking/cbftp/default.nix
Normal file
48
pkgs/tools/networking/cbftp/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, ncurses
|
||||
, openssl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cbftp";
|
||||
version = "1173";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cbftp.eu/${pname}-r${version}.tar.gz";
|
||||
hash = "sha256-DE6fnLzWsx6Skz2LRJAaijjIqrYFB8/HPp45P5CcEc8=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
ncurses
|
||||
openssl
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
makeFlags = lib.optional stdenv.isDarwin "OPTFLAGS=-O0";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D bin/* -t $out/bin/
|
||||
install -D API README -t $out/share/doc/${pname}/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://cbftp.eu/";
|
||||
description = " An advanced multi-purpose FTP/FXP client";
|
||||
longDescription = ''
|
||||
Cbftp is an advanced multi-purpose FTP/FXP client that focuses on
|
||||
efficient large-scale data spreading, while also supporting most regular
|
||||
FTP/FXP use cases in a modern way. It runs in a terminal and provides a
|
||||
semi-graphical user interface through ncurses.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
38
pkgs/tools/networking/cdpr/default.nix
Normal file
38
pkgs/tools/networking/cdpr/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, libpcap }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cdpr";
|
||||
version = "2.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${pname}/${version}/${pname}-${version}.tgz";
|
||||
sha256 = "1idyvyafkk0ifcbi7mc65b60qia6hpsdb6s66j4ggqp7if6vblrj";
|
||||
};
|
||||
patches = [
|
||||
# Pull fix pending upstream inclusion for gcc-10 compatibility:
|
||||
# https://sourceforge.net/p/cdpr/bugs/3/
|
||||
(fetchurl {
|
||||
name = "fno-common";
|
||||
url = "https://sourceforge.net/p/cdpr/bugs/3/attachment/0001-cdpr-fix-build-on-gcc-10-fno-common.patch";
|
||||
sha256 = "023cvkpc4ry1pbjd91kkwj4af3hia0layk3fp8q40vh6mbr14pnp";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile --replace 'gcc' '"$$CC"'
|
||||
'';
|
||||
|
||||
buildInputs = [ libpcap ];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 cdpr $out/bin/cdpr
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cisco Discovery Protocol Reporter";
|
||||
homepage = "http://cdpr.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.sgo ];
|
||||
};
|
||||
}
|
||||
26
pkgs/tools/networking/changetower/default.nix
Normal file
26
pkgs/tools/networking/changetower/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "changetower";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dc4ts";
|
||||
repo = "ChangeTower";
|
||||
rev = "v${version}";
|
||||
sha256 = "058ccn6d5f7w268hfqh85bz1xj6ysgfrmyj0b4asjiskq7728v9z";
|
||||
};
|
||||
|
||||
vendorSha256 = "0hagskhwrdsl6s6hn27jriysbxhaz0pqq1h43j7v0ggnwd2s03bq";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tools to watch for webppage changes";
|
||||
homepage = "https://github.com/Dc4ts/ChangeTower";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "ChangeTower";
|
||||
};
|
||||
}
|
||||
29
pkgs/tools/networking/chaos/default.nix
Normal file
29
pkgs/tools/networking/chaos/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "chaos";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "projectdiscovery";
|
||||
repo = "chaos-client";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-uND88KGlUxGH3lGlcNdjSRsti/7FofruFJIcftdgzcE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-pzh/t8GeJXLIydSGoQ3vOzZ6xdHov6kdYgu2lKh/BNo=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/chaos/"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to communicate with Chaos DNS API";
|
||||
homepage = "https://github.com/projectdiscovery/chaos-client";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
28
pkgs/tools/networking/checkip/default.nix
Normal file
28
pkgs/tools/networking/checkip/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "checkip";
|
||||
version = "0.38.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jreisinger";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-F+Sc3t1GYpGR+EEP+9GpzfaiWNQVpDivzpS66E7Li3A=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-aiqnJ1PjrwSC6YtixNvyTxgbs8z2radcETNhKHGlPk0=";
|
||||
|
||||
# Requires network
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI tool that checks an IP address using various public services";
|
||||
homepage = "https://github.com/jreisinger/checkip";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/networking/chisel/default.nix
Normal file
36
pkgs/tools/networking/chisel/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "chisel";
|
||||
version = "1.7.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpillora";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-3EaVUGcwkJWX0FxIaHddUehJIdbxAPfBm8esXKCUuhM=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-Oko9nduKW76NIUCVyF0lPzEH+TFT1el9VGIbm5lQXtM=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/jpillora/chisel/share.BuildVersion=${version}" ];
|
||||
|
||||
# tests require access to the network
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "TCP/UDP tunnel over HTTP";
|
||||
longDescription = ''
|
||||
Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via
|
||||
SSH. Single executable including both client and server. Chisel is
|
||||
mainly useful for passing through firewalls, though it can also be
|
||||
used to provide a secure endpoint into your network.
|
||||
'';
|
||||
homepage = "https://github.com/jpillora/chisel";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
50
pkgs/tools/networking/chrony/default.nix
Normal file
50
pkgs/tools/networking/chrony/default.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, libcap, readline, texinfo, nss, nspr
|
||||
, libseccomp, pps-tools, gnutls }:
|
||||
|
||||
assert stdenv.isLinux -> libcap != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "chrony";
|
||||
version = "4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.tuxfamily.org/chrony/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-Jz+f0Vwyjtbzpfa6a67DWkIaNKc7tyVgUymxcSBI25o=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs test
|
||||
'';
|
||||
|
||||
buildInputs = [ readline texinfo nss nspr gnutls ]
|
||||
++ lib.optionals stdenv.isLinux [ libcap libseccomp pps-tools ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
hardeningEnable = [ "pie" ];
|
||||
|
||||
configureFlags = [ "--chronyvardir=$(out)/var/lib/chrony" "--enable-ntp-signd" ]
|
||||
++ lib.optional stdenv.isLinux "--enable-scfilter";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Sets your computer's clock from time servers on the Net";
|
||||
homepage = "https://chrony.tuxfamily.org/";
|
||||
license = licenses.gpl2;
|
||||
platforms = with platforms; linux ++ freebsd ++ openbsd;
|
||||
maintainers = with maintainers; [ fpletz thoughtpolice ];
|
||||
|
||||
longDescription = ''
|
||||
Chronyd is a daemon which runs in background on the system. It obtains
|
||||
measurements via the network of the system clock’s offset relative to
|
||||
time servers on other systems and adjusts the system time accordingly.
|
||||
For isolated systems, the user can periodically enter the correct time by
|
||||
hand (using Chronyc). In either case, Chronyd determines the rate at
|
||||
which the computer gains or loses time, and compensates for this. Chronyd
|
||||
implements the NTP protocol and can act as either a client or a server.
|
||||
|
||||
Chronyc provides a user interface to Chronyd for monitoring its
|
||||
performance and configuring various settings. It can do so while running
|
||||
on the same computer as the Chronyd instance it is controlling or a
|
||||
different computer.
|
||||
'';
|
||||
};
|
||||
}
|
||||
40
pkgs/tools/networking/circus/default.nix
Normal file
40
pkgs/tools/networking/circus/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ lib, python3 }:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = self: super: {
|
||||
tornado = super.tornado_4;
|
||||
};
|
||||
};
|
||||
|
||||
inherit (python.pkgs) buildPythonApplication fetchPypi iowait psutil pyzmq tornado mock six;
|
||||
in
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "circus";
|
||||
version = "0.16.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0paccmqwgard2l0z7swcc3nwc418l9b4mfaddb4s31bpnqg02z6x";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# relax version restrictions to fix build
|
||||
substituteInPlace setup.py \
|
||||
--replace "pyzmq>=13.1.0,<17.0" "pyzmq>13.1.0"
|
||||
'';
|
||||
|
||||
checkInputs = [ mock ];
|
||||
|
||||
doCheck = false; # weird error
|
||||
|
||||
propagatedBuildInputs = [ iowait psutil pyzmq tornado six ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A process and socket manager";
|
||||
homepage = "https://github.com/circus-tent/circus";
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
45
pkgs/tools/networking/cjdns/default.nix
Normal file
45
pkgs/tools/networking/cjdns/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ lib, stdenv, fetchFromGitHub, nodejs, which, python3, util-linux, nixosTests }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cjdns";
|
||||
version = "21.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cjdelisle";
|
||||
repo = "cjdns";
|
||||
rev = "cjdns-v${version}";
|
||||
sha256 = "NOmk+vMZ8i0E2MjrUzksk+tkJ9XVVNEXlE5OOTNa+Y0=";
|
||||
};
|
||||
|
||||
buildInputs = [ which python3 nodejs ] ++
|
||||
# for flock
|
||||
lib.optional stdenv.isLinux util-linux;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-O2"
|
||||
"-Wno-error=array-bounds"
|
||||
"-Wno-error=stringop-overflow"
|
||||
"-Wno-error=stringop-truncation"
|
||||
] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [
|
||||
"-Wno-error=stringop-overread"
|
||||
];
|
||||
|
||||
buildPhase =
|
||||
lib.optionalString stdenv.isAarch32 "Seccomp_NO=1 "
|
||||
+ "bash do";
|
||||
installPhase = ''
|
||||
install -Dt "$out/bin/" cjdroute makekeys privatetopublic publictoip6
|
||||
mkdir -p $out/share/cjdns
|
||||
cp -R tools node_build node_modules $out/share/cjdns/
|
||||
'';
|
||||
|
||||
passthru.tests.basic = nixosTests.cjdns;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/cjdelisle/cjdns";
|
||||
description = "Encrypted networking for regular people";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
19
pkgs/tools/networking/cksfv/default.nix
Normal file
19
pkgs/tools/networking/cksfv/default.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cksfv";
|
||||
version = "1.3.15";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://zakalwe.fi/~shd/foss/cksfv/files/cksfv-${version}.tar.bz2";
|
||||
sha256 = "0k06aq94cn5xp4knjw0p7gz06hzh622ql2xvnrlr3q8rcmdvwwx1";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://zakalwe.fi/~shd/foss/cksfv/";
|
||||
description = "A tool for verifying files against a SFV checksum file";
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.all;
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
||||
38
pkgs/tools/networking/clash/default.nix
Normal file
38
pkgs/tools/networking/clash/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, fetchFromGitHub, buildGoModule, testers, clash }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "clash";
|
||||
version = "1.10.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dreamacro";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-v9MUMgHIpHDUEmB5vXOIOkSriX+PCPtiiHHB4H5FeMw=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-egbXCRmC862tctapMUWTcNej1g6a9wCt2JIC9DSEP6k=";
|
||||
|
||||
# Do not build testing suit
|
||||
excludedPackages = [ "./test" ];
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/Dreamacro/clash/constant.Version=${version}"
|
||||
];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = clash;
|
||||
command = "clash -v";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A rule-based tunnel in Go";
|
||||
homepage = "https://github.com/Dreamacro/clash";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ contrun Br1ght0ne ];
|
||||
};
|
||||
}
|
||||
48
pkgs/tools/networking/cloud-custodian/default.nix
Normal file
48
pkgs/tools/networking/cloud-custodian/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib, buildPythonApplication, fetchPypi
|
||||
, argcomplete
|
||||
, boto3
|
||||
, botocore
|
||||
, certifi
|
||||
, python-dateutil
|
||||
, jsonpatch
|
||||
, jsonschema
|
||||
, pyyaml
|
||||
, tabulate
|
||||
, urllib3
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "cloud-custodian";
|
||||
version = "0.8.45.1";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "c7n";
|
||||
inherit version;
|
||||
sha256 = "0c199gdmpm83xfghrbzp02xliyxiygsnx2fvb35j9qpf37wzzp3z";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
argcomplete
|
||||
boto3
|
||||
botocore
|
||||
certifi
|
||||
python-dateutil
|
||||
jsonpatch
|
||||
jsonschema
|
||||
pyyaml
|
||||
tabulate
|
||||
urllib3
|
||||
];
|
||||
|
||||
# Requires tox, many packages, and network access
|
||||
checkPhase = ''
|
||||
$out/bin/custodian --help
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Rules engine for cloud security, cost optimization, and governance";
|
||||
homepage = "https://cloudcustodian.io";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ bhipple ];
|
||||
};
|
||||
}
|
||||
48
pkgs/tools/networking/cloudflare-warp/default.nix
Normal file
48
pkgs/tools/networking/cloudflare-warp/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ stdenv, lib, fetchurl, dpkg, autoPatchelfHook, dbus }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cloudflare-warp";
|
||||
version = "2022.02.24";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pkg.cloudflareclient.com/uploads/cloudflare_warp_2022_2_288_1_amd64_a0be7b47b3.deb";
|
||||
sha256 = "sha256-gBXF0EfFMT6BC6ts/6PQYJH3AAQSDsFoZGK3RZIqmOA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
dpkg
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = [ dbus ];
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
unpackPhase = ''
|
||||
dpkg-deb -x ${src} ./
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mv usr $out
|
||||
mv lib $out
|
||||
mv bin $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace $out/lib/systemd/system/warp-svc.service \
|
||||
--replace "ExecStart=" "ExecStart=$out"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Replaces the connection between your device and the Internet with a modern, optimized, protocol";
|
||||
homepage = "https://pkg.cloudflareclient.com/packages/cloudflare-warp";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/networking/cmst/default.nix
Normal file
36
pkgs/tools/networking/cmst/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qttools, gitUpdater }:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "cmst";
|
||||
version = "2022.05.01";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "cmst";
|
||||
owner = "andrew-bibb";
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "sha256-d3uvJf1tI9vXyq1eIbHkKrinBuPkYoBUcusHsJmSqMA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake qttools ];
|
||||
|
||||
buildInputs = [ qtbase ];
|
||||
|
||||
postPatch = ''
|
||||
for f in $(find . -name \*.cpp -o -name \*.pri -o -name \*.pro); do
|
||||
substituteInPlace $f --replace /etc $out/etc --replace /usr $out
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
inherit pname version;
|
||||
rev-prefix = "${pname}-";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "QT GUI for Connman with system tray icon";
|
||||
homepage = "https://github.com/andrew-bibb/cmst";
|
||||
maintainers = with maintainers; [ matejc romildo ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/networking/cnping/default.nix
Normal file
32
pkgs/tools/networking/cnping/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchFromGitHub, libglvnd, xorg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cnping";
|
||||
version = "unstable-2021-04-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cntools";
|
||||
repo = "cnping";
|
||||
rev = "6b89363e6b79ecbf612306d42a8ef94a5a2f756a";
|
||||
sha256 = "sha256-E3Wm5or6C4bHq7YoyaEbtDwyd+tDVYUOMeQrprlmL4A=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildInputs = [ libglvnd xorg.libXinerama xorg.libXext xorg.libX11 ];
|
||||
|
||||
# The "linuxinstall" target won't work for us:
|
||||
# it tries to setcap and copy to a FHS directory
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,share/man/man1}
|
||||
cp cnping $out/bin/cnping
|
||||
cp cnping.1 $out/share/man/man1/cnping.1
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Minimal Graphical IPV4 Ping Tool";
|
||||
homepage = "https://github.com/cntools/cnping";
|
||||
license = with licenses; [ mit bsd3 ]; # dual licensed, MIT-x11 & BSD-3-Clause
|
||||
maintainers = with maintainers; [ ckie ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
37
pkgs/tools/networking/cntlm/default.nix
Normal file
37
pkgs/tools/networking/cntlm/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, fetchurl, which}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cntlm";
|
||||
version = "0.92.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/cntlm/${pname}-${version}.tar.gz";
|
||||
sha256 = "1632szz849wasvh5sm6rm1zbvbrkq35k7kcyvx474gyl4h4x2flw";
|
||||
};
|
||||
|
||||
buildInputs = [ which ];
|
||||
|
||||
preConfigure = lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace configure --replace "xlc_r gcc" "xlc_r gcc $CC"
|
||||
substitute Makefile Makefile.$CC --replace "CC=gcc" "CC=$CC"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin; cp cntlm $out/bin/;
|
||||
mkdir -p $out/share/; cp COPYRIGHT README VERSION doc/cntlm.conf $out/share/;
|
||||
mkdir -p $out/man/; cp doc/cntlm.1 $out/man/;
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "NTLM/NTLMv2 authenticating HTTP proxy";
|
||||
homepage = "http://cntlm.sourceforge.net/";
|
||||
license = licenses.gpl2;
|
||||
maintainers =
|
||||
[
|
||||
maintainers.qknight
|
||||
maintainers.markWot
|
||||
maintainers.carlosdagos
|
||||
];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/networking/cocom/default.nix
Normal file
32
pkgs/tools/networking/cocom/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, Security
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cocom";
|
||||
version = "1.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LamdaLamdaLamda";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0sl4ivn95sr5pgw2z877gmhyfc4mk9xr457i5g2i4wqnf2jmy14j";
|
||||
};
|
||||
|
||||
cargoSha256 = "04kj1yj6hhnis3ss0xs4zq8rl71rzn577g8i0wmapkjqzqwg37yb";
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin Security;
|
||||
|
||||
# Tests require network access
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "NTP client";
|
||||
homepage = "https://github.com/LamdaLamdaLamda/cocom";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
29
pkgs/tools/networking/connect/default.nix
Normal file
29
pkgs/tools/networking/connect/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "connect";
|
||||
version ="1.105";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/gotoh/connect/get/${version}.tar.bz2";
|
||||
sha256 = "00yld6yinc8s4xv3b8kbvzn2f4rja5dmp6ysv3n4847qn4k60dh7";
|
||||
};
|
||||
|
||||
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; # gcc and/or clang compat
|
||||
|
||||
installPhase = ''
|
||||
install -D -m ugo=rx connect $out/bin/connect
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Make network connection via SOCKS and https proxy";
|
||||
longDescription = ''
|
||||
This proxy traversal tool is intended to assist OpenSSH (via ProxyCommand
|
||||
in ~/.ssh/config) and GIT (via $GIT_PROXY_COMMAND) utilize SOCKS and https proxies.
|
||||
'';
|
||||
homepage = "https://bitbucket.org/gotoh/connect/wiki/Home";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
platforms = lib.platforms.gnu ++ lib.platforms.linux ++ lib.platforms.darwin;
|
||||
maintainers = with lib.maintainers; [ jcumming ];
|
||||
};
|
||||
}
|
||||
43
pkgs/tools/networking/connman/connman-gtk/default.nix
Normal file
43
pkgs/tools/networking/connman/connman-gtk/default.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoconf, automake, intltool, pkg-config,
|
||||
gtk3, connman, openconnect, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "connman-gtk";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jgke";
|
||||
repo = "connman-gtk";
|
||||
rev = "v${version}";
|
||||
sha256 = "09k0hx5hxpbykvslv12l2fq9pxdwpd311mxj038hbqzjghcyidyr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
intltool
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
openconnect
|
||||
connman
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# m4/intltool.m4 is an invalid symbolic link
|
||||
rm m4/intltool.m4
|
||||
ln -s ${intltool}/share/aclocal/intltool.m4 m4/
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GTK GUI for Connman";
|
||||
homepage = "https://github.com/jgke/connman-gtk";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
41
pkgs/tools/networking/connman/connman-ncurses/default.nix
Normal file
41
pkgs/tools/networking/connman/connman-ncurses/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, pkg-config, dbus, json_c, ncurses, connman }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "connman-ncurses";
|
||||
version = "2015-07-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eurogiciel-oss";
|
||||
repo = "connman-json-client";
|
||||
rev = "3c34b2ee62d2e188090d20e7ed2fd94bab9c47f2";
|
||||
sha256 = "1831r0776fv481g8kgy1dkl750pzv47835dw11sslq2k6mm6i9p1";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with json-c 0.14
|
||||
(fetchpatch {
|
||||
url = "https://github.com/void-linux/void-packages/raw/5830ce60e922b7dced8157ededda8c995adb3bb9/srcpkgs/connman-ncurses/patches/lowercase-boolean.patch";
|
||||
extraPrefix = "";
|
||||
sha256 = "uK83DeRyXS2Y0ZZpTYvYNh/1ZM2QQ7QpajiBztaEuSM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
||||
buildInputs = [ dbus ncurses json_c connman ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
cp -va connman_ncurses "$out/bin/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple ncurses UI for connman";
|
||||
homepage = "https://github.com/eurogiciel-oss/connman-json-client";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
36
pkgs/tools/networking/connman/connman-notify/default.nix
Normal file
36
pkgs/tools/networking/connman/connman-notify/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, fetchFromGitLab, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
|
||||
|
||||
python3Packages.buildPythonApplication {
|
||||
pname = "connman-notify";
|
||||
version = "2019-10-05";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "wavexx";
|
||||
repo = "connman-notify";
|
||||
rev = "24b10a51721b54d932f4cd61ef2756423768c015";
|
||||
sha256 = "1k5b5y6114yna2cm0cq82xilicran63hrhlklgv7k3p89057xh8j";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
|
||||
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
|
||||
|
||||
buildInputs = [ glib ];
|
||||
|
||||
pythonPath = with python3Packages; [ dbus-python pygobject3 ];
|
||||
|
||||
strictDeps = false;
|
||||
|
||||
installPhase = ''
|
||||
install -D -t $out/bin connman-notify
|
||||
install -D -t $out/share/doc README.rst
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Desktop notification integration for connman";
|
||||
homepage = "https://gitlab.com/wavexx/connman-notify";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
180
pkgs/tools/networking/connman/connman.nix
Normal file
180
pkgs/tools/networking/connman/connman.nix
Normal file
|
|
@ -0,0 +1,180 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, file
|
||||
, glib
|
||||
# always required runtime dependencies
|
||||
, dbus
|
||||
, libmnl
|
||||
, gnutls
|
||||
, readline
|
||||
# configureable options
|
||||
, firewallType ? "iptables" # or "nftables"
|
||||
, iptables ? null
|
||||
, libnftnl ? null # for nftables
|
||||
, dnsType ? "internal" # or "systemd-resolved"
|
||||
# optional features which are turned *on* by default
|
||||
, enableOpenconnect ? true
|
||||
, openconnect ? null
|
||||
, enableOpenvpn ? true
|
||||
, openvpn ? null
|
||||
, enableVpnc ? true
|
||||
, vpnc ? true
|
||||
, enablePolkit ? true
|
||||
, polkit ? null
|
||||
, enablePptp ? true
|
||||
, pptp ? null
|
||||
, ppp ? null
|
||||
, enableLoopback ? true
|
||||
, enableEthernet ? true
|
||||
, enableWireguard ? true
|
||||
, enableGadget ? true
|
||||
, enableWifi ? true
|
||||
, enableBluetooth ? true
|
||||
, enableOfono ? true
|
||||
, enableDundee ? true
|
||||
, enablePacrunner ? true
|
||||
, enableNeard ? true
|
||||
, enableWispr ? true
|
||||
, enableTools ? true
|
||||
, enableStats ? true
|
||||
, enableClient ? true
|
||||
, enableDatafiles ? true
|
||||
# optional features which are turned *off* by default
|
||||
, enableNetworkManager ? false
|
||||
, enableHh2serialGps ? false
|
||||
, enableL2tp ? false
|
||||
, enableIospm ? false
|
||||
, enableTist ? false
|
||||
}:
|
||||
|
||||
assert lib.asserts.assertOneOf "firewallType" firewallType [ "iptables" "nftables" ];
|
||||
assert lib.asserts.assertOneOf "dnsType" dnsType [ "internal" "systemd-resolved" ];
|
||||
|
||||
let inherit (lib) optionals; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "connman";
|
||||
version = "1.41";
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/network/connman/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-eftA9P3VUwxFqo5ZL7Froj02dPOpjPELiaZXbxmN5Yk=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.hostPlatform.isMusl [
|
||||
# Fix Musl build by avoiding a Glibc-only API.
|
||||
(fetchpatch {
|
||||
url = "https://git.alpinelinux.org/aports/plain/community/connman/libresolv.patch?id=e393ea84386878cbde3cccadd36a30396e357d1e";
|
||||
sha256 = "1kg2nml7pdxc82h5hgsa3npvzdxy4d2jpz2f93pa97if868i8d43";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
dbus
|
||||
libmnl
|
||||
gnutls
|
||||
readline
|
||||
] ++ optionals (enableOpenconnect) [ openconnect ]
|
||||
++ optionals (firewallType == "iptables") [ iptables ]
|
||||
++ optionals (firewallType == "nftables") [ libnftnl ]
|
||||
++ optionals (enablePolkit) [ polkit ]
|
||||
++ optionals (enablePptp) [ pptp ppp ]
|
||||
;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
file
|
||||
];
|
||||
|
||||
# fix invalid path to 'file'
|
||||
postPatch = ''
|
||||
sed -i "s/\/usr\/bin\/file/file/g" ./configure
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
# directories flags
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
"--with-dbusconfdir=${placeholder "out"}/share"
|
||||
"--with-dbusdatadir=${placeholder "out"}/share"
|
||||
"--with-tmpfilesdir=${placeholder "out"}/lib/tmpfiles.d"
|
||||
"--with-systemdunitdir=${placeholder "out"}/lib/systemd/system"
|
||||
"--with-dns-backend=${dnsType}"
|
||||
"--with-firewall=${firewallType}"
|
||||
# production build flags
|
||||
"--disable-maintainer-mode"
|
||||
"--enable-session-policy-local=builtin"
|
||||
# for building and running tests
|
||||
# "--enable-tests" # installs the tests, we don't want that
|
||||
"--enable-tools"
|
||||
]
|
||||
++ optionals (!enableLoopback) [ "--disable-loopback" ]
|
||||
++ optionals (!enableEthernet) [ "--disable-ethernet" ]
|
||||
++ optionals (!enableWireguard) [ "--disable-wireguard" ]
|
||||
++ optionals (!enableGadget) [ "--disable-gadget" ]
|
||||
++ optionals (!enableWifi) [ "--disable-wifi" ]
|
||||
# enable IWD support for wifi as it doesn't require any new dependencies
|
||||
# and it's easier for the NixOS module to use only one connman package when
|
||||
# IWD is requested
|
||||
++ optionals (enableWifi) [ "--enable-iwd" ]
|
||||
++ optionals (!enableBluetooth) [ "--disable-bluetooth" ]
|
||||
++ optionals (!enableOfono) [ "--disable-ofono" ]
|
||||
++ optionals (!enableDundee) [ "--disable-dundee" ]
|
||||
++ optionals (!enablePacrunner) [ "--disable-pacrunner" ]
|
||||
++ optionals (!enableNeard) [ "--disable-neard" ]
|
||||
++ optionals (!enableWispr) [ "--disable-wispr" ]
|
||||
++ optionals (!enableTools) [ "--disable-tools" ]
|
||||
++ optionals (!enableStats) [ "--disable-stats" ]
|
||||
++ optionals (!enableClient) [ "--disable-client" ]
|
||||
++ optionals (!enableDatafiles) [ "--disable-datafiles" ]
|
||||
++ optionals (enableOpenconnect) [
|
||||
"--enable-openconnect=builtin"
|
||||
"--with-openconnect=${openconnect}/sbin/openconnect"
|
||||
]
|
||||
++ optionals (enableOpenvpn) [
|
||||
"--enable-openvpn=builtin"
|
||||
"--with-openvpn=${openvpn}/sbin/openvpn"
|
||||
]
|
||||
++ optionals (enableVpnc) [
|
||||
"--enable-vpnc=builtin"
|
||||
"--with-vpnc=${vpnc}/sbin/vpnc"
|
||||
]
|
||||
++ optionals (enablePolkit) [
|
||||
"--enable-polkit"
|
||||
]
|
||||
++ optionals (enablePptp) [
|
||||
"--enable-pptp"
|
||||
"--with-pptp=${pptp}/sbin/pptp"
|
||||
]
|
||||
++ optionals (!enableWireguard) [
|
||||
"--disable-wireguard"
|
||||
]
|
||||
++ optionals (enableNetworkManager) [
|
||||
"--enable-nmcompat"
|
||||
]
|
||||
++ optionals (enableHh2serialGps) [
|
||||
"--enable-hh2serial-gps"
|
||||
]
|
||||
++ optionals (enableL2tp) [
|
||||
"--enable-l2tp"
|
||||
]
|
||||
++ optionals (enableIospm) [
|
||||
"--enable-iospm"
|
||||
]
|
||||
++ optionals (enableTist) [
|
||||
"--enable-tist"
|
||||
]
|
||||
;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A daemon for managing internet connections";
|
||||
homepage = "https://git.kernel.org/pub/scm/network/connman/connman.git/";
|
||||
maintainers = [ maintainers.matejc ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2Only;
|
||||
};
|
||||
}
|
||||
35
pkgs/tools/networking/connman/connman_dmenu/default.nix
Normal file
35
pkgs/tools/networking/connman/connman_dmenu/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchFromGitHub, connman, dmenu }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "connman_dmenu";
|
||||
version = "unstable-2015-09-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "march-linux";
|
||||
repo = "connman_dmenu";
|
||||
rev = "cc89fec40b574b0d234afeb70ea3c94626ca3f5c";
|
||||
sha256 = "061fi83pai4n19l9d7wq6wwj2d7cixwkhkh742c5ibmw1wb274yk";
|
||||
};
|
||||
|
||||
buildInputs = [ connman dmenu ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
# remove root requirement, see: https://github.com/march-linux/connman_dmenu/issues/3
|
||||
postPatch = ''
|
||||
sed -i '89,92d' connman_dmenu
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp connman_dmenu $out/bin/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A dmenu wrapper for connmann";
|
||||
homepage = "https://github.com/march-linux/connman_dmenu";
|
||||
license = lib.licenses.free;
|
||||
maintainers = [ lib.maintainers.magnetophon ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
40
pkgs/tools/networking/connman/default.nix
Normal file
40
pkgs/tools/networking/connman/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ callPackage }:
|
||||
|
||||
{
|
||||
# All the defaults
|
||||
connman = callPackage ./connman.nix { };
|
||||
|
||||
connmanFull = callPackage ./connman.nix {
|
||||
# TODO: Why is this in `connmanFull` and not the default build? See TODO in
|
||||
# nixos/modules/services/networking/connman.nix (near the assertions)
|
||||
enableNetworkManager = true;
|
||||
enableHh2serialGps = true;
|
||||
enableL2tp = true;
|
||||
enableIospm = true;
|
||||
enableTist = true;
|
||||
};
|
||||
|
||||
connmanMinimal = callPackage ./connman.nix {
|
||||
enableOpenconnect = false;
|
||||
enableOpenvpn = false;
|
||||
enableVpnc = false;
|
||||
vpnc = false;
|
||||
enablePolkit = false;
|
||||
enablePptp = false;
|
||||
enableLoopback = false;
|
||||
# enableEthernet = false; # If disabled no ethernet connection can be performed
|
||||
enableWireguard = false;
|
||||
enableGadget = false;
|
||||
# enableWifi = false; # If disabled no WiFi connection can be performed
|
||||
enableBluetooth = false;
|
||||
enableOfono = false;
|
||||
enableDundee = false;
|
||||
enablePacrunner = false;
|
||||
enableNeard = false;
|
||||
enableWispr = false;
|
||||
enableTools = false;
|
||||
enableStats = false;
|
||||
enableClient = false;
|
||||
# enableDatafiles = false; # If disabled, configuration and data files are not installed
|
||||
};
|
||||
}
|
||||
39
pkgs/tools/networking/corerad/default.nix
Normal file
39
pkgs/tools/networking/corerad/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "corerad";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mdlayher";
|
||||
repo = "corerad";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JhdR1UKHnzXIUoe1shb3IZne3q198NLwRROEYuKsnW4=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-w15dRxIBzDN5i4RNEDuSfCHHb4wc4fw1B2wjlTk40iE=";
|
||||
|
||||
# Since the tarball pulled from GitHub doesn't contain git tag information,
|
||||
# we fetch the expected tag's timestamp from a file in the root of the
|
||||
# repository.
|
||||
preBuild = ''
|
||||
buildFlagsArray=(
|
||||
-ldflags="
|
||||
-X github.com/mdlayher/corerad/internal/build.linkTimestamp=$(<.gittagtime)
|
||||
-X github.com/mdlayher/corerad/internal/build.linkVersion=v${version}
|
||||
"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) corerad;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/mdlayher/corerad";
|
||||
description = "Extensible and observable IPv6 NDP RA daemon";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ mdlayher ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
23
pkgs/tools/networking/corkscrew/default.nix
Normal file
23
pkgs/tools/networking/corkscrew/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{ lib, stdenv, fetchurl, automake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "corkscrew";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://agroman.net/corkscrew/corkscrew-${version}.tar.gz";
|
||||
sha256 = "0d0fcbb41cba4a81c4ab494459472086f377f9edb78a2e2238ed19b58956b0be";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
ln -sf ${automake}/share/automake-*/config.sub config.sub
|
||||
ln -sf ${automake}/share/automake-*/config.guess config.guess
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://agroman.net/corkscrew/";
|
||||
description = "A tool for tunneling SSH through HTTP proxies";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
24
pkgs/tools/networking/crackle/default.nix
Normal file
24
pkgs/tools/networking/crackle/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ lib, stdenv, fetchFromGitHub, libpcap, coreutils }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "crackle";
|
||||
version = "unstable-2020-12-13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mikeryan";
|
||||
repo = "crackle";
|
||||
rev = "d83b4b6f4145ca53c46c36bbd7ccad751af76b75";
|
||||
sha256 = "sha256-Dy4s/hr9ySrogltyk2GVsuAvwNF5+b6CDjaD+2FaPHA=";
|
||||
};
|
||||
|
||||
buildInputs = [ libpcap ];
|
||||
|
||||
installFlags = [ "DESTDIR=$(out)" "PREFIX=" "INSTALL=${coreutils}/bin/install" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Crack and decrypt BLE encryption";
|
||||
homepage = "https://github.com/mikeryan/crackle";
|
||||
maintainers = with maintainers; [ fortuneteller2k ];
|
||||
license = licenses.bsd2;
|
||||
};
|
||||
}
|
||||
41
pkgs/tools/networking/croc/default.nix
Normal file
41
pkgs/tools/networking/croc/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, callPackage }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "croc";
|
||||
version = "9.5.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "schollz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-VXbrwUf43qvXd+/GXNA+Wkt4E5EM4+1V0wPj3JONzlU=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-45rQHG5Std7m7Xu8OEFfjdG6RyriM4yAPzJl7M2lPW8=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
local-relay = callPackage ./test-local-relay.nix { };
|
||||
};
|
||||
};
|
||||
meta = with lib; {
|
||||
description = "Easily and securely send things from one computer to another";
|
||||
longDescription = ''
|
||||
Croc is a command line tool written in Go that allows any two computers to
|
||||
simply and securely transfer files and folders.
|
||||
|
||||
Croc does all of the following:
|
||||
- Allows any two computers to transfer data (using a relay)
|
||||
- Provides end-to-end encryption (using PAKE)
|
||||
- Enables easy cross-platform transfers (Windows, Linux, Mac)
|
||||
- Allows multiple file transfers
|
||||
- Allows resuming transfers that are interrupted
|
||||
- Does not require a server or port-forwarding
|
||||
'';
|
||||
homepage = "https://github.com/schollz/croc";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hugoreeves equirosa SuperSandro2000 ];
|
||||
};
|
||||
}
|
||||
19
pkgs/tools/networking/croc/test-local-relay.nix
Normal file
19
pkgs/tools/networking/croc/test-local-relay.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ stdenv, croc }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "croc-test-local-relay";
|
||||
meta.timeout = 300;
|
||||
buildCommand = ''
|
||||
HOME=$(mktemp -d)
|
||||
# start a local relay
|
||||
${croc}/bin/croc relay --ports 11111,11112 &
|
||||
# start sender in background
|
||||
MSG="See you later, alligator!"
|
||||
${croc}/bin/croc --relay localhost:11111 send --code correct-horse-battery-staple --text "$MSG" &
|
||||
# wait for things to settle
|
||||
sleep 1
|
||||
MSG2=$(${croc}/bin/croc --relay localhost:11111 --yes correct-horse-battery-staple)
|
||||
# compare
|
||||
[ "$MSG" = "$MSG2" ] && touch $out
|
||||
'';
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
On darwin, providing SystemConfiguration to curl currently results in a
|
||||
reference loop, so we have to disable the check for it and the feature
|
||||
which requires it (NAT64).
|
||||
|
||||
Patching actual configure script here as we also don't want to require
|
||||
autoconf in the bootstrap loop just to regenerate a patched configure.ac.
|
||||
|
||||
--- a/configure 2021-10-16 00:51:59.000000000 +0100
|
||||
+++ b/configure 2021-10-16 01:06:46.000000000 +0100
|
||||
@@ -20810,7 +20810,7 @@
|
||||
if test "x$build_for_macos" != xno; then
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
printf "%s\n" "yes" >&6; }
|
||||
- LDFLAGS="$LDFLAGS -framework CoreFoundation -framework SystemConfiguration"
|
||||
+ LDFLAGS="$LDFLAGS -framework CoreFoundation"
|
||||
else
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
printf "%s\n" "no" >&6; }
|
||||
@@ -22211,9 +22211,6 @@
|
||||
fi
|
||||
|
||||
|
||||
-if test "$HAVE_GETHOSTBYNAME" != "1"; then
|
||||
- as_fn_error $? "couldn't find libraries for gethostbyname()" "$LINENO" 5
|
||||
-fi
|
||||
|
||||
|
||||
curl_includes_winsock2="\
|
||||
diff --git a/lib/curl_setup.h b/lib/curl_setup.h
|
||||
index 99048c489..19abfbbac 100644
|
||||
--- a/lib/curl_setup.h
|
||||
+++ b/lib/curl_setup.h
|
||||
@@ -247,19 +247,6 @@
|
||||
# include "setup-win32.h"
|
||||
#endif
|
||||
|
||||
-/*
|
||||
- * Use getaddrinfo to resolve the IPv4 address literal. If the current network
|
||||
- * interface doesn't support IPv4, but supports IPv6, NAT64, and DNS64,
|
||||
- * performing this task will result in a synthesized IPv6 address.
|
||||
- */
|
||||
-#if defined(__APPLE__) && !defined(USE_ARES)
|
||||
-#include <TargetConditionals.h>
|
||||
-#define USE_RESOLVE_ON_IPS 1
|
||||
-# if defined(TARGET_OS_OSX) && TARGET_OS_OSX
|
||||
-# define CURL_OSX_CALL_COPYPROXIES 1
|
||||
-# endif
|
||||
-#endif
|
||||
-
|
||||
#ifdef USE_LWIPSOCK
|
||||
# include <lwip/init.h>
|
||||
# include <lwip/sockets.h>
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
diff --git a/lib/vquic/quiche.c b/lib/vquic/quiche.c
|
||||
index bfdc966a85ea..e4bea4d677be 100644
|
||||
--- a/lib/vquic/quiche.c
|
||||
+++ b/lib/vquic/quiche.c
|
||||
@@ -201,23 +201,31 @@ static SSL_CTX *quic_ssl_ctx(struct Curl_easy *data)
|
||||
|
||||
{
|
||||
struct connectdata *conn = data->conn;
|
||||
- const char * const ssl_cafile = conn->ssl_config.CAfile;
|
||||
- const char * const ssl_capath = conn->ssl_config.CApath;
|
||||
-
|
||||
if(conn->ssl_config.verifypeer) {
|
||||
- SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, NULL);
|
||||
- /* tell OpenSSL where to find CA certificates that are used to verify
|
||||
- the server's certificate. */
|
||||
- if(!SSL_CTX_load_verify_locations(ssl_ctx, ssl_cafile, ssl_capath)) {
|
||||
- /* Fail if we insist on successfully verifying the server. */
|
||||
- failf(data, "error setting certificate verify locations:"
|
||||
- " CAfile: %s CApath: %s",
|
||||
- ssl_cafile ? ssl_cafile : "none",
|
||||
- ssl_capath ? ssl_capath : "none");
|
||||
- return NULL;
|
||||
+ const char * const ssl_cafile = conn->ssl_config.CAfile;
|
||||
+ const char * const ssl_capath = conn->ssl_config.CApath;
|
||||
+ if(ssl_cafile || ssl_capath) {
|
||||
+ SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, NULL);
|
||||
+ /* tell OpenSSL where to find CA certificates that are used to verify
|
||||
+ the server's certificate. */
|
||||
+ if(!SSL_CTX_load_verify_locations(ssl_ctx, ssl_cafile, ssl_capath)) {
|
||||
+ /* Fail if we insist on successfully verifying the server. */
|
||||
+ failf(data, "error setting certificate verify locations:"
|
||||
+ " CAfile: %s CApath: %s",
|
||||
+ ssl_cafile ? ssl_cafile : "none",
|
||||
+ ssl_capath ? ssl_capath : "none");
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ infof(data, " CAfile: %s", ssl_cafile ? ssl_cafile : "none");
|
||||
+ infof(data, " CApath: %s", ssl_capath ? ssl_capath : "none");
|
||||
}
|
||||
- infof(data, " CAfile: %s", ssl_cafile ? ssl_cafile : "none");
|
||||
- infof(data, " CApath: %s", ssl_capath ? ssl_capath : "none");
|
||||
+#ifdef CURL_CA_FALLBACK
|
||||
+ else {
|
||||
+ /* verifying the peer without any CA certificates won't work so
|
||||
+ use openssl's built-in default as fallback */
|
||||
+ SSL_CTX_set_default_verify_paths(ssl_ctx);
|
||||
+ }
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
return ssl_ctx;
|
||||
201
pkgs/tools/networking/curl/default.nix
Normal file
201
pkgs/tools/networking/curl/default.nix
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, perl, nixosTests
|
||||
, brotliSupport ? false, brotli ? null
|
||||
, c-aresSupport ? false, c-ares ? null
|
||||
, gnutlsSupport ? false, gnutls ? null
|
||||
, gsaslSupport ? false, gsasl ? null
|
||||
, gssSupport ? with stdenv.hostPlatform; (
|
||||
!isWindows &&
|
||||
# disable gss becuase of: undefined reference to `k5_bcmp'
|
||||
# a very sad story re static: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439039
|
||||
!isStatic &&
|
||||
# the "mig" tool does not configure its compiler correctly. This could be
|
||||
# fixed in mig, but losing gss support on cross compilation to darwin is
|
||||
# not worth the effort.
|
||||
!(isDarwin && (stdenv.buildPlatform != stdenv.hostPlatform))
|
||||
), libkrb5 ? null
|
||||
, http2Support ? true, nghttp2 ? null
|
||||
, http3Support ? false, nghttp3, ngtcp2 ? null
|
||||
, idnSupport ? false, libidn2 ? null
|
||||
, ldapSupport ? false, openldap ? null
|
||||
, opensslSupport ? zlibSupport, openssl ? null
|
||||
, pslSupport ? false, libpsl ? null
|
||||
, rtmpSupport ? false, rtmpdump ? null
|
||||
, scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
|
||||
, wolfsslSupport ? false, wolfssl ? null
|
||||
, zlibSupport ? true, zlib ? null
|
||||
, zstdSupport ? false, zstd ? null
|
||||
|
||||
# for passthru.tests
|
||||
, coeurl
|
||||
, curlpp
|
||||
, haskellPackages
|
||||
, ocamlPackages
|
||||
, phpExtensions
|
||||
, python3
|
||||
}:
|
||||
|
||||
# Note: this package is used for bootstrapping fetchurl, and thus
|
||||
# cannot use fetchpatch! All mutable patches (generated by GitHub or
|
||||
# cgit) that are needed here should be included directly in Nixpkgs as
|
||||
# files.
|
||||
|
||||
assert !(gnutlsSupport && opensslSupport);
|
||||
assert !(gnutlsSupport && wolfsslSupport);
|
||||
assert !(opensslSupport && wolfsslSupport);
|
||||
assert brotliSupport -> brotli != null;
|
||||
assert c-aresSupport -> c-ares != null;
|
||||
assert gnutlsSupport -> gnutls != null;
|
||||
assert gsaslSupport -> gsasl != null;
|
||||
assert gssSupport -> libkrb5 != null;
|
||||
assert http2Support -> nghttp2 != null;
|
||||
assert http3Support -> nghttp3 != null;
|
||||
assert http3Support -> ngtcp2 != null;
|
||||
assert idnSupport -> libidn2 != null;
|
||||
assert ldapSupport -> openldap != null;
|
||||
assert opensslSupport -> openssl != null;
|
||||
assert pslSupport -> libpsl !=null;
|
||||
assert rtmpSupport -> rtmpdump !=null;
|
||||
assert scpSupport -> libssh2 != null;
|
||||
assert wolfsslSupport -> wolfssl != null;
|
||||
assert zlibSupport -> zlib != null;
|
||||
assert zstdSupport -> zstd != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "curl";
|
||||
version = "7.83.1";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
|
||||
"https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
|
||||
];
|
||||
sha256 = "sha256-9Tmjb7RKgmDsXZd+Tg290u7intkPztqpvDyfeKETv/A=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./7.79.1-darwin-no-systemconfiguration.patch
|
||||
# quiche: support ca-fallback
|
||||
# https://github.com/curl/curl/commit/fdb5e21b4dd171a96cf7c002ee77bb08f8e58021
|
||||
./7.83.1-quiche-support-ca-fallback.patch
|
||||
];
|
||||
|
||||
outputs = [ "bin" "dev" "out" "man" "devdoc" ];
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config perl ];
|
||||
|
||||
# Zlib and OpenSSL must be propagated because `libcurl.la' contains
|
||||
# "-lz -lssl", which aren't necessary direct build inputs of
|
||||
# applications that use Curl.
|
||||
propagatedBuildInputs = with lib;
|
||||
optional brotliSupport brotli ++
|
||||
optional c-aresSupport c-ares ++
|
||||
optional gnutlsSupport gnutls ++
|
||||
optional gsaslSupport gsasl ++
|
||||
optional gssSupport libkrb5 ++
|
||||
optional http2Support nghttp2 ++
|
||||
optionals http3Support [ nghttp3 ngtcp2 ] ++
|
||||
optional idnSupport libidn2 ++
|
||||
optional ldapSupport openldap ++
|
||||
optional opensslSupport openssl ++
|
||||
optional pslSupport libpsl ++
|
||||
optional rtmpSupport rtmpdump ++
|
||||
optional scpSupport libssh2 ++
|
||||
optional wolfsslSupport wolfssl ++
|
||||
optional zlibSupport zlib ++
|
||||
optional zstdSupport zstd;
|
||||
|
||||
# for the second line see https://curl.haxx.se/mail/tracker-2014-03/0087.html
|
||||
preConfigure = ''
|
||||
sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
|
||||
rm src/tool_hugehelp.c
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
# Build without manual
|
||||
"--disable-manual"
|
||||
(lib.enableFeature c-aresSupport "ares")
|
||||
(lib.enableFeature ldapSupport "ldap")
|
||||
(lib.enableFeature ldapSupport "ldaps")
|
||||
# The build fails when using wolfssl with --with-ca-fallback
|
||||
(lib.withFeature (!wolfsslSupport) "ca-fallback")
|
||||
(lib.withFeature http3Support "nghttp3")
|
||||
(lib.withFeature http3Support "ngtcp2")
|
||||
(lib.withFeature rtmpSupport "librtmp")
|
||||
(lib.withFeature zstdSupport "zstd")
|
||||
(lib.withFeatureAs brotliSupport "brotli" (lib.getDev brotli))
|
||||
(lib.withFeatureAs gnutlsSupport "gnutls" (lib.getDev gnutls))
|
||||
(lib.withFeatureAs idnSupport "libidn2" (lib.getDev libidn2))
|
||||
(lib.withFeatureAs opensslSupport "openssl" (lib.getDev openssl))
|
||||
(lib.withFeatureAs scpSupport "libssh2" (lib.getDev libssh2))
|
||||
(lib.withFeatureAs wolfsslSupport "wolfssl" (lib.getDev wolfssl))
|
||||
]
|
||||
++ lib.optional gssSupport "--with-gssapi=${lib.getDev libkrb5}"
|
||||
# For the 'urandom', maybe it should be a cross-system option
|
||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
|
||||
"--with-random=/dev/urandom"
|
||||
++ lib.optionals stdenv.hostPlatform.isWindows [
|
||||
"--disable-shared"
|
||||
"--enable-static"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback to nss-cacert from the default profile.
|
||||
# Without this curl might detect /etc/ssl/cert.pem at build time on macOS, causing curl to ignore NIX_SSL_CERT_FILE.
|
||||
"--without-ca-bundle"
|
||||
"--without-ca-path"
|
||||
];
|
||||
|
||||
CXX = "${stdenv.cc.targetPrefix}c++";
|
||||
CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
|
||||
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
patchShebangs tests/
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
# bad interaction with sandbox if enabled?
|
||||
rm tests/data/test1453
|
||||
rm tests/data/test1086
|
||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
# different resolving behaviour?
|
||||
rm tests/data/test1592
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput bin/curl-config "$dev"
|
||||
|
||||
# Install completions
|
||||
make -C scripts install
|
||||
'' + lib.optionalString scpSupport ''
|
||||
sed '/^dependency_libs/s|${lib.getDev libssh2}|${lib.getLib libssh2}|' -i "$out"/lib/*.la
|
||||
'' + lib.optionalString gnutlsSupport ''
|
||||
ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary}
|
||||
ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary}.4
|
||||
ln $out/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/libcurl-gnutls${stdenv.hostPlatform.extensions.sharedLibrary}.4.4.0
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit opensslSupport openssl;
|
||||
tests = {
|
||||
inherit curlpp coeurl;
|
||||
haskell-curl = haskellPackages.curl;
|
||||
ocaml-curly = ocamlPackages.curly;
|
||||
php-curl = phpExtensions.curl;
|
||||
pycurl = python3.pkgs.pycurl;
|
||||
# Additional checking with support http3 protocol.
|
||||
inherit (nixosTests) nginx-http3;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A command line tool for transferring files with URL syntax";
|
||||
homepage = "https://curl.se/";
|
||||
license = licenses.curl;
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
platforms = platforms.all;
|
||||
# Fails to link against static brotli or gss
|
||||
broken = stdenv.hostPlatform.isStatic && (brotliSupport || gssSupport);
|
||||
};
|
||||
}
|
||||
29
pkgs/tools/networking/curlie/default.nix
Normal file
29
pkgs/tools/networking/curlie/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ buildGoModule, fetchFromGitHub, lib, curlie, testers }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "curlie";
|
||||
version = "1.6.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rs";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3EKxuEpFm+lp2myMfymYYY9boSXGOF2iAdjtGKnjJK0=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-tYZtnD7RUurhl8yccXlTIvOxybBJITM+it1ollYJ1OI=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = curlie;
|
||||
command = "curlie version";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Frontend to curl that adds the ease of use of httpie, without compromising on features and performance";
|
||||
homepage = "https://curlie.io/";
|
||||
maintainers = with maintainers; [ ma27 ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
40
pkgs/tools/networking/darkstat/default.nix
Normal file
40
pkgs/tools/networking/darkstat/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ lib, stdenv, fetchpatch, fetchurl, libpcap, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.0.719";
|
||||
pname = "darkstat";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1mzddlim6dhd7jhr4smh0n2fa511nvyjhlx76b03vx7phnar1bxf";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Avoid multiple definitions of CLOCK_REALTIME on macOS 11,
|
||||
# see https://github.com/emikulic/darkstat/pull/2
|
||||
(fetchpatch {
|
||||
url = "https://github.com/emikulic/darkstat/commit/d2fd232e1167dee6e7a2d88b9ab7acf2a129f697.diff";
|
||||
sha256 = "0z5mpyc0q65qb6cn4xcrxl0vx21d8ibzaam5kjyrcw4icd8yg4jb";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ libpcap zlib ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Network statistics web interface";
|
||||
longDescription = ''
|
||||
Captures network traffic, calculates statistics about usage, and serves
|
||||
reports over HTTP. Features:
|
||||
- Traffic graphs, reports per host, shows ports for each host.
|
||||
- Embedded web-server with deflate compression.
|
||||
- Asynchronous reverse DNS resolution using a child process.
|
||||
- Small. Portable. Single-threaded. Efficient.
|
||||
- Supports IPv6.
|
||||
'';
|
||||
homepage = "http://unix4lyfe.org/darkstat";
|
||||
license = licenses.gpl2;
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
80
pkgs/tools/networking/davix/default.nix
Normal file
80
pkgs/tools/networking/davix/default.nix
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, cmake
|
||||
, pkg-config
|
||||
, openssl
|
||||
, libxml2
|
||||
, boost
|
||||
, python3
|
||||
, libuuid
|
||||
, curl
|
||||
, gsoap
|
||||
, enableTools ? true
|
||||
# Build the bundled libcurl
|
||||
# and, if defaultToLibCurl,
|
||||
# use instead of an external one
|
||||
, useEmbeddedLibcurl ? true
|
||||
# Use libcurl instead of libneon
|
||||
# Note that the libneon used is bundled in the project
|
||||
# See https://github.com/cern-fts/davix/issues/23
|
||||
, defaultToLibcurl ? false
|
||||
, enableIpv6 ? true
|
||||
, enableTcpNodelay ? true
|
||||
# Build davix_copy.so
|
||||
, enableThirdPartyCopy ? false
|
||||
}:
|
||||
|
||||
let
|
||||
boolToUpper = b: lib.toUpper (lib.boolToString b);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.8.0";
|
||||
pname = "davix" + lib.optionalString enableThirdPartyCopy "-copy";
|
||||
nativeBuildInputs = [ cmake pkg-config python3 ];
|
||||
buildInputs = [
|
||||
openssl
|
||||
libxml2
|
||||
boost
|
||||
libuuid
|
||||
] ++ lib.optional (defaultToLibcurl && !useEmbeddedLibcurl) curl
|
||||
++ lib.optional (enableThirdPartyCopy) gsoap;
|
||||
|
||||
# using the url below since the github release page states
|
||||
# "please ignore the GitHub-generated tarballs, as they are incomplete"
|
||||
# https://github.com/cern-fts/davix/releases/tag/R_0_8_0
|
||||
src = fetchurl {
|
||||
url = "https://github.com/cern-fts/davix/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/davix-${version}.tar.gz";
|
||||
sha256 = "LxCNoECKg/tbnwxoFQ02C6cz5LOg/imNRbDTLSircSQ=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
find . -mindepth 1 -maxdepth 1 -type f -name "patch*.sh" -print0 | while IFS= read -r -d ''' file; do
|
||||
patchShebangs "$file"
|
||||
done
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_TOOLS=${boolToUpper enableTools}"
|
||||
"-DEMBEDDED_LIBCURL=${boolToUpper useEmbeddedLibcurl}"
|
||||
"-DLIBCURL_BACKEND_BY_DEFAULT=${boolToUpper defaultToLibcurl}"
|
||||
"-DENABLE_IPV6=${boolToUpper enableIpv6}"
|
||||
"-DENABLE_TCP_NODELAY=${boolToUpper enableTcpNodelay}"
|
||||
"-DENABLE_THIRD_PARTY_COPY=${boolToUpper enableThirdPartyCopy}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "Toolkit for Http-based file management";
|
||||
|
||||
longDescription = "Davix is a toolkit designed for file
|
||||
operations with Http based protocols (WebDav, Amazon S3, ...).
|
||||
Davix provides an API and a set of command line tools";
|
||||
|
||||
license = licenses.lgpl2Plus;
|
||||
homepage = "https://github.com/cern-fts/davix";
|
||||
changelog = "https://github.com/cern-fts/davix/blob/R_${lib.replaceStrings ["."] ["_"] version}/RELEASE-NOTES.md";
|
||||
maintainers = with maintainers; [ adev ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
45
pkgs/tools/networking/dcap/default.nix
Normal file
45
pkgs/tools/networking/dcap/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, autoconf
|
||||
, automake
|
||||
, libtool
|
||||
, zlib
|
||||
, cunit
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dcap";
|
||||
version = "2.47.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dCache";
|
||||
repo = "dcap";
|
||||
rev = version;
|
||||
sha256 = "sha256-pNLEN1YLQGMJNuv8n6bec3qONbwNOYbYDDvkwuP5AR4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoconf automake libtool ];
|
||||
buildInputs = [ zlib ];
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs bootstrap.sh
|
||||
./bootstrap.sh
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkInputs = [ cunit ];
|
||||
|
||||
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "dCache access protocol client library";
|
||||
homepage = "https://github.com/dCache/dcap";
|
||||
changelog = "https://github.com/dCache/dcap/blob/master/ChangeLog";
|
||||
license = licenses.lgpl2Only;
|
||||
platforms = platforms.all;
|
||||
mainProgram = "dccp";
|
||||
maintainers = with maintainers; [ ShamrockLee ];
|
||||
};
|
||||
}
|
||||
30
pkgs/tools/networking/dd-agent/40103-iostat-fix.patch
Normal file
30
pkgs/tools/networking/dd-agent/40103-iostat-fix.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
diff --git a/checks/system/unix.py b/checks/system/unix.py
|
||||
index c37af3c3..58c72626 100644
|
||||
--- a/checks/system/unix.py
|
||||
+++ b/checks/system/unix.py
|
||||
@@ -39,7 +39,7 @@ class IO(Check):
|
||||
self.value_re = re.compile(r'\d+\.\d+')
|
||||
|
||||
def _parse_linux2(self, output):
|
||||
- recentStats = output.split('Device:')[2].split('\n')
|
||||
+ recentStats = output.split('Device')[2].split('\n')
|
||||
header = recentStats[0]
|
||||
headerNames = re.findall(self.header_re, header)
|
||||
device = None
|
||||
@@ -123,14 +123,14 @@ class IO(Check):
|
||||
|
||||
# Linux 2.6.32-343-ec2 (ip-10-35-95-10) 12/11/2012 _x86_64_ (2 CPU)
|
||||
#
|
||||
- # Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
|
||||
+ # Device rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
|
||||
# sda1 0.00 17.61 0.26 32.63 4.23 201.04 12.48 0.16 4.81 0.53 1.73
|
||||
# sdb 0.00 2.68 0.19 3.84 5.79 26.07 15.82 0.02 4.93 0.22 0.09
|
||||
# sdg 0.00 0.13 2.29 3.84 100.53 30.61 42.78 0.05 8.41 0.88 0.54
|
||||
# sdf 0.00 0.13 2.30 3.84 100.54 30.61 42.78 0.06 9.12 0.90 0.55
|
||||
# md0 0.00 0.00 0.05 3.37 1.41 30.01 18.35 0.00 0.00 0.00 0.00
|
||||
#
|
||||
- # Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
|
||||
+ # Device rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
|
||||
# sda1 0.00 0.00 0.00 10.89 0.00 43.56 8.00 0.03 2.73 2.73 2.97
|
||||
# sdb 0.00 0.00 0.00 2.97 0.00 11.88 8.00 0.00 0.00 0.00 0.00
|
||||
# sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
|
||||
110
pkgs/tools/networking/dd-agent/5.nix
Normal file
110
pkgs/tools/networking/dd-agent/5.nix
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python2
|
||||
, unzip, makeWrapper }:
|
||||
let
|
||||
python' = python2.override {
|
||||
packageOverrides = self: super: {
|
||||
docker = self.buildPythonPackage rec {
|
||||
name = "docker-${version}";
|
||||
version = "1.10.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "docker";
|
||||
repo = "docker-py";
|
||||
rev = version;
|
||||
sha256 = "1awzpbrkh4fympqzddz5i3ml81b7f0i0nwkvbpmyxjjfqx6l0m4m";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with self; [
|
||||
six
|
||||
requests
|
||||
websocket-client
|
||||
docker_pycreds
|
||||
uptime
|
||||
] ++ lib.optionals (self.pythonOlder "3.7") [ backports_ssl_match_hostname ];
|
||||
|
||||
# due to flake8
|
||||
doCheck = false;
|
||||
};
|
||||
|
||||
pymongo = super.pymongo.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.9.5";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "912516ac6a355d7624374a38337b8587afe3eb535c0a5456b3bd12df637a6e70";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "5.11.2";
|
||||
pname = "dd-agent";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "datadog";
|
||||
repo = "dd-agent";
|
||||
rev = version;
|
||||
sha256 = "1iqxvgpsqibqw3vk79158l2pnb6y4pjhjp2d6724lm5rpz4825lx";
|
||||
};
|
||||
|
||||
patches = [ ./40103-iostat-fix.patch ];
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildInputs = [
|
||||
makeWrapper
|
||||
] ++ (with python'.pkgs; [
|
||||
requests
|
||||
psycopg2
|
||||
psutil
|
||||
ntplib
|
||||
simplejson
|
||||
pyyaml
|
||||
pymongo
|
||||
python-etcd
|
||||
consul
|
||||
docker
|
||||
]);
|
||||
propagatedBuildInputs = with python'.pkgs; [ python tornado ];
|
||||
|
||||
buildCommand = ''
|
||||
mkdir -p $out/bin
|
||||
cp -R $src $out/agent
|
||||
chmod u+w -R $out
|
||||
(cd $out/agent; patchPhase)
|
||||
PYTHONPATH=$out/agent:$PYTHONPATH
|
||||
ln -s $out/agent/agent.py $out/bin/dd-agent
|
||||
ln -s $out/agent/dogstatsd.py $out/bin/dogstatsd
|
||||
ln -s $out/agent/ddagent.py $out/bin/dd-forwarder
|
||||
|
||||
# Move out default conf.d so that /etc/dd-agent/conf.d is used
|
||||
mv $out/agent/conf.d $out/agent/conf.d-system
|
||||
|
||||
cat > $out/bin/dd-jmxfetch <<EOF
|
||||
#!/usr/bin/env bash
|
||||
exec ${python'.interpreter} $out/agent/jmxfetch.py $@
|
||||
EOF
|
||||
chmod a+x $out/bin/dd-jmxfetch
|
||||
|
||||
wrapProgram $out/bin/dd-forwarder \
|
||||
--prefix PYTHONPATH : $PYTHONPATH
|
||||
wrapProgram $out/bin/dd-agent \
|
||||
--prefix PYTHONPATH : $PYTHONPATH
|
||||
wrapProgram $out/bin/dogstatsd \
|
||||
--prefix PYTHONPATH : $PYTHONPATH
|
||||
wrapProgram $out/bin/dd-jmxfetch \
|
||||
--prefix PYTHONPATH : $PYTHONPATH
|
||||
|
||||
patchShebangs $out
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = ''
|
||||
Event collector for the DataDog analysis service
|
||||
-- v5 Python implementation
|
||||
'';
|
||||
homepage = "https://www.datadoghq.com";
|
||||
license = lib.licenses.bsd3;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ thoughtpolice domenkozar ];
|
||||
};
|
||||
}
|
||||
82
pkgs/tools/networking/dd-agent/datadog-agent.nix
Normal file
82
pkgs/tools/networking/dd-agent/datadog-agent.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{ lib, buildGoModule, makeWrapper, fetchFromGitHub, pythonPackages, pkg-config, systemd, hostname, extraTags ? [] }:
|
||||
|
||||
let
|
||||
# keep this in sync with github.com/DataDog/agent-payload dependency
|
||||
payloadVersion = "4.78.0";
|
||||
python = pythonPackages.python;
|
||||
owner = "DataDog";
|
||||
repo = "datadog-agent";
|
||||
goPackagePath = "github.com/${owner}/${repo}";
|
||||
|
||||
in buildGoModule rec {
|
||||
pname = "datadog-agent";
|
||||
version = "7.36.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner repo;
|
||||
rev = version;
|
||||
sha256 = "sha256-pkbgYE58T9QzV7nCzvfBoTt6Ue8cCMUBSuCBeDtdkzo=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-SxdSoZtRAdl3evCpb+3BHWf/uPYJJKgw0CL9scwNfGA=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/agent"
|
||||
"cmd/cluster-agent"
|
||||
"cmd/dogstatsd"
|
||||
"cmd/py-launcher"
|
||||
"cmd/trace-agent"
|
||||
];
|
||||
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
||||
buildInputs = [ systemd ];
|
||||
PKG_CONFIG_PATH = "${python}/lib/pkgconfig";
|
||||
|
||||
preBuild = let
|
||||
ldFlags = lib.concatStringsSep " " [
|
||||
"-X ${goPackagePath}/pkg/version.Commit=${src.rev}"
|
||||
"-X ${goPackagePath}/pkg/version.AgentVersion=${version}"
|
||||
"-X ${goPackagePath}/pkg/serializer.AgentPayloadVersion=${payloadVersion}"
|
||||
"-X ${goPackagePath}/pkg/collector/py.pythonHome=${python}"
|
||||
"-r ${python}/lib"
|
||||
];
|
||||
in ''
|
||||
buildFlagsArray=( "-tags" "ec2 systemd cpython process log secrets ${lib.concatStringsSep " " extraTags}" "-ldflags" "${ldFlags}")
|
||||
# Keep directories to generate in sync with tasks/go.py
|
||||
go generate ./pkg/status ./cmd/agent/gui
|
||||
'';
|
||||
|
||||
# DataDog use paths relative to the agent binary, so fix these.
|
||||
postPatch = ''
|
||||
sed -e "s|PyChecksPath =.*|PyChecksPath = \"$out/${python.sitePackages}\"|" \
|
||||
-e "s|distPath =.*|distPath = \"$out/share/datadog-agent\"|" \
|
||||
-i cmd/agent/common/common_nix.go
|
||||
sed -e "s|/bin/hostname|${lib.getBin hostname}/bin/hostname|" \
|
||||
-i pkg/util/hostname_nix.go
|
||||
'';
|
||||
|
||||
# Install the config files and python modules from the "dist" dir
|
||||
# into standard paths.
|
||||
postInstall = ''
|
||||
mkdir -p $out/${python.sitePackages} $out/share/datadog-agent
|
||||
cp -R $src/cmd/agent/dist/conf.d $out/share/datadog-agent
|
||||
cp -R $src/cmd/agent/dist/{checks,utils,config.py} $out/${python.sitePackages}
|
||||
|
||||
cp -R $src/pkg/status/templates $out/share/datadog-agent
|
||||
|
||||
wrapProgram "$out/bin/agent" \
|
||||
--set PYTHONPATH "$out/${python.sitePackages}" \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.getLib systemd}/lib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
Event collector for the DataDog analysis service
|
||||
-- v6 new golang implementation.
|
||||
'';
|
||||
homepage = "https://www.datadoghq.com";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ thoughtpolice domenkozar rvl ];
|
||||
};
|
||||
}
|
||||
11
pkgs/tools/networking/dd-agent/datadog-process-agent.nix
Normal file
11
pkgs/tools/networking/dd-agent/datadog-process-agent.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ lib, datadog-agent }:
|
||||
datadog-agent.overrideAttrs (attrs: {
|
||||
pname = "datadog-process-agent";
|
||||
meta = with lib;
|
||||
attrs.meta // {
|
||||
description = "Live process collector for the DataDog Agent v7";
|
||||
maintainers = with maintainers; [ domenkozar rvl ];
|
||||
};
|
||||
subPackages = [ "cmd/process-agent" ];
|
||||
postInstall = null;
|
||||
})
|
||||
92
pkgs/tools/networking/dd-agent/integrations-core.nix
Normal file
92
pkgs/tools/networking/dd-agent/integrations-core.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
# The declarations in this file build the Datadog agent's core
|
||||
# integrations. These integrations are tracked in a separate
|
||||
# repository[1] outside of the agent's primary repository and provide
|
||||
# checks for various kinds of services.
|
||||
#
|
||||
# Not all services are relevant for all users, however. As some of
|
||||
# them depend on various tools and Python packages it is nonsensical
|
||||
# to build *all* integrations by default.
|
||||
#
|
||||
# A set of default integrations is defined and built either way.
|
||||
# Additional integrations can be specified by overriding
|
||||
# `extraIntegrations` in datadog-integrations-core.
|
||||
#
|
||||
# In practice the syntax for using this with additional integrations
|
||||
# is not the most beautiful, but it works. For example to use
|
||||
# datadog-agent from the top-level with the `ntp`-integration
|
||||
# included, one could say:
|
||||
#
|
||||
# let
|
||||
# integrationsWithNtp = datadog-integrations-core {
|
||||
# # Extra integrations map from the integration name (as in the
|
||||
# # integrations-core repository) to a function that receives the
|
||||
# # Python package set and returns the required dependencies.g
|
||||
# ntp = (ps: [ ps.ntplib ]);
|
||||
# };
|
||||
#
|
||||
# in ddAgentWithNtp = datadog-agent.overrideAttrs(_ : {
|
||||
# python = integrationsWithNtp.python;
|
||||
# });
|
||||
#
|
||||
# The NixOS module 'datadog-agent' provides a simplified interface to
|
||||
# this. Please see the module itself for more information.
|
||||
#
|
||||
# [1]: https://github.com/DataDog/integrations-core
|
||||
|
||||
{ pkgs, python, extraIntegrations ? {} }:
|
||||
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "DataDog";
|
||||
repo = "integrations-core";
|
||||
rev = version;
|
||||
sha256 = "0424zsnf747s10kfzv5y0m0ac9sgczip78yvghhrc2i089i5z2h4";
|
||||
};
|
||||
version = "7.30.1";
|
||||
|
||||
# Build helper to build a single datadog integration package.
|
||||
buildIntegration = { pname, ... }@args: python.pkgs.buildPythonPackage (args // {
|
||||
inherit src version;
|
||||
name = "datadog-integration-${pname}-${version}";
|
||||
|
||||
postPatch = ''
|
||||
# jailbreak install_requires
|
||||
sed -i 's/==.*//' requirements.in
|
||||
cp requirements.in requirements.txt
|
||||
'';
|
||||
sourceRoot = "source/${args.sourceRoot or pname}";
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
# Base package depended on by all other integrations.
|
||||
datadog_checks_base = buildIntegration {
|
||||
pname = "checks-base";
|
||||
sourceRoot = "datadog_checks_base";
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
requests protobuf prometheus-client simplejson uptime
|
||||
];
|
||||
};
|
||||
|
||||
# Default integrations that should be built:
|
||||
defaultIntegrations = {
|
||||
disk = (ps: [ ps.psutil ]);
|
||||
mongo = (ps: [ ps.pymongo ]);
|
||||
network = (ps: [ ps.psutil ]);
|
||||
nginx = (ps: []);
|
||||
postgres = (ps: with ps; [ pg8000 psycopg2 ]);
|
||||
process = (ps: []);
|
||||
};
|
||||
|
||||
# All integrations (default + extra):
|
||||
integrations = defaultIntegrations // extraIntegrations;
|
||||
builtIntegrations = mapAttrs (pname: fdeps: buildIntegration {
|
||||
inherit pname;
|
||||
propagatedBuildInputs = (fdeps python.pkgs) ++ [ datadog_checks_base ];
|
||||
}) integrations;
|
||||
|
||||
in builtIntegrations // {
|
||||
inherit datadog_checks_base;
|
||||
python = python.withPackages (_: (attrValues builtIntegrations));
|
||||
}
|
||||
49
pkgs/tools/networking/ddclient/default.nix
Normal file
49
pkgs/tools/networking/ddclient/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ lib, fetchFromGitHub, perlPackages, iproute2, perl }:
|
||||
|
||||
perlPackages.buildPerlPackage rec {
|
||||
pname = "ddclient";
|
||||
version = "3.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ddclient";
|
||||
repo = "ddclient";
|
||||
rev = "v${version}";
|
||||
sha256 = "0hf377g4j9r9sac75xp17nk2h58mazswz4vkg4g2gl2yyhvzq91w";
|
||||
};
|
||||
|
||||
# perl packages by default get devdoc which isn't present
|
||||
outputs = [ "out" ];
|
||||
|
||||
buildInputs = with perlPackages; [ IOSocketSSL DigestSHA1 DataValidateIP JSONPP IOSocketInet6 ];
|
||||
|
||||
# Use iproute2 instead of ifconfig
|
||||
preConfigure = ''
|
||||
touch Makefile.PL
|
||||
substituteInPlace ddclient \
|
||||
--replace 'in the output of ifconfig' 'in the output of ip addr show' \
|
||||
--replace 'ifconfig -a' '${iproute2}/sbin/ip addr show' \
|
||||
--replace 'ifconfig $arg' '${iproute2}/sbin/ip addr show $arg' \
|
||||
--replace '/usr/bin/perl' '${perl}/bin/perl' # Until we get the patchShebangs fixed (issue #55786) we need to patch this manually
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 ddclient $out/bin/ddclient
|
||||
install -Dm644 -t $out/share/doc/ddclient COP* ChangeLog README.* RELEASENOTE
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# there are no tests distributed with ddclient
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Client for updating dynamic DNS service entries";
|
||||
homepage = "https://ddclient.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
# Mostly since `iproute` is Linux only.
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
};
|
||||
}
|
||||
102
pkgs/tools/networking/dhcp/default.nix
Normal file
102
pkgs/tools/networking/dhcp/default.nix
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
{ stdenv, fetchurl, fetchpatch, perl, file, nettools, iputils, iproute2, makeWrapper
|
||||
, coreutils, gnused, openldap ? null
|
||||
, buildPackages, lib
|
||||
|
||||
# client and relay are end of life, remove after 4.4.3
|
||||
, withClient ? false
|
||||
, withRelay ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dhcp";
|
||||
version = "4.4.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ftp.isc.org/isc/dhcp/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-Dj7GtMKgXsAUiHS82ZmmbQVRg3jXdCH2B/sLydATWBg=";
|
||||
};
|
||||
|
||||
patches =
|
||||
[
|
||||
# Make sure that the hostname gets set on reboot. Without this
|
||||
# patch, the hostname doesn't get set properly if the old
|
||||
# hostname (i.e. before reboot) is equal to the new hostname.
|
||||
./set-hostname.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ perl makeWrapper ];
|
||||
|
||||
buildInputs = [ openldap ];
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-failover"
|
||||
"--enable-execute"
|
||||
"--enable-tracing"
|
||||
"--enable-delayed-ack"
|
||||
"--enable-dhcpv6"
|
||||
"--enable-paranoia"
|
||||
"--enable-early-chroot"
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
] ++ lib.optional stdenv.isLinux "--with-randomdev=/dev/random"
|
||||
++ lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ]
|
||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "BUILD_CC=$(CC_FOR_BUILD)";
|
||||
|
||||
NIX_CFLAGS_COMPILE = builtins.toString [
|
||||
"-Wno-error=pointer-compare"
|
||||
"-Wno-error=format-truncation"
|
||||
"-Wno-error=stringop-truncation"
|
||||
"-Wno-error=format-overflow"
|
||||
"-Wno-error=stringop-overflow=8"
|
||||
];
|
||||
|
||||
installFlags = [ "DESTDIR=\${out}" ];
|
||||
|
||||
postInstall =
|
||||
''
|
||||
mv $out/$out/* $out
|
||||
DIR=$out/$out
|
||||
while rmdir $DIR 2>/dev/null; do
|
||||
DIR="$(dirname "$DIR")"
|
||||
done
|
||||
|
||||
cp client/scripts/linux $out/sbin/dhclient-script
|
||||
substituteInPlace $out/sbin/dhclient-script \
|
||||
--replace /sbin/ip ${iproute2}/sbin/ip
|
||||
wrapProgram "$out/sbin/dhclient-script" --prefix PATH : \
|
||||
"${nettools}/bin:${nettools}/sbin:${iputils}/bin:${coreutils}/bin:${gnused}/bin"
|
||||
'' + lib.optionalString (!withClient) ''
|
||||
rm $out/sbin/{dhclient,dhclient-script,.dhclient-script-wrapped}
|
||||
'' + lib.optionalString (!withRelay) ''
|
||||
rm $out/sbin/dhcrelay
|
||||
'';
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
|
||||
sed -i "includes/dhcpd.h" \
|
||||
-e "s|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
|
||||
|
||||
export AR='${stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar'
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Dynamic Host Configuration Protocol (DHCP) tools";
|
||||
|
||||
longDescription = ''
|
||||
ISC's Dynamic Host Configuration Protocol (DHCP) distribution
|
||||
provides a freely redistributable reference implementation of
|
||||
all aspects of DHCP, through a suite of DHCP tools: server,
|
||||
client, and relay agent.
|
||||
'';
|
||||
|
||||
homepage = "https://www.isc.org/dhcp/";
|
||||
license = licenses.mpl20;
|
||||
platforms = platforms.unix;
|
||||
knownVulnerabilities = lib.optional (withClient || withRelay) "The client and relay component of the dhcp package have reached their end of life";
|
||||
};
|
||||
}
|
||||
12
pkgs/tools/networking/dhcp/set-hostname.patch
Normal file
12
pkgs/tools/networking/dhcp/set-hostname.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
--- a/client/scripts/linux 2010-09-15 00:49:48.000000000 +0200
|
||||
+++ b/client/scripts/linux 2011-04-01 16:08:10.984372269 +0200
|
||||
@@ -133,9 +133,7 @@
|
||||
[ "$current_hostname" = '(none)' ] ||
|
||||
[ "$current_hostname" = 'localhost' ] ||
|
||||
[ "$current_hostname" = "$old_host_name" ]; then
|
||||
- if [ "$new_host_name" != "$old_host_name" ]; then
|
||||
- hostname "$new_host_name"
|
||||
- fi
|
||||
+ hostname "$new_host_name"
|
||||
fi
|
||||
fi
|
||||
69
pkgs/tools/networking/dhcpcd/default.nix
Normal file
69
pkgs/tools/networking/dhcpcd/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, udev
|
||||
, runtimeShellPackage
|
||||
, runtimeShell
|
||||
, nixosTests
|
||||
, enablePrivSep ? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dhcpcd";
|
||||
version = "9.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://roy/${pname}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-gZNXY07+0epc9E7AGyTT0/iFL+yLQkmSXcxWZ8VON2w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
udev
|
||||
runtimeShellPackage # So patchShebangs finds a bash suitable for the installed scripts
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace hooks/dhcpcd-run-hooks.in --replace /bin/sh ${runtimeShell}
|
||||
'';
|
||||
|
||||
preConfigure = "patchShebangs ./configure";
|
||||
|
||||
configureFlags = [
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
]
|
||||
++ (
|
||||
if ! enablePrivSep
|
||||
then [ "--disable-privsep" ]
|
||||
else [
|
||||
"--enable-privsep"
|
||||
# dhcpcd disables privsep if it can't find the default user,
|
||||
# so we explicitly specify a user.
|
||||
"--privsepuser=dhcpcd"
|
||||
]
|
||||
);
|
||||
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
# Hack to make installation succeed. dhcpcd will still use /var/db
|
||||
# at runtime.
|
||||
installFlags = [ "DBDIR=$(TMPDIR)/db" "SYSCONFDIR=${placeholder "out"}/etc" ];
|
||||
|
||||
# Check that the udev plugin got built.
|
||||
postInstall = lib.optionalString (udev != null) "[ -e ${placeholder "out"}/lib/dhcpcd/dev/udev.so ]";
|
||||
|
||||
passthru = {
|
||||
inherit enablePrivSep;
|
||||
tests = { inherit (nixosTests.networking.scripted) macvlan dhcpSimple dhcpOneIf; };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A client for the Dynamic Host Configuration Protocol (DHCP)";
|
||||
homepage = "https://roy.marples.name/projects/dhcpcd";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ eelco fpletz ];
|
||||
};
|
||||
}
|
||||
27
pkgs/tools/networking/dhcpdump/default.nix
Normal file
27
pkgs/tools/networking/dhcpdump/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchurl, libpcap, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dhcpdump";
|
||||
version = "1.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://ubuntu/pool/universe/d/dhcpdump/dhcpdump_${version}.orig.tar.gz";
|
||||
sha256 = "143iyzkqvhj4dscwqs75jvfr4wvzrs11ck3fqn5p7yv2h50vjpkd";
|
||||
};
|
||||
|
||||
buildInputs = [libpcap perl];
|
||||
|
||||
hardeningDisable = [ "fortify" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -pv $out/bin
|
||||
cp dhcpdump $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool for visualization of DHCP packets as recorded and output by tcpdump to analyze DHCP server responses";
|
||||
homepage = "http://www.mavetju.org/unix/dhcpdump-man.php";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsd2;
|
||||
};
|
||||
}
|
||||
32
pkgs/tools/networking/dhcping/default.nix
Normal file
32
pkgs/tools/networking/dhcping/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dhcping";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchurl {
|
||||
sha256 = "0sk4sg3hn88n44dxikipf3ggfj3ixrp22asb7nry9p0bkfaqdvrj";
|
||||
url = "https://www.mavetju.org/download/dhcping-${version}.tar.gz";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Send DHCP request to find out if a DHCP server is running";
|
||||
longDescription = ''
|
||||
dhcping sends either a DHCPREQUEST or DHCPINFORM packet to the server
|
||||
and waits for an answer. Then, if a DHCPREQUEST was send, it will send
|
||||
a DHCPRELEASE back to the server.
|
||||
|
||||
This program should be installed setuid root or ran by root only, as it
|
||||
requires the privileges to bind itself to port 68 (bootpc). Root
|
||||
privileges are dropped as soon as the program has bound itself to that
|
||||
port.
|
||||
'';
|
||||
homepage = "http://www.mavetju.org/unix/general.php";
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
29
pkgs/tools/networking/dibbler/default.nix
Normal file
29
pkgs/tools/networking/dibbler/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dibbler";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.klub.com.pl/dhcpv6/dibbler/${pname}-${version}.tar.gz";
|
||||
sha256 = "18bnwkvax02scjdg5z8gvrkvy1lhssfnlpsaqb5kkh30w1vri1i7";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--enable-resolvconf"
|
||||
];
|
||||
|
||||
# -fcommon: Workaround build failure on -fno-common toolchains like upstream
|
||||
# gcc-10. Otherwise build fails as:
|
||||
# ld: ./Port-linux/libLowLevel.a(libLowLevel_a-interface.o):(.bss+0x4): multiple definition of `interface_auto_up';
|
||||
# ./Port-linux/libLowLevel.a(libLowLevel_a-lowlevel-linux-link-state.o):(.bss+0x74): first defined here
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-D__APPLE_USE_RFC_2292=1" + " -fcommon";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Portable DHCPv6 implementation";
|
||||
homepage = "https://klub.com.pl/dhcpv6/";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue