push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
source 'https://rubygems.org'
gem 'ipaddr'
gem 'addressable'
gem 'json'
gem 'getoptlong'
gem 'resolv-replace'

View File

@@ -0,0 +1,26 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
getoptlong (0.2.1)
ipaddr (1.2.7)
json (2.13.2)
public_suffix (6.0.2)
resolv (0.6.2)
resolv-replace (0.1.1)
resolv
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
addressable
getoptlong
ipaddr
json
resolv-replace
BUNDLED WITH
2.7.1

View File

@@ -0,0 +1,9 @@
source 'https://rubygems.org'
gem 'ipaddr'
gem 'addressable'
gem 'json'
gem 'getoptlong'
gem 'resolv-replace'
gem 'mongo'
gem 'rchardet'

View File

@@ -0,0 +1,34 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
base64 (0.3.0)
bson (5.1.1)
getoptlong (0.2.1)
ipaddr (1.2.7)
json (2.13.2)
mongo (2.21.3)
base64
bson (>= 4.14.1, < 6.0.0)
public_suffix (6.0.2)
rchardet (1.9.0)
resolv (0.6.2)
resolv-replace (0.1.1)
resolv
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
addressable
getoptlong
ipaddr
json
mongo
rchardet
resolv-replace
BUNDLED WITH
2.7.1

View File

@@ -0,0 +1,8 @@
source 'https://rubygems.org'
gem 'ipaddr'
gem 'addressable'
gem 'json'
gem 'getoptlong'
gem 'resolv-replace'
gem 'rchardet'

View File

@@ -0,0 +1,28 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
getoptlong (0.2.1)
ipaddr (1.2.7)
json (2.13.2)
public_suffix (6.0.2)
rchardet (1.9.0)
resolv (0.6.2)
resolv-replace (0.1.1)
resolv
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
addressable
getoptlong
ipaddr
json
rchardet
resolv-replace
BUNDLED WITH
2.7.1

View File

@@ -0,0 +1,118 @@
{
addressable = {
dependencies = [ "public_suffix" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
version = "2.8.7";
};
base64 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7";
type = "gem";
};
version = "0.3.0";
};
bson = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "02q695963ix1qcdwy205rwd38mv089z54n2i5n3ih1kad864jz55";
type = "gem";
};
version = "5.1.1";
};
getoptlong = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
type = "gem";
};
version = "0.2.1";
};
ipaddr = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0wmgwqv6c1kq8cxbxddllnrlh5jjmjw73i1sqbnvq55zzn3l0zyb";
type = "gem";
};
version = "1.2.7";
};
json = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82";
type = "gem";
};
version = "2.13.2";
};
mongo = {
dependencies = [
"base64"
"bson"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "15f96bg3gr3vahwh9vslgfxl3khma21gaqgdj98jc1447w73xlf1";
type = "gem";
};
version = "2.21.3";
};
public_suffix = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
type = "gem";
};
version = "6.0.2";
};
rchardet = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1455yhd1arccrns3ghhvn4dl6gnrf4zn1xxsaa33ffyqrn399216";
type = "gem";
};
version = "1.9.0";
};
resolv = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "057vj12w6cnzz9kzbnwg17snm9jwr22izrbp9yqv3pnxrr2ybvv1";
type = "gem";
};
version = "0.6.2";
};
resolv-replace = {
dependencies = [ "resolv" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "13v8xdmsqlr9822xpcvscnr4b9vzmzhg0l7r6hh4b281baq1jda7";
type = "gem";
};
version = "0.1.1";
};
}

View File

@@ -0,0 +1,74 @@
{
addressable = {
dependencies = [ "public_suffix" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
version = "2.8.7";
};
getoptlong = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
type = "gem";
};
version = "0.2.1";
};
ipaddr = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0wmgwqv6c1kq8cxbxddllnrlh5jjmjw73i1sqbnvq55zzn3l0zyb";
type = "gem";
};
version = "1.2.7";
};
json = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82";
type = "gem";
};
version = "2.13.2";
};
public_suffix = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
type = "gem";
};
version = "6.0.2";
};
resolv = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "057vj12w6cnzz9kzbnwg17snm9jwr22izrbp9yqv3pnxrr2ybvv1";
type = "gem";
};
version = "0.6.2";
};
resolv-replace = {
dependencies = [ "resolv" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "13v8xdmsqlr9822xpcvscnr4b9vzmzhg0l7r6hh4b281baq1jda7";
type = "gem";
};
version = "0.1.1";
};
}

