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,63 @@
{
appimageTools,
symlinkJoin,
lib,
fetchurl,
makeDesktopItem,
}:
let
pname = "ssb-patchwork";
version = "3.18.1";
name = "Patchwork-${version}";
src = fetchurl {
url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage";
sha256 = "F8n6LLbgkg3z55lSY60T+pn2lra8aPt6Ztepw1gf2rI=";
};
binary = appimageTools.wrapType2 {
inherit pname version src;
};
# we only use this to extract the icon
appimage-contents = appimageTools.extractType2 {
inherit pname version src;
};
desktopItem = makeDesktopItem {
name = "ssb-patchwork";
exec = "${binary}/bin/ssb-patchwork";
icon = "ssb-patchwork";
comment = "Client for the decentralized social network Secure Scuttlebutt";
desktopName = "Patchwork";
genericName = "Patchwork";
categories = [ "Network" ];
};
in
symlinkJoin {
inherit name;
paths = [ binary ];
postBuild = ''
mkdir -p $out/share/pixmaps/ $out/share/applications
cp ${appimage-contents}/ssb-patchwork.png $out/share/pixmaps
cp ${desktopItem}/share/applications/* $out/share/applications/
'';
meta = with lib; {
description = "Decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB)";
longDescription = ''
sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship.
'';
homepage = "https://www.scuttlebutt.nz/";
license = licenses.agpl3Only;
maintainers = with maintainers; [
asymmetric
picnoir
cyplo
];
mainProgram = "ssb-patchwork";
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
openssl,
autoreconfHook,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sscep";
version = "0.10.0";
src = fetchFromGitHub {
owner = "certnanny";
repo = "sscep";
rev = "v${finalAttrs.version}";
hash = "sha256-wlxQONOCLPuNdI6AyMJoLP09cs+ak7Jv9idhXTT5RWA=";
};
buildInputs = [ openssl ];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Client-only implementation of the SCEP (Cisco System's Simple Certificate Enrollment Protocol)";
homepage = "https://github.com/certnanny/sscep";
maintainers = [ lib.maintainers.stv0g ];
license = [
lib.licenses.bsd2
lib.licenses.openssl
];
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchFromGitHub,
gitUpdater,
versionCheckHook,
meson,
pkg-config,
openssl,
ding-libs,
talloc,
popt,
help2man,
ninja,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sscg";
version = "3.0.8";
src = fetchFromGitHub {
owner = "sgallagher";
repo = "sscg";
tag = "sscg-${finalAttrs.version}";
hash = "sha256-vHZuBjFs7sGIMGFWyqaW0SzzDDsrszlLmLREJtjLH2g=";
};
nativeBuildInputs = [
meson
pkg-config
ninja
];
buildInputs = [
openssl
ding-libs
talloc
popt
help2man
];
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = gitUpdater { rev-prefix = "sscg-"; };
meta = {
description = "Simple Signed Certificate Generator";
homepage = "https://github.com/sgallagher/sscg";
changelog = "https://github.com/sgallagher/sscg/blob/sscg-${finalAttrs.version}";
license = [ lib.licenses.gpl3 ];
maintainers = [ lib.maintainers.lucasew ];
mainProgram = "sscg";
};
})

View File

@@ -0,0 +1,34 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation rec {
pname = "ssdeep";
version = "2.14.1";
src = fetchFromGitHub {
owner = "ssdeep-project";
repo = "ssdeep";
rev = "release-${version}";
sha256 = "1yx6yjkggshw5yl89m4kvyzarjdg2l3hs0bbjbrfzwp1lkfd8i0c";
};
nativeBuildInputs = [ autoreconfHook ];
# remove forbidden references to $TMPDIR
preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$out"/bin/*
'';
meta = {
description = "Program for calculating fuzzy hashes";
mainProgram = "ssdeep";
homepage = "http://www.ssdeep.sf.net";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.thoughtpolice ];
};
}

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
libtool,
libuuid,
zlib,
}:
stdenv.mkDerivation {
# The files and commit messages in the repository refer to the package
# as ssdfs-utils, not ssdfs-tools.
pname = "ssdfs-utils";
# The version is taken from `configure.ac`, there are no tags.
version = "4.64";
src = fetchFromGitHub {
owner = "dubeyko";
repo = "ssdfs-tools";
rev = "46ef1ea7baa81fb009b4010700a9e00c39fb61a8";
hash = "sha256-ky0+UKqIF37tf0drNRvdi116VZsgUn2HedPeKuitHLg=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
];
buildInputs = [
libtool
libuuid
zlib
];
passthru = {
updateScript = ./update.sh;
};
meta = with lib; {
description = "SSDFS file system utilities";
homepage = "https://github.com/dubeyko/ssdfs-tools";
license = licenses.bsd3Clear;
maintainers = with maintainers; [ ners ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
set -euo pipefail
owner=dubeyko
repo=ssdfs-tools
version="$(curl --silent https://raw.githubusercontent.com/${owner}/${repo}/master/configure.ac | \
grep 'AC_INIT(ssdfs' | \
egrep -o '[0-9\.]{3,}')"
rev=$(curl -s -H "Accept: application/vnd.github.VERSION.sha" https://api.github.com/repos/${owner}/${repo}/commits/master)
update-source-version ssdfs-utils "$version" --rev="$rev"

View File

@@ -0,0 +1,41 @@
{
lib,
fetchFromGitHub,
pkg-config,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sse2neon";
version = "1.8.0";
src = fetchFromGitHub {
owner = "DLTcollab";
repo = "sse2neon";
rev = "v${finalAttrs.version}";
hash = "sha256-vb9k+KjiGodVngza0R18LjfPTlsqFbzqXZqefm6KHj0=";
};
postPatch = ''
# remove warning about gcc < 10
substituteInPlace sse2neon.h --replace-fail "#warning \"GCC versions" "// "
'';
nativeBuildInputs = [ pkg-config ];
dontInstall = true;
# use postBuild instead of installPhase, because the build
# in itself doesn't produce any ($out) output
postBuild = ''
mkdir -p $out/lib
install -m444 sse2neon.h $out/lib/
'';
meta = {
description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems";
homepage = "https://www.mono-project.com/docs/gui/libgdiplus/";
platforms = lib.platforms.unix;
license = lib.licenses.mit;
maintainers = [ lib.maintainers.gador ];
};
})

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchurl,
libX11,
}:
stdenv.mkDerivation rec {
version = "0.2";
pname = "sselp";
src = fetchurl {
url = "https://dl.suckless.org/tools/${pname}-${version}.tar.gz";
sha256 = "08mqp00lrh1chdrbs18qr0xv63h866lkmfj87kfscwdm1vn9a3yd";
};
buildInputs = [ libX11 ];
patchPhase = ''
sed -i "s@/usr/local@$out@g" config.mk
sed -i "s@/usr/X11R6/include@${libX11}/include@g" config.mk
sed -i "s@/usr/X11R6/lib@${libX11}/lib@g" config.mk
'';
meta = {
homepage = "https://tools.suckless.org/sselp";
description = "Prints the X selection to stdout, useful in scripts";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.magnetophon ];
platforms = lib.platforms.linux;
mainProgram = "sselp";
};
}

View File

@@ -0,0 +1,45 @@
{
fetchFromGitHub,
lib,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation rec {
pname = "ssh-agents";
version = "1.0.1";
src = fetchFromGitHub {
owner = "kalbasit";
repo = "ssh-agents";
rev = "v${version}";
sha256 = "1l09zy87033v7hd17lhkxikwikqz5nj9x6c2w80rqpad4lp9ihwz";
};
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Spawn and maintain multiple ssh-agents across terminals";
longDescription = ''
The SSH agent is usually spawned by running eval $(ssh-agent), however this
spawns a new SSH agent at every invocation. This project provides an
ssh-agent wrapper called ssh-agents that is capable of spawning an SSH
agent and caching the environment variables for later invocation.
Features
- One SSH agent across all terminals
- Add all un-encrypted SSH keys to the agent upon spawning. Please note
that encrypted SSH keys can only be added via ssh-add after having
started the agent.
- Ability to have different keys in different agents for security purposes.
- Multiple SSH agents
- To use multi-SSH agents, start ssh agent with the --name flag. The
given name is expected to be a folder under ~/.ssh/name containing the
keys to include in the agent.
'';
homepage = "https://github.com/kalbasit/ssh-agents";
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.unix;
mainProgram = "ssh-agents";
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
autoreconfHook,
fetchFromGitHub,
gtk2,
openssh,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ssh-askpass-fullscreen";
version = "1.3";
src = fetchFromGitHub {
owner = "atj";
repo = "ssh-askpass-fullscreen";
rev = "v${finalAttrs.version}";
hash = "sha256-1GER+SxTpbMiYLwFCwLX/hLvzCIqutyvQc9DNJ7d1C0=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
gtk2
openssh
];
strictDeps = true;
meta = {
homepage = "https://github.com/atj/ssh-askpass-fullscreen";
broken = stdenv.hostPlatform.isDarwin;
description = "Small, fullscreen SSH askpass GUI using GTK+2";
license = with lib.licenses; [ gpl2Plus ];
mainProgram = "ssh-askpass-fullscreen";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,52 @@
{
lib,
fetchFromGitHub,
installShellFiles,
nixosTests,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "ssh-audit";
version = "3.3.0";
pyproject = true;
outputs = [
"out"
"man"
];
src = fetchFromGitHub {
owner = "jtesta";
repo = "ssh-audit";
tag = "v${version}";
hash = "sha256-sjYKQpn37zH3xpuIiZAjCn0DyLqqoQDwuz7PKDfkeTM=";
};
build-system = with python3Packages; [ setuptools ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installManPage $src/ssh-audit.1
'';
nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
passthru.tests = {
inherit (nixosTests) ssh-audit;
};
meta = {
description = "Tool for ssh server auditing";
homepage = "https://github.com/jtesta/ssh-audit";
changelog = "https://github.com/jtesta/ssh-audit/releases/tag/v${version}";
license = lib.licenses.mit;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [
tv
SuperSandro2000
];
mainProgram = "ssh-audit";
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "ssh-chat";
version = "1.10.1";
src = fetchFromGitHub {
owner = "shazow";
repo = "ssh-chat";
rev = "v${version}";
hash = "sha256-LgrqIuM/tLC0JqDai2TLu6G/edZ5Q7WFXjX5bzc0Bcc=";
};
vendorHash = "sha256-QTUBorUAsWDOpNP3E/Y6ht7ZXZViWBbrMPtLl7lHtgE=";
meta = with lib; {
description = "Chat over SSH";
mainProgram = "ssh-chat";
homepage = "https://github.com/shazow/ssh-chat";
license = licenses.mit;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,38 @@
{
stdenvNoCC,
lib,
fetchFromGitHub,
python3,
openssh,
}:
stdenvNoCC.mkDerivation {
pname = "ssh-ident";
version = "2016-04-21";
src = fetchFromGitHub {
owner = "ccontavalli";
repo = "ssh-ident";
rev = "ebf8282728211dc4448d50f7e16e546ed03c22d2";
sha256 = "1jf19lz1gwn7cyp57j8d4zs5bq13iw3kw31m8nvr8h6sib2pf815";
};
postPatch = ''
substituteInPlace ssh-ident \
--replace 'ssh-agent >' '${openssh}/bin/ssh-agent >'
'';
buildInputs = [ python3 ];
installPhase = ''
mkdir -p $out/bin
install -m 755 ssh-ident $out/bin/ssh-ident
'';
meta = with lib; {
homepage = "https://github.com/ccontavalli/ssh-ident";
description = "Start and use ssh-agent and load identities as necessary";
license = licenses.bsd2;
maintainers = with maintainers; [ telotortium ];
platforms = with platforms; unix;
mainProgram = "ssh-ident";
};
}

View File

@@ -0,0 +1,63 @@
{
lib,
extraHandlers ? [ ],
fetchgit,
installShellFiles,
makeWrapper,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "ssh-import-id";
version = "5.11";
pyproject = true;
src = fetchgit {
url = "https://git.launchpad.net/ssh-import-id";
tag = version;
hash = "sha256-tYbaJGH59qyvjp4kwo3ZFVs0EaE0Lsd2CQ6iraFkAdI=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "long_description_content_type='markdown'" "long_description_content_type='text/markdown'"
'';
build-system = with python3Packages; [ setuptools ];
nativeBuildInputs = [
makeWrapper
installShellFiles
];
dependencies =
with python3Packages;
[
requests
distro
]
++ extraHandlers;
postInstall = ''
installManPage $src/usr/share/man/man1/ssh-import-id.1
'';
# Handlers require main bin, main bin requires handlers
makeWrapperArgs = [
"--prefix"
":"
"$out/bin"
];
meta = with lib; {
description = "Retrieves an SSH public key and installs it locally";
homepage = "https://launchpad.net/ssh-import-id";
license = licenses.gpl3Only;
maintainers = with maintainers; [
mkg20001
viraptor
];
mainProgram = "ssh-import-id";
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule rec {
pname = "ssh-key-confirmer";
version = "0.1";
src = fetchFromGitHub {
owner = "benjojo";
repo = "ssh-key-confirmer";
rev = "v${version}";
hash = "sha256-CXDjm8PMdCTwHnZWa0fYKel7Rmxq0XBWkfLmoVuSkKM=";
};
vendorHash = "sha256-CkfZ9dImjdka98eu4xuWZ6Xed7WX6DnXw81Ih7bhPm0=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Test ssh login key acceptance without having the private key";
homepage = "https://github.com/benjojo/ssh-key-confirmer";
license = licenses.mit;
maintainers = with maintainers; [ oxzi ];
mainProgram = "ssh-key-confirmer";
};
}

View File

@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "ssh-mitm";
version = "5.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "ssh-mitm";
repo = "ssh-mitm";
tag = version;
hash = "sha256-FmxVhYkPRZwS+zFwuId9nRGN832LRkgCNgDYb8Pg01U=";
};
pythonRelaxDeps = [ "paramiko" ];
build-system = with python3.pkgs; [
hatchling
hatch-requirements-txt
];
nativeBuildInputs = [ installShellFiles ];
dependencies =
with python3.pkgs;
[
appimage
argcomplete
colored
packaging
paramiko
pytz
pyyaml
python-json-logger
rich
tkinter
setuptools
sshpubkeys
wrapt
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ setuptools ];
# fix for darwin users
# Module has no tests
doCheck = false;
# Install man page
postInstall = ''
installManPage man1/*
'';
pythonImportsCheck = [ "sshmitm" ];
meta = {
description = "Tool for SSH security audits";
homepage = "https://github.com/ssh-mitm/ssh-mitm";
changelog = "https://github.com/ssh-mitm/ssh-mitm/blob/${version}/CHANGELOG.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ fab ];
};
}

View File

@@ -0,0 +1,13 @@
# Ideally, this file would have been placed in
# pkgs/by-name/ss/sshd-openpgp-auth/package.nix, but since `./generic.nix` is
# outside of the directory, the `nixpkgs-vet` test will fail the CI. So
# we call this file in all-packages.nix like in the old days.
{ callPackage }:
callPackage ./generic.nix {
pname = "sshd-openpgp-auth";
version = "0.3.1";
srcHash = "sha256-YS8/q8faWSRNciR03wwiiGGgkvZqb5Euto22pde53C8=";
cargoHash = "sha256-rBkKQAq1IAc4udS65RvprQe6knxyAFKxCWKGW5k5te4=";
metaDescription = "Command-line tool for creating and managing OpenPGP based trust anchors for SSH host keys";
}

View File

@@ -0,0 +1,82 @@
# This file is based upon upstream's package.nix shared among both
# "ssh-openpgp-auth" and "sshd-openpgpg-auth"
{
lib,
rustPlatform,
fetchFromGitea,
pkg-config,
just,
rust-script,
installShellFiles,
nettle,
openssl,
sqlite,
openssh,
# Arguments not supplied by callPackage
pname,
version,
srcHash,
cargoHash,
metaDescription,
}:
rustPlatform.buildRustPackage {
inherit pname version;
src = fetchFromGitea {
domain = "codeberg.org";
owner = "wiktor";
repo = "ssh-openpgp-auth";
# See also: https://codeberg.org/wiktor/ssh-openpgp-auth/pulls/92#issuecomment-1635274
rev = "${pname}/${version}";
hash = srcHash;
};
buildAndTestSubdir = pname;
inherit cargoHash;
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
just
rust-script
installShellFiles
];
# Otherwise just's build, check and install phases take precedence over
# buildRustPackage's phases.
dontUseJustBuild = true;
dontUseJustCheck = true;
dontUseJustInstall = true;
postInstall = ''
export HOME=$(mktemp -d)
just generate manpages ${pname} $out/share/man/man1
just generate shell_completions ${pname} shell_completions
installShellCompletion --cmd ${pname} \
--bash shell_completions/${pname}.bash \
--fish shell_completions/${pname}.fish \
--zsh shell_completions/_${pname}
'';
buildInputs = [
nettle
openssl
sqlite
];
doCheck = true;
nativeCheckInputs = [
openssh
];
meta = with lib; {
description = metaDescription;
homepage = "https://codeberg.org/wiktor/ssh-openpgp-auth";
license = with licenses; [
mit # or
asl20
];
maintainers = with maintainers; [ doronbehar ];
mainProgram = pname;
};
}

View File

@@ -0,0 +1,9 @@
{ callPackage }:
callPackage ./generic.nix {
pname = "ssh-openpgp-auth";
version = "0.2.3";
srcHash = "sha256-YS8/q8faWSRNciR03wwiiGGgkvZqb5Euto22pde53C8=";
cargoHash = "sha256-rBkKQAq1IAc4udS65RvprQe6knxyAFKxCWKGW5k5te4=";
metaDescription = "Command-line tool that provides client-side functionality to transparently verify the identity of remote SSH hosts";
}

View File

@@ -0,0 +1,35 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule rec {
pname = "ssh-to-age";
version = "1.2.0";
src = fetchFromGitHub {
owner = "Mic92";
repo = "ssh-to-age";
rev = version;
sha256 = "sha256-0i3h46lVyCbA4zJdjHM9GyRxZR6IsavpdDG3pdFEGjk=";
};
vendorHash = "sha256-4R+44AM0zS6WyKWfg0TH5OxmrC1c4xN0MSBgaZrWPX4=";
checkPhase = ''
runHook preCheck
go test ./...
runHook postCheck
'';
doCheck = true;
meta = with lib; {
description = "Convert ssh private keys in ed25519 format to age keys";
homepage = "https://github.com/Mic92/ssh-to-age";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
mainProgram = "ssh-to-age";
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
fetchFromGitHub,
buildGoModule,
gnupg,
}:
buildGoModule rec {
pname = "ssh-to-pgp";
version = "1.1.6";
src = fetchFromGitHub {
owner = "Mic92";
repo = "ssh-to-pgp";
rev = version;
sha256 = "sha256-h1/KWkbHpROkMRJ3pMN42/9+thlfY8BtWoOvqt7rxII=";
};
vendorHash = "sha256-2FKOonSdsAQPYttABW5xBkmXraqbTRc8ck882fmtlcI=";
nativeCheckInputs = [ gnupg ];
checkPhase = ''
HOME=$TMPDIR go test .
'';
doCheck = true;
meta = with lib; {
description = "Convert ssh private keys to PGP";
mainProgram = "ssh-to-pgp";
homepage = "https://github.com/Mic92/ssh-to-pgp";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
buildGoModule,
fetchFromGitea,
installShellFiles,
perl,
}:
buildGoModule rec {
pname = "ssh-tools";
version = "1.9";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "vaporup";
repo = "ssh-tools";
rev = "v${version}";
hash = "sha256-ZMjpc2zjvuLJES5ixEHvo7oAx1JGzy60LzN09Ykn/54=";
};
vendorHash = "sha256-GSFhz3cIRl4XUA18HUeUkrw+AJyOkU3ZrZKYTGsWbug=";
subPackages = [
"cmd/go/ssh-authorized-keys"
"cmd/go/ssh-sig"
];
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ perl ];
postInstall = ''
install cmd/{bash,perl}/ssh-*/ssh-* -t $out/bin
installManPage man/*.1
'';
meta = with lib; {
description = "Making SSH more convenient";
homepage = "https://codeberg.org/vaporup/ssh-tools";
license = licenses.gpl3Only;
maintainers = with maintainers; [ SuperSandro2000 ];
};
}

View File

@@ -0,0 +1,50 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
openssh,
openssl,
}:
buildGoModule rec {
pname = "ssh-tpm-agent";
version = "0.8.0";
src = fetchFromGitHub {
owner = "Foxboron";
repo = "ssh-tpm-agent";
tag = "v${version}";
hash = "sha256-CSxZctiQ/d4gzCUtfx9Oetb8s0XpHf3MPH/H0XaaVgg=";
};
proxyVendor = true;
vendorHash = "sha256-84ZB1B+RczJS08UToCWvvVfWrD62IQxy0XoBwn+wBkc=";
buildInputs = [
openssl
];
nativeCheckInputs = [
openssh
];
# disable broken tests, see https://github.com/NixOS/nixpkgs/pull/394097
preCheck = ''
rm cmd/scripts_test.go
substituteInPlace internal/keyring/keyring_test.go --replace-fail ENOKEY ENOENT
substituteInPlace internal/keyring/threadkeyring_test.go --replace-fail ENOKEY ENOENT
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "SSH agent with support for TPM sealed keys for public key authentication";
homepage = "https://github.com/Foxboron/ssh-tpm-agent";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ sgo ];
mainProgram = "ssh-tpm-agent";
};
}

View File

@@ -0,0 +1,31 @@
{
buildGoModule,
fetchFromGitHub,
lib,
}:
buildGoModule rec {
pname = "sshchecker";
version = "1.0";
src = fetchFromGitHub {
owner = "lazytools";
repo = "sshchecker";
rev = "v${version}";
hash = "sha256-QMc64ynPLHQGsmDOsoChgmqmpRDyMYmmSAPwAEFBK40=";
};
vendorHash = "sha256-U5nZbo2iSKP3BnxT4lkR75QutcxZB5YLzXxT045TDaY=";
meta = with lib; {
description = "Dedicated SSH brute-forcing tool";
mainProgram = "sshchecker";
longDescription = ''
sshchecker is a fast dedicated SSH brute-forcing tool to check
SSH login on the giving IP list.
'';
homepage = "https://github.com/lazytools/sshchecker";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "sshed";
version = "1.2.0";
src = fetchFromGitHub {
owner = "trntv";
repo = "sshed";
rev = version;
hash = "sha256-y8IQzOGs78T44jLcNNjPlfopyptX3Mhv2LdawqS1T+U=";
};
vendorHash = "sha256-21Vh5Zaja5rx9RVCTFQquNvMNvaUlUV6kfhkIvXwbVw=";
postFixup = ''
mv $out/bin/cmd $out/bin/sshed
'';
meta = with lib; {
description = "ssh config editor and bookmarks manager";
homepage = "https://github.com/trntv/sshed";
license = licenses.asl20;
maintainers = with maintainers; [ ocfox ];
mainProgram = "sshed";
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
buildGoModule,
fetchFromGitHub,
stdenv,
nix-update-script,
}:
buildGoModule rec {
pname = "sshesame";
version = "0.0.39";
src = fetchFromGitHub {
owner = "jaksi";
repo = "sshesame";
rev = "v${version}";
hash = "sha256-h0qvi90gbWm4LCL3FeipW8BKkbuUt0xGMTjaaeYadnE=";
};
vendorHash = "sha256-1v+cNMr2jpLPfxusPsgnFN31DwuNntXuq3sDNpWL0Rg=";
ldflags = [
"-s"
"-w"
];
hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Easy to set up and use SSH honeypot";
longDescription = ''
A fake SSH server that lets anyone in and logs their activity.
sshesame accepts and logs SSH connections and activity (channels, requests),
without doing anything on the host (e.g. executing commands, making network requests).
'';
homepage = "https://github.com/jaksi/sshesame";
license = lib.licenses.asl20;
maintainers = [ ];
mainProgram = "sshesame";
};
}

View File

@@ -0,0 +1,91 @@
{
version,
sha256,
platforms,
patches ? [ ],
}:
{
lib,
stdenv,
fetchFromGitHub,
meson,
pkg-config,
ninja,
docutils,
makeWrapper,
fuse3,
macfuse-stubs,
glib,
which,
python3Packages,
openssh,
}:
let
fuse = if stdenv.hostPlatform.isDarwin then macfuse-stubs else fuse3;
in
stdenv.mkDerivation rec {
pname = "sshfs-fuse";
inherit version;
src = fetchFromGitHub {
owner = "libfuse";
repo = "sshfs";
rev = "sshfs-${version}";
inherit sha256;
};
inherit patches;
nativeBuildInputs = [
meson
pkg-config
ninja
docutils
makeWrapper
];
buildInputs = [
fuse
glib
];
nativeCheckInputs = [
which
python3Packages.pytest
];
env.NIX_CFLAGS_COMPILE = lib.optionalString (
stdenv.hostPlatform.system == "i686-linux"
) "-D_FILE_OFFSET_BITS=64";
postInstall = ''
mkdir -p $out/sbin
ln -sf $out/bin/sshfs $out/sbin/mount.sshfs
''
+ lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
wrapProgram $out/bin/sshfs --prefix PATH : "${openssh}/bin"
'';
# doCheck = true;
checkPhase = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
# The tests need fusermount:
mkdir bin
cp ${fuse}/bin/fusermount3 bin/fusermount
export PATH=bin:$PATH
# Can't access /dev/fuse within the sandbox: "FUSE kernel module does not seem to be loaded"
substituteInPlace test/util.py --replace "/dev/fuse" "/dev/null"
# TODO: "fusermount executable not setuid, and we are not root"
# We should probably use a VM test instead
${python3Packages.python.interpreter} -m pytest test/
'';
meta = with lib; {
inherit platforms;
description = "FUSE-based filesystem that allows remote filesystems to be mounted over SSH";
longDescription = macfuse-stubs.warning;
homepage = "https://github.com/libfuse/sshfs";
license = licenses.gpl2Plus;
mainProgram = "sshfs";
maintainers = [ ];
};
}

View File

@@ -0,0 +1,14 @@
diff --git a/sshfs.c b/sshfs.c
index 97eaf06..d442577 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -14,9 +14,6 @@
#if !defined(__CYGWIN__)
#include <fuse_lowlevel.h>
#endif
-#ifdef __APPLE__
-# include <fuse_darwin.h>
-#endif
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

View File

@@ -0,0 +1,35 @@
{
lib,
stdenv,
callPackage,
fetchpatch,
}:
let
mkSSHFS = args: callPackage (import ./common.nix args) { };
in
if stdenv.hostPlatform.isDarwin then
mkSSHFS {
version = "2.10"; # macFUSE isn't yet compatible with libfuse 3.x
sha256 = "1dmw4kx6vyawcywiv8drrajnam0m29mxfswcp4209qafzx3mjlp1";
patches = [
# remove reference to fuse_darwin.h which doens't exist on recent macFUSE
./fix-fuse-darwin-h.patch
# From https://github.com/libfuse/sshfs/pull/185:
# > With this patch, setting I/O size to a reasonable large value, will
# > result in much improved performance, e.g.: -o iosize=1048576
(fetchpatch {
name = "fix-configurable-blksize.patch";
url = "https://github.com/libfuse/sshfs/commit/667cf34622e2e873db776791df275c7a582d6295.patch";
sha256 = "0d65lawd2g2aisk1rw2vl65dgxywf4vqgv765n9zj9zysyya8a54";
})
];
platforms = lib.platforms.darwin;
}
else
mkSSHFS {
version = "3.7.3";
sha256 = "0s2hilqixjmv4y8n67zaq374sgnbscp95lgz5ignp69g3p1vmhwz";
platforms = lib.platforms.linux;
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchurl,
autoreconfHook,
bison,
flex,
}:
stdenv.mkDerivation rec {
version = "2.5.1";
pname = "sshguard";
src = fetchurl {
url = "mirror://sourceforge/sshguard/${pname}-${version}.tar.gz";
sha256 = "sha256-mXoeDsKyFltHV8QviUgWLrU0GDlGr1LvxAaIXZfLifw=";
};
doCheck = true;
nativeBuildInputs = [
autoreconfHook
bison
flex
];
configureFlags = [ "--sysconfdir=/etc" ];
meta = with lib; {
description = "Protects hosts from brute-force attacks";
mainProgram = "sshguard";
longDescription = ''
SSHGuard can read log messages from various input sources. Log messages are parsed, line-by-line, for recognized patterns.
If an attack, such as several login failures within a few seconds, is detected, the offending IP is blocked.
'';
homepage = "https://sshguard.net";
license = licenses.bsd3;
maintainers = with maintainers; [ sargon ];
platforms = with platforms; linux ++ darwin ++ freebsd ++ netbsd ++ openbsd;
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "sshified";
version = "1.2.1";
src = fetchFromGitHub {
owner = "hoffie";
repo = "sshified";
tag = "v${version}";
hash = "sha256-oCeuQ4Do+Lyqsf8hBH9qvLxWbWQlqol481VrbnAW2ic=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
"-X=main.Version=${version}"
];
subPackages = [ "." ];
meta = {
description = "Proxy HTTP requests through SSH";
homepage = "https://github.com/hoffie/sshified";
changelog = "https://github.com/hoffie/sshified/blob/v${version}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ joinemm ];
mainProgram = "sshified";
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
stdenv,
fetchFromGitHub,
inotify-tools,
openssh,
perl,
gnutar,
bash,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "sshlatex";
version = "0.8";
src = fetchFromGitHub {
owner = "iblech";
repo = "sshlatex";
rev = version;
sha256 = "0kaah8is74zba9373xccmsxmnnn6kh0isr4qpg21x3qhdzhlxl7q";
};
nativeBuildInputs = [ makeWrapper ];
installPhase =
let
binPath = lib.makeBinPath [
openssh
perl
gnutar
bash
inotify-tools
];
in
''
mkdir -p $out/bin
cp sshlatex $out/bin
wrapProgram $out/bin/sshlatex --prefix PATH : "${binPath}"
'';
meta = with lib; {
description = "Collection of hacks to efficiently run LaTeX via ssh";
longDescription = ''
sshlatex is a tool which uploads LaTeX source files to a remote, runs
LaTeX there, and streams the resulting PDF file to the local host.
Because sshlatex prestarts LaTeX with the previous run's preamble,
thereby preloading the required LaTeX packages, it is also useful in a
purely local setting.
'';
homepage = "https://github.com/iblech/sshlatex";
license = lib.licenses.gpl3Plus; # actually dual-licensed gpl3Plus | lppl13cplus
platforms = lib.platforms.all;
maintainers = [ maintainers.iblech ];
mainProgram = "sshlatex";
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
}:
buildGoModule rec {
pname = "sshocker";
version = "0.3.8";
src = fetchFromGitHub {
owner = "lima-vm";
repo = "sshocker";
tag = "v${version}";
hash = "sha256-uLotIvFpJL5keVyazG+g2TOKqcZwTDqSoAOaswqliNo=";
};
vendorHash = "sha256-uzKLAHxRRw0Bx7HjANOsX0tvfmbJhclT8SP346yFGwc=";
nativeInstallCheckInputs = [ versionCheckHook ];
ldflags = [
"-s"
"-w"
"-X=github.com/lima-vm/sshocker/pkg/version.Version=${version}"
];
doInstallCheck = true;
versionCheckProgramArg = "--version";
meta = {
description = "Tool for SSH, reverse sshfs and port forwarder";
homepage = "https://github.com/lima-vm/sshocker";
changelog = "https://github.com/lima-vm/sshocker/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "sshocker";
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchzip,
jdk,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "sshoogr";
version = "0.9.26";
src = fetchzip {
url = "mirror://maven/com/aestasit/infrastructure/${pname}/${pname}/${version}/${pname}-${version}.zip";
sha256 = "134qlx90y82g1rfxhyn12z9r2imm1l3fz09hrrn3pgcdcq5jz2s1";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
rm bin/sshoogr.bat
cp -r . $out
wrapProgram $out/bin/sshoogr \
--prefix JAVA_HOME : ${jdk}
'';
meta = with lib; {
description = ''
A Groovy-based DSL for working with remote SSH servers
'';
mainProgram = "sshoogr";
longDescription = ''
The sshoogr (pronounced [ʃʊgə]) is a Groovy-based DSL library for working
with remote servers through SSH. The DSL allows: connecting, executing
remote commands, copying files and directories, creating tunnels in a
simple and concise way.
'';
homepage = "https://github.com/aestasit/sshoogr";
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ moaxcp ];
};
}

View File

@@ -0,0 +1,24 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "sshpass";
version = "1.10";
src = fetchurl {
url = "mirror://sourceforge/sshpass/sshpass-${version}.tar.gz";
sha256 = "sha256-rREGwgPLtWGFyjutjGzK/KO0BkaWGU2oefgcjXvf7to=";
};
meta = with lib; {
homepage = "https://sourceforge.net/projects/sshpass/";
description = "Non-interactive ssh password auth";
license = licenses.gpl2Plus;
maintainers = [ maintainers.madjar ];
platforms = platforms.unix;
mainProgram = "sshpass";
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchFromGitHub,
libssh,
}:
stdenv.mkDerivation rec {
pname = "sshping";
version = "0.1.4";
src = fetchFromGitHub {
owner = "spook";
repo = "sshping";
rev = "v${version}";
sha256 = "0p1fvpgrsy44yvj44xp9k9nf6z1fh0sqcjvy75pcb9f5icgms815";
};
buildInputs = [ libssh ];
buildPhase = ''
$CXX -Wall -I ext/ -o bin/sshping src/sshping.cxx -lssh
'';
installPhase = ''
install -Dm755 bin/sshping $out/bin/sshping
'';
meta = with lib; {
homepage = "https://github.com/spook/sshping";
description = "Measure character-echo latency and bandwidth for an interactive ssh session";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ jqueiroz ];
mainProgram = "sshping";
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "sshportal";
version = "1.19.5";
src = fetchFromGitHub {
owner = "moul";
repo = "sshportal";
rev = "v${version}";
sha256 = "sha256-XJ8Hgc8YoJaH2gYOvoYhcpY4qgasgyr4M+ecKJ/RXTs=";
};
ldflags = [
"-X main.GitTag=${version}"
"-X main.GitSha=${version}"
"-s"
"-w"
];
vendorHash = "sha256-4dMZwkLHS14OGQVPq5VaT/aEpHEJ/4b2P6q3/WiDicM=";
meta = with lib; {
description = "Simple, fun and transparent SSH (and telnet) bastion server";
homepage = "https://manfred.life/sshportal";
license = licenses.asl20;
maintainers = with maintainers; [ zaninime ];
mainProgram = "sshportal";
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
rustPlatform,
fetchFromGitHub,
testers,
sshs,
}:
rustPlatform.buildRustPackage rec {
pname = "sshs";
version = "4.7.2";
src = fetchFromGitHub {
owner = "quantumsheep";
repo = "sshs";
rev = version;
hash = "sha256-Xr1S6KSw3a/+TIrw2hUPpUOd22+49YMuGK2TVxfwPHU=";
};
cargoHash = "sha256-Py85+zv54KHFXjhiThTPXgJQmCImXN42ePOjazjzxIQ=";
passthru.tests.version = testers.testVersion { package = sshs; };
meta = {
description = "Terminal user interface for SSH";
homepage = "https://github.com/quantumsheep/sshs";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ not-my-segfault ];
mainProgram = "sshs";
};
}

View File

@@ -0,0 +1,79 @@
{
lib,
stdenv,
python3Packages,
fetchFromGitHub,
installShellFiles,
makeWrapper,
sphinx,
coreutils,
iptables,
net-tools,
openssh,
procps,
}:
python3Packages.buildPythonApplication rec {
pname = "sshuttle";
version = "1.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "sshuttle";
repo = "sshuttle";
tag = "v${version}";
hash = "sha256-Rvhh99DO/4J1p0JZJauOnvQZKtZBvxu+7hNnNgsXn2w=";
};
build-system = [ python3Packages.hatchling ];
nativeBuildInputs = [
installShellFiles
makeWrapper
sphinx
];
nativeCheckInputs = with python3Packages; [
pytest-cov-stub
pytestCheckHook
];
postBuild = ''
make man -C docs
'';
postInstall = ''
installManPage docs/_build/man/*
wrapProgram $out/bin/sshuttle \
--prefix PATH : "${
lib.makeBinPath (
[
coreutils
openssh
procps
]
++ lib.optionals stdenv.hostPlatform.isLinux [
iptables
net-tools
]
)
}" \
'';
meta = {
description = "Transparent proxy server that works as a poor man's VPN";
mainProgram = "sshuttle";
longDescription = ''
Forward connections over SSH, without requiring administrator access to the
target network (though it does require Python 2.7, Python 3.5 or later at both ends).
Works with Linux and Mac OS and supports DNS tunneling.
'';
homepage = "https://github.com/sshuttle/sshuttle";
changelog = "https://github.com/sshuttle/sshuttle/blob/${src.tag}/CHANGES.rst";
license = lib.licenses.lgpl21Plus;
maintainers = with lib.maintainers; [
carlosdagos
];
};
}

View File

@@ -0,0 +1,70 @@
{
lib,
buildGo125Module,
buildNpmPackage,
fetchFromGitHub,
versionCheckHook,
nixosTests,
nix-update-script,
go_1_25,
}:
buildGo125Module (finalAttrs: {
pname = "sshwifty";
version = "0.4.0-beta-release";
src = fetchFromGitHub {
owner = "nirui";
repo = "sshwifty";
tag = finalAttrs.version;
hash = "sha256-7ZfS46+aflKIQ8S9T18JjCb7bY8mB6cJl/lgJi5Hukg=";
};
sshwifty-ui = buildNpmPackage {
pname = "sshwifty-ui";
inherit (finalAttrs) version src;
npmDepsHash = "sha256-I96VixL21cF2kp9AK6q0ipjphjdWuSETKakbsprGek0=";
npmBuildScript = "generate";
postInstall = ''
cp -r application/controller/{static_pages,static_pages.go} \
$out/lib/node_modules/sshwifty-ui/application/controller
'';
nativeBuildInputs = [ go_1_25 ];
};
postPatch = ''
cp -r ${finalAttrs.sshwifty-ui}/lib/node_modules/sshwifty-ui/* .
'';
vendorHash = "sha256-kLKydjvZtFEY7vjqxK1cCwZSTbdqYWPRmxYSN0LYqsg=";
ldflags = [
"-s"
"-X github.com/nirui/sshwifty/application.version=${finalAttrs.version}"
];
postInstall = ''
find $out/bin ! -name sshwifty -type f -exec rm -rf {} \;
'';
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
passthru = {
tests = { inherit (nixosTests) sshwifty; };
updateScript = nix-update-script { };
};
meta = {
description = "WebSSH & WebTelnet client";
homepage = "https://github.com/nirui/sshwifty";
changelog = "https://github.com/nirui/sshwifty/releases/tag/${finalAttrs.version}";
license = lib.licenses.agpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ ungeskriptet ];
mainProgram = "sshwifty";
};
})

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitHub,
ninja,
cmake,
libpng,
libhwy,
lcms2,
giflib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ssimulacra2";
version = "2.1";
src = fetchFromGitHub {
owner = "cloudinary";
repo = "ssimulacra2";
hash = "sha256-gOo8WCWMdXOSmny0mQSzCvHgURQTCNBFD4G4sxfmXik=";
rev = "tags/v${finalAttrs.version}";
};
nativeBuildInputs = [
ninja
cmake
];
buildInputs = [
libpng
libhwy
lcms2
giflib
];
sourceRoot = "${finalAttrs.src.name}/src";
installPhase = ''
runHook preInstall
install -m 755 -D ssimulacra2 -t $out/bin/
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/cloudinary/ssimulacra2";
maintainers = [ maintainers.viraptor ];
license = licenses.bsd3;
description = "Perceptual image comparison tool";
};
})

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
coreutils,
fetchFromGitHub,
findutils,
gawk,
gnugrep,
gnused,
makeWrapper,
mktemp,
openssl,
which,
}:
stdenv.mkDerivation rec {
pname = "ssl-cert-check";
version = "4.14";
src = fetchFromGitHub {
owner = "Matty9191";
repo = "ssl-cert-check";
rev = "4056ceeab5abc0e39f4e0ea40cd54147253a3369";
sha256 = "07k2n4l68hykraxvy030djc208z8rqff3kc7wy4ib9g6qj7s4mif";
};
nativeBuildInputs = [
makeWrapper
];
buildInputs = [
coreutils
findutils
gawk
gnugrep
gnused
mktemp
openssl
which
];
prePatch = ''
substituteInPlace $pname --replace PATH= NOT_PATH=
'';
installPhase = ''
mkdir -p $out/bin
cp $pname $out/bin/$pname
wrapProgram $out/bin/$pname \
--set PATH "${lib.makeBinPath buildInputs}"
'';
meta = with lib; {
description = "Bourne shell script that can be used to report on expiring SSL certificates";
mainProgram = "ssl-cert-check";
homepage = "https://github.com/Matty9191/ssl-cert-check";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ryantm ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule {
pname = "ssl-proxy";
version = "0.2.7-unstable-2024-02-05";
src = fetchFromGitHub {
owner = "suyashkumar";
repo = "ssl-proxy";
rev = "6b0f364be9bbf0de46520a6b85d30792fcc3cb80";
hash = "sha256-tYAsz99YCOOEyxPp8Yp+PTn+q2Edir+xy4Vs0yyHWOQ=";
};
vendorHash = "sha256-PQ465+4AcH0wP4z2GsGdf/yABaGezaPq+eM0U2lu13o=";
checkTarget = "test";
meta = with lib; {
homepage = "https://github.com/suyashkumar/ssl-proxy";
description = "Simple single-command SSL reverse proxy with autogenerated certificates (LetsEncrypt, self-signed)";
longDescription = ''
A handy and simple way to add SSL to your thing running on a VM--be it your personal jupyter
notebook or your team jenkins instance. ssl-proxy autogenerates SSL certs and proxies
HTTPS traffic to an existing HTTP server in a single command.
'';
license = licenses.mit;
mainProgram = "ssl-proxy";
maintainers = [ maintainers.konst-aa ];
platforms = platforms.linux ++ platforms.darwin ++ platforms.windows;
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
json_c,
libnet,
libpcap,
openssl,
}:
stdenv.mkDerivation {
pname = "ssldump";
version = "1.8-unstable-2024-10-16";
src = fetchFromGitHub {
owner = "adulau";
repo = "ssldump";
rev = "a7534300bb09184fec991b3b4f19a40538b8adea";
hash = "sha256-6jmIPkyT5QCqQw07unc6nKTlxpajiLO05IFshWtCh7w=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
json_c
libnet
libpcap
openssl
];
meta = with lib; {
description = "SSLv3/TLS network protocol analyzer";
homepage = "https://ssldump.sourceforge.net";
license = with lib.licenses; [
bsdOriginal
bsdOriginalShortened
];
maintainers = with maintainers; [ aycanirican ];
platforms = platforms.unix;
mainProgram = "ssldump";
};
}

View File

@@ -0,0 +1,69 @@
{
lib,
stdenv,
fetchFromGitHub,
libcap,
libev,
libconfig,
perl,
tcp_wrappers,
pcre2,
nixosTests,
}:
stdenv.mkDerivation rec {
pname = "sslh";
version = "2.3.0";
src = fetchFromGitHub {
owner = "yrutschle";
repo = "sslh";
rev = "v${version}";
hash = "sha256-qGOOqEe9wlR3pXmYEwMQTxuMcNLLX2i/39AIAb6I4jU=";
};
postPatch = "patchShebangs *.sh";
buildInputs = [
libev
libconfig
perl
pcre2
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libcap
tcp_wrappers
];
makeFlags = lib.optionals stdenv.hostPlatform.isLinux [
"USELIBCAP=1"
"USELIBWRAP=1"
];
postInstall = ''
# install all flavours
install -p sslh-fork "$out/sbin/sslh-fork"
install -p sslh-select "$out/sbin/sslh-select"
install -p sslh-ev "$out/sbin/sslh-ev"
ln -sf sslh-fork "$out/sbin/sslh"
'';
installFlags = [ "PREFIX=$(out)" ];
hardeningDisable = [ "format" ];
passthru.tests = {
inherit (nixosTests) sslh;
};
meta = with lib; {
description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)";
license = licenses.gpl2Plus;
homepage = "https://www.rutschle.net/tech/sslh/README.html";
maintainers = with maintainers; [
koral
fpletz
];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchurl,
dpkg,
autoPatchelfHook,
}:
stdenv.mkDerivation rec {
pname = "sslmate-agent";
version = "1.99.11";
src = fetchurl {
url = "https://packages.sslmate.com/debian/pool/sslmate2/s/sslmate-client/${pname}_${version}-1_amd64.deb";
sha256 = "sha256-LBiZI0pGAFWnvTigEhtkhHq4FGdbYiMzjLheMuP0YTU=";
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
];
installPhase = ''
runHook preInstall
# Not moving etc because it only contains init.rd setttings
mv usr $out
mv lib $out
substituteInPlace $out/lib/systemd/system/sslmate-agent.service \
--replace "/usr/s" "$out/"
runHook postInstall
'';
meta = with lib; {
description = "Daemon for managing SSL/TLS certificates on a server";
homepage = "https://sslmate.com/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchurl,
perlPackages,
makeWrapper,
openssl,
}:
stdenv.mkDerivation rec {
pname = "sslmate";
version = "1.9.1";
src = fetchurl {
url = "https://packages.sslmate.com/other/${pname}-${version}.tar.gz";
sha256 = "sha256-F5szGn1cbw7R3lHMocM7as1RS/uaBqKCsvOxA+rXDOc=";
};
makeFlags = [ "PREFIX=$(out)" ];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perlPackages.perl ];
postInstall = ''
wrapProgram $out/bin/sslmate --prefix PERL5LIB : \
"${
with perlPackages;
makePerlPath [
URI
JSONPP
TermReadKey
]
}" \
--prefix PATH : "${openssl.bin}/bin"
'';
meta = with lib; {
homepage = "https://sslmate.com";
maintainers = [ ];
description = "Easy to buy, deploy, and manage your SSL certs";
mainProgram = "sslmate";
platforms = platforms.unix;
license = licenses.mit; # X11
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
openssl,
libevent,
libpcap,
libnet,
zlib,
}:
stdenv.mkDerivation rec {
pname = "sslsplit";
version = "0.5.5";
src = fetchFromGitHub {
owner = "droe";
repo = "sslsplit";
rev = version;
sha256 = "1p43z9ln5rbc76v0j1k3r4nhvfw71hq8jzsallb54z9hvwfvqp3l";
};
patches = [
(fetchpatch {
name = "fix-openssl-3-build.patch";
url = "https://github.com/droe/sslsplit/commit/e17de8454a65d2b9ba432856971405dfcf1e7522.patch";
hash = "sha256-sEwP7f2PSqXdMqLub9zrfQgH8I4oe9klVPzNpJjrPJ8=";
})
];
buildInputs = [
openssl
libevent
libpcap
libnet
zlib
];
makeFlags = [
"PREFIX=$(out)"
"OPENSSL_BASE=${openssl.dev}"
"LIBEVENT_BASE=${libevent.dev}"
"LIBPCAP_BASE=${libpcap}"
"LIBNET_BASE=${libnet}"
];
meta = with lib; {
description = "Transparent SSL/TLS interception";
homepage = "https://www.roe.ch/SSLsplit";
platforms = platforms.all;
maintainers = with maintainers; [ contrun ];
license = with licenses; [
bsd2
mit
unlicense
free
];
mainProgram = "sslsplit";
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "sslstrip";
version = "2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "L1ghtn1ng";
repo = "sslstrip";
tag = version;
hash = "sha256-iPWpbRmAUf0Yf5MDlpln1JLBxMIdmr/Ggk2ZGeQzm8s=";
};
postPatch = ''
# https://github.com/L1ghtn1ng/sslstrip/pull/58
substituteInPlace setup.py \
--replace-fail "README" "README.md"
'';
nativeBuildInputs = with python3.pkgs; [
setuptools
];
propagatedBuildInputs = with python3.pkgs; [
cryptography
pyopenssl
service-identity
twisted
];
# Project has no test
doCheck = false;
pythonImportsCheck = [
"sslstrip"
];
meta = {
description = "Tool for exploiting SSL stripping attacks";
homepage = "https://github.com/L1ghtn1ng/sslstrip";
changelog = "https://github.com/L1ghtn1ng/sslstrip/releases/tag/${version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "sslstrip";
};
}

View File

@@ -0,0 +1,96 @@
From e246c4f87c1af78be5f5a76f79bd66c27d63918f Mon Sep 17 00:00:00 2001
From: Paul Meyer <49727155+katexochen@users.noreply.github.com>
Date: Wed, 3 Jul 2024 21:38:15 +0200
Subject: [PATCH] module support
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
---
go.mod | 26 ++++++++++++++++++++++++++
go.sum | 42 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 68 insertions(+)
create mode 100644 go.mod
create mode 100644 go.sum
diff --git a/go.mod b/go.mod
new file mode 100644
index 00000000..51c79d4c
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,26 @@
+module github.com/aws/session-manager-plugin
+
+go 1.22.3
+
+require (
+ github.com/aws/aws-sdk-go v1.54.14
+ github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575
+ github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203
+ github.com/fsnotify/fsnotify v1.7.0
+ github.com/gorilla/websocket v1.5.3
+ github.com/stretchr/testify v1.9.0
+ github.com/twinj/uuid v0.0.0-20151029044442-89173bcdda19
+ github.com/xtaci/smux v1.5.24
+ golang.org/x/crypto v0.24.0
+ golang.org/x/sync v0.7.0
+ golang.org/x/sys v0.21.0
+)
+
+require (
+ github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/jmespath/go-jmespath v0.4.0 // indirect
+ github.com/pmezard/go-difflib v1.0.0 // indirect
+ github.com/stretchr/objx v0.5.2 // indirect
+ golang.org/x/term v0.21.0 // indirect
+ gopkg.in/yaml.v3 v3.0.1 // indirect
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 00000000..ca623749
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,42 @@
+github.com/aws/aws-sdk-go v1.54.14 h1:llJ60MzLzovyDE/rEDbUjS1cICh7krk1PwQwNlKRoeQ=
+github.com/aws/aws-sdk-go v1.54.14/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
+github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 h1:kHaBemcxl8o/pQ5VM1c8PVE1PubbNx3mjUr09OqWGCs=
+github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 h1:XBBHcIb256gUJtLmY22n99HaZTz+r2Z51xUPi01m3wg=
+github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203/go.mod h1:E1jcSv8FaEny+OP/5k9UxZVw9YFWGj7eI4KR/iOBqCg=
+github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
+github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
+github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
+github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
+github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
+github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
+github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
+github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
+github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+github.com/twinj/uuid v0.0.0-20151029044442-89173bcdda19 h1:HlxV0XiEKMMyjS3gGtJmmFZsxQ22GsLvA7F980il+1w=
+github.com/twinj/uuid v0.0.0-20151029044442-89173bcdda19/go.mod h1:mMgcE1RHFUFqe5AfiwlINXisXfDGro23fWdPUfOMjRY=
+github.com/xtaci/smux v1.5.24 h1:77emW9dtnOxxOQ5ltR+8BbsX1kzcOxQ5gB+aaV9hXOY=
+github.com/xtaci/smux v1.5.24/go.mod h1:OMlQbT5vcgl2gb49mFkYo6SMf+zP3rcjcwQz7ZU7IGY=
+golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
+golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
+golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
+golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
+golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
+golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
+gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
--
2.45.1

View File

@@ -0,0 +1,80 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule rec {
pname = "ssm-session-manager-plugin";
version = "1.2.707.0";
src = fetchFromGitHub {
owner = "aws";
repo = "session-manager-plugin";
rev = version;
hash = "sha256-4DPwFKt5pNNl4AczgIhZA7CuBHx7q41jMZKenDFYmwg=";
};
patches = [
# Add support for Go modules.
#
# This patch doesn't belong to any upstream PR, it is specially crafted for
# nixpkgs. Deleting the vendor dir is left out from the patch and done in
# postPatch instead, as otherwise the patch would be to big and GitHub returns
# an error.
#
# With https://github.com/aws/session-manager-plugin/pull/74 there is an
# upstream PR with the same goal. It isn't pulled here as patch for the same
# reason.
#
# Notice that the dependencies are pinned with the patch, and upstream dependency
# updates won't take effect. Patch should be recreated from time to time.
# - `rm -rf vendor`
# - `go mod init github.com/aws/session-manager-plugin`
# - `go mod tidy`
# - `go get github.com/twinj/uuid@v0.0.0-20151029044442-89173bcdda19`
# - `go mod tidy`
# - `git checkout HEAD vendor`
./0001-module-support.patch
];
postPatch = ''
rm -rf vendor
'';
vendorHash = "sha256-wK+aWRC5yrPtdihXAj6RlYC9ZTTPuGUg9wLY33skzeE=";
subPackages = [ "src/sessionmanagerplugin-main" ];
preBuild = ''
echo -n ${lib.escapeShellArg version} > VERSION
go run src/version/versiongenerator/version-gen.go
'';
doCheck = true;
checkFlags = [ "-skip=TestSetSessionHandlers" ];
# The AWS CLI is expecting the binary name to be 'session-manager-plugin' and
# since the outfile is different the following workaround is renaming the binary.
postBuild = ''
mv $GOPATH/bin/sessionmanagerplugin-main $GOPATH/bin/${meta.mainProgram}
'';
preCheck = ''
if ! [[ $($GOPATH/bin/${meta.mainProgram} --version) = ${lib.escapeShellArg version} ]]; then
echo 'wrong version'
exit 1
fi
'';
meta = {
homepage = "https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html";
description = "Amazon SSM Session Manager Plugin";
mainProgram = "session-manager-plugin";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
amarshall
mbaillie
ryan4yin
];
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
buildGoModule,
fetchFromGitHub,
testers,
ssmsh,
}:
buildGoModule rec {
pname = "ssmsh";
version = "1.4.9";
src = fetchFromGitHub {
owner = "bwhaley";
repo = "ssmsh";
rev = "v${version}";
sha256 = "sha256-UmfwDukRVyfX+DmUfRi+KepqFrPtDNImKd22/dI7ytk=";
};
vendorHash = "sha256-+7duWRe/haBOZbe18sr2qwg419ieEZwYDb0L3IPLA4A=";
doCheck = true;
ldflags = [
"-w"
"-s"
"-X main.Version=${version}"
];
passthru.tests = testers.testVersion {
package = ssmsh;
command = "ssmsh -version";
version = "Version ${version}";
};
meta = with lib; {
homepage = "https://github.com/bwhaley/ssmsh";
description = "Interactive shell for AWS Parameter Store";
license = licenses.mit;
maintainers = with maintainers; [ dbirks ];
mainProgram = "ssmsh";
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchFromGitHub,
imlib2,
libX11,
pkg-config,
}:
stdenv.mkDerivation rec {
pname = "ssocr";
version = "2.25.0";
src = fetchFromGitHub {
owner = "auerswal";
repo = "ssocr";
rev = "v${version}";
sha256 = "sha256-yQPjs4kGvp6C7kFcWQ3EzoFhwEAhm2nC7yXu9RbU4os=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
imlib2
libX11
];
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Seven Segment Optical Character Recognition";
homepage = "https://github.com/auerswal/ssocr";
license = licenses.gpl3;
maintainers = [ maintainers.kroell ];
mainProgram = "ssocr";
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "ssrc";
version = "1.33";
src = fetchFromGitHub {
owner = "shibatch";
repo = "SSRC";
rev = "4adf75116dfc0ef709fef74a0e2f3360bd15007f";
sha256 = "0hgma66v7sszkpz5jkyscj0q6lmjfqdwf1hw57535c012pa2vdrh";
};
installPhase = ''
mkdir -p $out/bin
cp ssrc ssrc_hp $out/bin
'';
meta = with lib; {
description = "High quality audio sampling rate converter";
longDescription = ''
This program converts sampling rates of PCM wav files. This
program also has a function to apply dither to its output and
extend perceived dynamic range.
Sampling rates of 44.1kHz and 48kHz are popularly used, but the
ratio between these two frequencies is 147:160, which are not
small numbers. As a result, sampling rate conversion without
degradation of sound quality requires filter with very large
order, and it is difficult to have both quality and speed. This
program quickly converts between these sampling frequencies
without audible degradation.
'';
version = version;
homepage = "https://shibatch.sourceforge.net/";
license = licenses.gpl2;
maintainers = with maintainers; [ leenaars ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,21 @@
diff --git a/Cargo.lock b/Cargo.lock
index a57c5d8..27278d9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
+version = 3
+
[[package]]
name = "aho-corasick"
version = "0.7.15"
@@ -253,7 +255,7 @@ dependencies = [
[[package]]
name = "shamirsecretsharing-cli"
-version = "0.1.0"
+version = "0.1.1"
dependencies = [
"atty",
"clap",

View File

@@ -0,0 +1,28 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "sss-cli";
version = "0.1.1";
src = fetchFromGitHub {
owner = "dsprenkels";
repo = "sss-cli";
rev = "v${version}";
hash = "sha256-9Wht+t48SsWpj1z2yY6P7G+h9StmuqfMdODtyPffhak=";
};
cargoPatches = [ ./fix-cargo-lock.patch ];
cargoHash = "sha256-yutjlaqLf8R8KmdeKF+CHz/s/b6T+GB9bOl2liMBmMQ=";
meta = with lib; {
homepage = "https://github.com/dsprenkels/sss-cli";
description = "Command line program for secret-sharing strings";
license = licenses.mit;
maintainers = with maintainers; [ laalsaas ];
};
}

View File

@@ -0,0 +1,49 @@
{
rustPlatform,
fetchFromGitHub,
pkg-config,
fontconfig,
libiconv,
stdenv,
libxcb,
lib,
}:
rustPlatform.buildRustPackage rec {
pname = "sss_code";
version = "0.2.0";
src = fetchFromGitHub {
owner = "SergioRibera";
repo = "sss";
rev = "sss_code/v${version}";
hash = "sha256-AmJFAwHfG4R2iRz9zNeZsVFLptVy499ozQ7jgwnevOo=";
};
cargoHash = "sha256-qeDZgrGPSz+wXolZeVb2FFHjLzl1+vjzMN/3NCgaf/s=";
cargoBuildFlags = [
"-p"
"sss_code"
];
nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.buildPlatform.isDarwin [ libiconv ];
buildInputs = [
fontconfig
libxcb
];
doCheck = false;
meta = with lib; {
description = "Libraries and tools for building screenshots in a high-performance image format";
mainProgram = "sss_code";
homepage = "https://github.com/SergioRibera/sss";
license = with licenses; [
asl20
mit
];
maintainers = with maintainers; [ krovuxdev ];
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
stdenv,
fetchFromGitHub,
ncurses,
}:
stdenv.mkDerivation rec {
pname = "sssnake";
version = "0.3.2";
src = fetchFromGitHub {
owner = "angeljumbo";
repo = "sssnake";
rev = "v${version}";
hash = "sha256-zkErOV6Az0kJdwyXzMCnVW1997zpAB79TBvf/41Igic=";
};
postPatch = ''
substituteInPlace makefile --replace '-lncursesw' '-lncursesw -D_XOPEN_SOURCE=500'
'';
buildInputs = [ ncurses ];
makeFlags = [
"PREFIX=$(out)"
];
meta = with lib; {
description = "Cli snake game that plays itself";
mainProgram = "sssnake";
homepage = "https://github.com/angeljumbo/sssnake";
license = with licenses; [ mit ];
platforms = platforms.unix;
maintainers = with maintainers; [ quantenzitrone ];
};
}

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitHub,
gmp,
installShellFiles,
}:
stdenv.mkDerivation rec {
pname = "ssss";
version = "0.5.7";
src = fetchFromGitHub {
owner = "MrJoy";
repo = "ssss";
rev = "releases%2Fv${version}";
sha256 = "18r1hwch6nq6gjijavr4pvrxz2plrlrvdx8ssqhdj2vmqvlqwbvd";
};
nativeBuildInputs = [
installShellFiles
];
buildInputs = [
gmp
];
preBuild = ''
sed -e s@/usr/@$out/@g -i Makefile
cp ssss.manpage.xml ssss.1
mkdir -p $out/bin
echo -e 'install:\n\tcp ssss-combine ssss-split '"$out"'/bin' >>Makefile
'';
postInstall = ''
installManPage ssss.1
'';
meta = with lib; {
description = "Shamir Secret Sharing Scheme";
homepage = "http://point-at-infinity.org/ssss/";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchFromGitLab,
pkg-config,
ppp,
libevent,
openssl,
autoreconfHook,
}:
stdenv.mkDerivation {
pname = "sstp-client";
version = "unstable-2023-03-25";
src = fetchFromGitLab {
owner = "sstp-project";
repo = "sstp-client";
rev = "3f7835df9ac5e84729903ca536cf65e4a7b04c6c";
hash = "sha256-8VF5thSABqf5SXEDCa+0dyDt7kVrQcs6deWLlYWM8dg=";
};
postPatch = ''
sed 's,/usr/sbin/pppd,${ppp}/sbin/pppd,' -i src/sstp-pppd.c
sed "s,sstp-pppd-plugin.so,$out/lib/pppd/sstp-pppd-plugin.so," -i src/sstp-pppd.c
'';
configureFlags = [
"--with-openssl=${openssl.dev}"
"--with-runtime-dir=/run/sstpc"
"--with-pppd-plugin-dir=$(out)/lib/pppd"
];
nativeBuildInputs = [
pkg-config
autoreconfHook
];
buildInputs = [
libevent
openssl
ppp
];
meta = with lib; {
description = "SSTP client for Linux";
homepage = "https://sstp-client.sourceforge.net/";
platforms = platforms.linux;
maintainers = [ ];
license = licenses.gpl2Plus;
mainProgram = "sstpc";
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
gtk3,
}:
stdenv.mkDerivation rec {
pname = "ssw";
version = "0.10";
src = fetchurl {
url = "https://alpha.gnu.org/gnu/ssw/spread-sheet-widget-${version}.tar.gz";
sha256 = "sha256-gGkuw1AnGZXhR9x1mSnN1507ZF5rXvqmtX9NLQXoR+U=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk3 ];
meta = with lib; {
homepage = "https://www.gnu.org/software/ssw/";
license = licenses.gpl3;
description = "GNU Spread Sheet Widget";
platforms = platforms.linux;
};
}