View File

@@ -0,0 +1,84 @@
{
addressable = {
dependencies = [ "public_suffix" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
version = "2.8.7";
};
getoptlong = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
type = "gem";
};
version = "0.2.1";
};
ipaddr = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0wmgwqv6c1kq8cxbxddllnrlh5jjmjw73i1sqbnvq55zzn3l0zyb";
type = "gem";
};
version = "1.2.7";
};
json = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82";
type = "gem";
};
version = "2.13.2";
};
public_suffix = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
type = "gem";
};
version = "6.0.2";
};
rchardet = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1455yhd1arccrns3ghhvn4dl6gnrf4zn1xxsaa33ffyqrn399216";
type = "gem";
};
version = "1.9.0";
};
resolv = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "057vj12w6cnzz9kzbnwg17snm9jwr22izrbp9yqv3pnxrr2ybvv1";
type = "gem";
};
version = "0.6.2";
};
resolv-replace = {
dependencies = [ "resolv" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "13v8xdmsqlr9822xpcvscnr4b9vzmzhg0l7r6hh4b281baq1jda7";
type = "gem";
};
version = "0.1.1";
};
}

View File

@@ -0,0 +1,118 @@
{
lib,
stdenv,
fetchFromGitHub,
bundlerEnv,
ruby_3_4,
withMongo ? false,
withRchardet ? false,
}:
let
gemdir =
if withMongo && withRchardet then
./gems
else if withMongo then
./gems
else if withRchardet then
./gems
else
./gems;
gemfile =
if withMongo then
gemdir + "/Gemfile.mongo"
else if withRchardet then
gemdir + "/Gemfile.rchardet"
else
gemdir + "/Gemfile";
lockfile =
if withMongo then
gemdir + "/Gemfile.mongo.lock"
else if withRchardet then
gemdir + "/Gemfile.rchardet.lock"
else
gemdir + "/Gemfile.lock";
gemset =
if withMongo then
gemdir + "/gemset.mongo.nix"
else if withRchardet then
gemdir + "/gemset.rchardet.nix"
else
gemdir + "/gemset.nix";
gems = bundlerEnv {
name = "whatweb-env";
inherit ruby_3_4;
inherit gemdir;
inherit gemfile lockfile gemset;
};
in
stdenv.mkDerivation rec {
pname = "whatweb";
version = "0.6.2";
src = fetchFromGitHub {
owner = "urbanadventurer";
repo = "whatweb";
rev = "v${version}";
sha256 = "sha256-EFQ4RHI1+kmlz/Bm+9KXbmY0iEBJnKfdQL5YGDWCfJQ=";
};
prePatch = ''
substituteInPlace Makefile \
--replace "/usr/local" "$out" \
--replace "/usr" "$out" \
--replace "bundle install" "echo 'Skipping bundle install in nix build'"
'';
buildInputs = [ gems ];
installPhase = ''
runHook preInstall
raw=$out/share/whatweb/whatweb
rm $out/bin/whatweb
cat << EOF >> $out/bin/whatweb
#!/bin/sh -e
export GEM_PATH="${gems}/lib/ruby/gems/3.3.0"
export RUBYOPT="-W0"
exec ${ruby_3_4}/bin/ruby "$raw" "\$@"
EOF
chmod +x $out/bin/whatweb
runHook postInstall
'';
passthru = {
withMongo = withMongo;
withRchardet = withRchardet;
};
meta = with lib; {
description = "Next generation web scanner";
longDescription = ''
WhatWeb is a website fingerprinting tool that identifies web technologies such as CMSs, blogging platforms,
analytics packages, JavaScript libraries, web servers, and embedded devices. With over 1800 plugins, it detects software
versions, email addresses, account IDs, web framework modules, SQL errors, and more. WhatWeb offers adjustable scan
modes, balancing speed and thoroughness, making it suitable for both quick reconnaissance and detailed penetration
testing. Its plugins use multiple detection methods to reliably identify technologies, even when sites attempt to
obscure their software.
''
+ lib.optionalString withMongo ''
This build includes MongoDB support and character set detection capabilities, which may impact performance.
''
+ lib.optionalString (withRchardet && !withMongo) ''
This build includes character set detection capabilities, which may impact performance.
'';
mainProgram = "whatweb";
homepage = "https://github.com/urbanadventurer/whatweb";
license = licenses.gpl2Only;
maintainers = [ ];
platforms = platforms.unix;
};
}