From fcc470182958ef8ed0b0d468e4119e64a565abbe Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 11 Jul 2026 12:31:44 +0200 Subject: Move SecLists, exploitdb, feroxbuster, ffuf, gobuster, nuclei from pentesting-suite Deduplicate: these six are danix-maintained on SBo. ffuf and gobuster synced to current SBo (arch-independent .info). Others carry local versions ahead of SBo for later update submission. Co-Authored-By: Claude Opus 4.8 --- SecLists/README | 8 ++ SecLists/SecLists.SlackBuild | 78 +++++++++++ SecLists/SecLists.info | 10 ++ SecLists/slack-desc | 19 +++ exploitdb/README | 20 +++ exploitdb/exploitdb.SlackBuild | 83 ++++++++++++ exploitdb/exploitdb.info | 11 ++ exploitdb/slack-desc | 19 +++ feroxbuster/README | 46 +++++++ feroxbuster/doinst.sh | 14 ++ feroxbuster/feroxbuster.SlackBuild | 150 +++++++++++++++++++++ feroxbuster/feroxbuster.info | 12 ++ feroxbuster/slack-desc | 19 +++ ffuf/README | 10 ++ ffuf/ffuf.1.gz | Bin 0 -> 2932 bytes ffuf/ffuf.SlackBuild | 110 +++++++++++++++ ffuf/ffuf.info | 10 ++ ffuf/slack-desc | 19 +++ gobuster/README | 27 ++++ gobuster/gobuster.SlackBuild | 107 +++++++++++++++ gobuster/gobuster.info | 10 ++ gobuster/slack-desc | 19 +++ nuclei/README | 21 +++ nuclei/nuclei.SlackBuild | 129 ++++++++++++++++++ nuclei/nuclei.info | 10 ++ nuclei/patches/Build-doc.patch | 31 +++++ ...nge-default-directory-of-nuclei-templates.patch | 25 ++++ nuclei/patches/Disable-update.patch | 22 +++ nuclei/patches/series | 3 + nuclei/slack-desc | 19 +++ 30 files changed, 1061 insertions(+) create mode 100644 SecLists/README create mode 100755 SecLists/SecLists.SlackBuild create mode 100644 SecLists/SecLists.info create mode 100644 SecLists/slack-desc create mode 100644 exploitdb/README create mode 100644 exploitdb/exploitdb.SlackBuild create mode 100644 exploitdb/exploitdb.info create mode 100644 exploitdb/slack-desc create mode 100644 feroxbuster/README create mode 100644 feroxbuster/doinst.sh create mode 100644 feroxbuster/feroxbuster.SlackBuild create mode 100644 feroxbuster/feroxbuster.info create mode 100644 feroxbuster/slack-desc create mode 100644 ffuf/README create mode 100644 ffuf/ffuf.1.gz create mode 100755 ffuf/ffuf.SlackBuild create mode 100644 ffuf/ffuf.info create mode 100644 ffuf/slack-desc create mode 100644 gobuster/README create mode 100755 gobuster/gobuster.SlackBuild create mode 100644 gobuster/gobuster.info create mode 100644 gobuster/slack-desc create mode 100644 nuclei/README create mode 100644 nuclei/nuclei.SlackBuild create mode 100644 nuclei/nuclei.info create mode 100644 nuclei/patches/Build-doc.patch create mode 100644 nuclei/patches/Change-default-directory-of-nuclei-templates.patch create mode 100644 nuclei/patches/Disable-update.patch create mode 100644 nuclei/patches/series create mode 100644 nuclei/slack-desc diff --git a/SecLists/README b/SecLists/README new file mode 100644 index 0000000..5f86af5 --- /dev/null +++ b/SecLists/README @@ -0,0 +1,8 @@ +SecLists - The Pentester's Companion + +SecLists is the security tester's companion. It's a collection of +multiple types of lists used during security assessments, collected +in one place. List types include usernames, passwords, URLs, sensitive +data patterns, fuzzing payloads, web shells, and many more. The goal +is to enable a security tester to pull this repository onto a new +testing box and have access to every type of list that may be needed. diff --git a/SecLists/SecLists.SlackBuild b/SecLists/SecLists.SlackBuild new file mode 100755 index 0000000..9729388 --- /dev/null +++ b/SecLists/SecLists.SlackBuild @@ -0,0 +1,78 @@ +#!/bin/bash + +# Slackware build script for SecLists + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=SecLists +VERSION=${VERSION:-2026.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +ARCH=noarch + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# We'll put our lists in /usr/share/seclists (same as kali) +mkdir -p $PKG/usr/share/seclists +cp -a Ai Discovery Fuzzing Miscellaneous Passwords Pattern-Matching \ + Payloads Usernames Web-Shells $PKG/usr/share/seclists + +# Strip binaries and libraries. +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + CONTRIBUTING.md CONTRIBUTORS.md LICENSE README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SecLists/SecLists.info b/SecLists/SecLists.info new file mode 100644 index 0000000..b7f7de6 --- /dev/null +++ b/SecLists/SecLists.info @@ -0,0 +1,10 @@ +PRGNAM="SecLists" +VERSION="2026.1" +HOMEPAGE="https://github.com/danielmiessler/SecLists" +DOWNLOAD="https://github.com/danielmiessler/SecLists/archive/2026.1/SecLists-2026.1.tar.gz" +MD5SUM="3afb931967e8b2e7586ed122b59ac8dd" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/SecLists/slack-desc b/SecLists/slack-desc new file mode 100644 index 0000000..358ec62 --- /dev/null +++ b/SecLists/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +SecLists: SecLists (the security tester's companion.) +SecLists: +SecLists: It's a collection of multiple types of lists used during security +SecLists: assessments, collected in one place. +SecLists: List types include usernames, passwords, URLs, sensitive data +SecLists: patterns, fuzzing payloads, web shells, and many more. +SecLists: The goal is to enable a security tester to pull this repository +SecLists: onto a new testing box and have access to every type of list +SecLists: that may be needed. +SecLists: +SecLists: Repository: https://github.com/danielmiessler/SecLists diff --git a/exploitdb/README b/exploitdb/README new file mode 100644 index 0000000..30c295c --- /dev/null +++ b/exploitdb/README @@ -0,0 +1,20 @@ +The Exploit Database official repository + +The Exploit Database is an archive of public exploits and corresponding +vulnerable software, developed for use by penetration testers and +vulnerability researchers. + +Its aim is to serve as the most comprehensive collection of exploits, +shellcode and papers gathered through direct submissions, mailing +lists, and other public sources, and present them in a +freely-available and easy-to-navigate database + +This package contains also the binary exploits distribution which is +around 1.1GB in size so it will produce a fairly large package. + +NOTE: +This package contains dangerous software, you don't want to have it on +your publicly reachable server on the internet. Exercise caution when +operating with vulnerable software and always ask for permission before +testing this software on someone else's machine. + diff --git a/exploitdb/exploitdb.SlackBuild b/exploitdb/exploitdb.SlackBuild new file mode 100644 index 0000000..beba4fe --- /dev/null +++ b/exploitdb/exploitdb.SlackBuild @@ -0,0 +1,83 @@ +#!/bin/bash + +# Slackware build script for exploitdb + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=exploitdb +VERSION=${VERSION:-2026_04_30} +SRCVER=$(echo $VERSION | tr _ -) + +BSNAM=exploitdb-bin-sploits +BSVERSION=2022-11-22 + +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +ARCH=noarch + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$SRCVER +tar xvf $CWD/$BSNAM-$BSVERSION.tar.gz +tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz +cd $PRGNAM-$SRCVER +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +sed -i 's|/opt/|/usr/share/|g' .searchsploit_rc +install -Dm755 searchsploit $PKG/usr/bin/searchsploit +install -Dm644 .searchsploit_rc $PKG/etc/searchsploit_rc + +mkdir -p $PKG/usr/share/$PRGNAM +cp -a exploits shellcodes *.csv ghdb.xml $PKG/usr/share/$PRGNAM +cp -a $TMP/$BSNAM-$BSVERSION/bin-sploits $PKG/usr/share/$PRGNAM + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + LICENSE.md README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/exploitdb/exploitdb.info b/exploitdb/exploitdb.info new file mode 100644 index 0000000..76b111b --- /dev/null +++ b/exploitdb/exploitdb.info @@ -0,0 +1,11 @@ +PRGNAM="exploitdb" +VERSION="2026_04_30" +HOMEPAGE="https://www.exploit-db.com/" +DOWNLOAD="https://gitlab.com/exploit-database/exploitdb/-/archive/2026-04-30/exploitdb-2026-04-30.tar.gz https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/archive/2022-11-22/exploitdb-bin-sploits-2022-11-22.tar.gz" +MD5SUM="ab29261311e9abfda4efd66298eed9d5 \ + a7085246c2dcb84068065ee87519f47e" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/exploitdb/slack-desc b/exploitdb/slack-desc new file mode 100644 index 0000000..74e166d --- /dev/null +++ b/exploitdb/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +exploitdb: exploitdb (official repository of The Exploit Database) +exploitdb: +exploitdb: The Exploit Database is an archive of public exploits and +exploitdb: corresponding vulnerable software, developed for use by penetration +exploitdb: testers and vulnerability researchers. +exploitdb: Its aim is to serve as the most comprehensive collection of exploits, +exploitdb: shellcode and papers gathered through direct submissions, mailing +exploitdb: lists, and other public sources, and present them in a +exploitdb: freely-available and easy-to-navigate database +exploitdb: +exploitdb: Home: https://www.exploit-db.com/ diff --git a/feroxbuster/README b/feroxbuster/README new file mode 100644 index 0000000..277c41d --- /dev/null +++ b/feroxbuster/README @@ -0,0 +1,46 @@ +feroxbuster is a fast, simple, recursive content discovery tool written +in Rust. It performs forced browsing, brute forcing URLs with a wordlist +to enumerate unlinked content (directories, files, backups, and similar +resources) that a web application does not reference but still serves. + +This package is x86_64 only. + +It builds against rust-opt so it works on Slackware -stable, whose +system cargo is too old to read the version 4 Cargo.lock. On -current +the system rust is new enough; rust-opt is still listed as a dependency +for a uniform build but its /opt/rust/bin directory is simply absent +there. + +Because SlackBuilds.org build hosts have no network access at build +time, this script does not let cargo fetch crates from the network. +Instead, a prebuilt vendored-crates tarball +(feroxbuster-$VERSION-vendor.tar.gz) is downloaded as a second source +and extracted alongside the upstream source. The build then runs cargo +in fully offline mode against those vendored crates. The vendored +tarball is generated from the upstream Cargo.lock at the matching +release tag, so the dependency set is reproducible. + +The vendored tarball is regenerated per version with +cargo-vendor-filterer. SOURCE_DATE_EPOCH is pinned to the release tag's +commit date so the archive is byte-for-byte reproducible: + + tar xf feroxbuster-2.13.1.tar.gz && cd feroxbuster-2.13.1 + export SOURCE_DATE_EPOCH="$(date -u -d 2025-12-13T14:09:44Z +%s)" + cargo vendor-filterer \ + --platform=x86_64-unknown-linux-gnu \ + --prefix=vendor \ + --format=tar.gz \ + feroxbuster-2.13.1-vendor.tar.gz + +The tag commit date comes from the GitHub API, field +.commit.committer.date of: + api.github.com/repos/epi052/feroxbuster/commits/v2.13.1 +Then update MD5SUM_x86_64 for the new tarball in feroxbuster.info. + +The sample configuration is installed to: + /etc/feroxbuster/ferox-config.toml.new +Rename it to ferox-config.toml to use it (it is shipped as .new so your +edits are never overwritten on upgrade). + +Shell completions for bash, fish, and zsh are installed if present in +the upstream release tree. diff --git a/feroxbuster/doinst.sh b/feroxbuster/doinst.sh new file mode 100644 index 0000000..82fe0c0 --- /dev/null +++ b/feroxbuster/doinst.sh @@ -0,0 +1,14 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/feroxbuster/ferox-config.toml.new diff --git a/feroxbuster/feroxbuster.SlackBuild b/feroxbuster/feroxbuster.SlackBuild new file mode 100644 index 0000000..6597cb7 --- /dev/null +++ b/feroxbuster/feroxbuster.SlackBuild @@ -0,0 +1,150 @@ +#!/bin/bash + +# Slackware build script for feroxbuster + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=feroxbuster +VERSION=${VERSION:-2.13.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +# Name of the vendored crates tarball (hosted by the maintainer). +VENDOR=${PRGNAM}-${VERSION}-vendor + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +# feroxbuster is only meaningfully supported on x86_64. Bail out clearly +# on other arches rather than failing deep in the Rust build. +if [ "$ARCH" != "x86_64" ]; then + echo "$PRGNAM is only supported on x86_64." + exit 1 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +# Rust honors RUSTFLAGS; we don't pass the usual SLKCFLAGS to a C compiler +# here since cargo drives the build. Release profile handles optimization. +SLKCFLAGS="" +LIBDIRSUFFIX="64" + +PKGNAM=$PRGNAM # PRINT_PACKAGE_NAME +if [ "$PRINT_PACKAGE_NAME" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION + +# Unpack the vendored crates alongside the source. The tarball extracts to +# a top-level vendor/ directory. +rm -rf vendor +tar xvf $CWD/$VENDOR.tar.gz + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \+ -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ + +# Point cargo at the vendored sources and forbid any network access. +# The directory is relative to the parent of .cargo/, i.e. the source +# root, so this is portable across build hosts (no absolute /tmp paths). +mkdir -p .cargo +cat > .cargo/config.toml </dev/null || true + install -D -m 0644 shell_completions/${PRGNAM}.fish \ + $PKG/usr/share/fish/vendor_completions.d/${PRGNAM}.fish 2>/dev/null || true + install -D -m 0644 shell_completions/_${PRGNAM} \ + $PKG/usr/share/zsh/site-functions/_${PRGNAM} 2>/dev/null || true +fi + +# Sample configuration, shipped as .new so it never clobbers user edits. +if [ -f ferox-config.toml.example ]; then + install -D -m 0644 ferox-config.toml.example \ + $PKG/etc/$PRGNAM/ferox-config.toml.new +fi + +# Strip the binary. +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a CHANGELOG.md LICENSE README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION 2>/dev/null || true +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/feroxbuster/feroxbuster.info b/feroxbuster/feroxbuster.info new file mode 100644 index 0000000..7d0d90e --- /dev/null +++ b/feroxbuster/feroxbuster.info @@ -0,0 +1,12 @@ +PRGNAM="feroxbuster" +VERSION="2.13.1" +HOMEPAGE="https://github.com/epi052/feroxbuster" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/epi052/feroxbuster/archive/v2.13.1/feroxbuster-2.13.1.tar.gz \ + https://packages.danix.xyz/sbo/feroxbuster/feroxbuster-2.13.1-vendor.tar.gz" +MD5SUM_x86_64="dc0bfa007f22815875b8094d954c4f60 \ + 1ecbe3e0b6737669548afd595381979d" +REQUIRES="rust-opt" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/feroxbuster/slack-desc b/feroxbuster/slack-desc new file mode 100644 index 0000000..369eb34 --- /dev/null +++ b/feroxbuster/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +feroxbuster: feroxbuster (fast recursive content discovery tool) +feroxbuster: +feroxbuster: feroxbuster is a fast, simple, recursive content discovery tool +feroxbuster: written in Rust. It performs forced browsing: brute forcing URLs +feroxbuster: with a wordlist to find unlinked content such as directories, +feroxbuster: files, backups, and other resources on web servers that are not +feroxbuster: referenced by the application but remain accessible. +feroxbuster: +feroxbuster: Homepage: https://github.com/epi052/feroxbuster +feroxbuster: +feroxbuster: diff --git a/ffuf/README b/ffuf/README new file mode 100644 index 0000000..c9f5b7f --- /dev/null +++ b/ffuf/README @@ -0,0 +1,10 @@ +FFUF - Fuzz Faster U Fool + +ffuf is a fast web fuzzer written in Go. +For example use cases check the README.md in the +/usr/share/doc/ffuf-/ folder. + +A configuration file ffufrc.example file is provided in the same folder. +You can copy it as $HOME/.config/ffuf/ffufrc + +This script requires network access during build. diff --git a/ffuf/ffuf.1.gz b/ffuf/ffuf.1.gz new file mode 100644 index 0000000..0130034 Binary files /dev/null and b/ffuf/ffuf.1.gz differ diff --git a/ffuf/ffuf.SlackBuild b/ffuf/ffuf.SlackBuild new file mode 100755 index 0000000..0792253 --- /dev/null +++ b/ffuf/ffuf.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/bash + +# Slackware build script for ffuf + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=ffuf +VERSION=${VERSION:-2.1.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +ARCH=x86_64 + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +export CGO_CPPFLAGS="$SLKCFLAGS" +export CGO_CFLAGS="$SLKCFLAGS" +export CGO_CXXFLAGS="$SLKCFLAGS" + +export GOPATH="$(pwd)/build" +export GOPROXY=https://proxy.golang.org,direct + +export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw \ + -ldflags=-linkmode=external \ + -ldflags=-s \ + -ldflags=-w" + +mkdir -p build + +mkdir -p "$PKG"/usr/bin +go build -o "$PKG"/usr/bin/ ./... + +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# the project doesn't have a man page so we borrow it from the Debian +# archive +mkdir -p $PKG/usr/man/man1 +cp $CWD/ffuf.1.gz $PKG/usr/man/man1 + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + ffufrc.example CHANGELOG.md CONTRIBUTORS.md LICENSE README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/ffuf/ffuf.info b/ffuf/ffuf.info new file mode 100644 index 0000000..3f50343 --- /dev/null +++ b/ffuf/ffuf.info @@ -0,0 +1,10 @@ +PRGNAM="ffuf" +VERSION="2.1.0" +HOMEPAGE="https://github.com/ffuf/ffuf" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/ffuf/ffuf/archive/v2.1.0/ffuf-2.1.0.tar.gz" +MD5SUM_x86_64="f98f3cfbc92141d39f68b563e9b42201" +REQUIRES="google-go-lang" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/ffuf/slack-desc b/ffuf/slack-desc new file mode 100644 index 0000000..00bd369 --- /dev/null +++ b/ffuf/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +ffuf: ffuf (A fast web fuzzer written in Go.) +ffuf: +ffuf: ffuf < Fuzz Faster U Fool > is a fast web fuzzer written in Go. +ffuf: and it's released under MIT license. +ffuf: +ffuf: +ffuf: Home: https://github.com/ffuf/ffuf +ffuf: +ffuf: +ffuf: +ffuf: diff --git a/gobuster/README b/gobuster/README new file mode 100644 index 0000000..e8e3f48 --- /dev/null +++ b/gobuster/README @@ -0,0 +1,27 @@ +Gobuster is a high-performance directory/file, DNS and virtual host +brute-forcing tool written in Go. It's designed to be fast, +reliable, and easy to use for security professionals and +penetration testers. + +Features: + - High Performance: Multi-threaded scanning with configurable + concurrency + - Multiple Modes: Directory, DNS, virtual host, S3, GCS, TFTP, and + fuzzing modes + - Security Focused: Built for penetration testing and security + assessments + - Docker Support: Available as a Docker container + - Extensible: Pattern-based scanning and custom wordlists + +What Can Gobuster Do? + - Web Directory/File Enumeration: Discover hidden directories and + files on web servers + - DNS Subdomain Discovery: Find subdomains with wildcard support + - Virtual Host Detection: Identify virtual hosts on target web + servers + - Cloud Storage Enumeration: Discover open Amazon S3 and Google + Cloud Storage buckets + - TFTP File Discovery: Find files on TFTP servers + - Custom Fuzzing: Flexible fuzzing with customizable parameters + +This script requires network access during build. diff --git a/gobuster/gobuster.SlackBuild b/gobuster/gobuster.SlackBuild new file mode 100755 index 0000000..d66bcca --- /dev/null +++ b/gobuster/gobuster.SlackBuild @@ -0,0 +1,107 @@ +#!/bin/bash + +# Slackware build script for gobuster + +# Copyright <2026> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=gobuster +VERSION=${VERSION:-3.8.2} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +ARCH=x86_64 + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +export CGO_CPPFLAGS="$SLKCFLAGS" +export CGO_CFLAGS="$SLKCFLAGS" +export CGO_CXXFLAGS="$SLKCFLAGS" + +export GOPATH="$(pwd)/build" +export GOPROXY=https://proxy.golang.org,direct + +export GOFLAGS="-buildmode=pie -trimpath -mod=mod -modcacherw \ + -ldflags=-linkmode=external \ + -ldflags=-s \ + -ldflags=-w" + +mkdir -p build + +mkdir -p "$PKG"/usr/bin +go build -o "$PKG"/usr/bin/ ./... + +# Don't ship .la files: +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + LICENSE README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/gobuster/gobuster.info b/gobuster/gobuster.info new file mode 100644 index 0000000..b759230 --- /dev/null +++ b/gobuster/gobuster.info @@ -0,0 +1,10 @@ +PRGNAM="gobuster" +VERSION="3.8.2" +HOMEPAGE="https://github.com/OJ/gobuster" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/OJ/gobuster/archive/v3.8.2/gobuster-3.8.2.tar.gz" +MD5SUM_x86_64="456f3772e47415e1927522bfe32d0388" +REQUIRES="google-go-lang" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/gobuster/slack-desc b/gobuster/slack-desc new file mode 100644 index 0000000..81b9afc --- /dev/null +++ b/gobuster/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +gobuster: gobuster (A fast and flexible brute-forcing tool written in Go) +gobuster: +gobuster: Gobuster is a high-performance directory/file, DNS and virtual +gobuster: host brute-forcing tool written in Go. It's designed to be +gobuster: fast, reliable, and easy to use for security professionals and +gobuster: penetration testers. +gobuster: +gobuster: +gobuster: Home: https://github.com/OJ/gobuster +gobuster: +gobuster: diff --git a/nuclei/README b/nuclei/README new file mode 100644 index 0000000..c2f70b6 --- /dev/null +++ b/nuclei/README @@ -0,0 +1,21 @@ +Nuclei is a modern, high-performance vulnerability scanner that +leverages simple YAML-based templates. +It empowers you to design custom vulnerability detection scenarios that +mimic real-world conditions, leading to zero false positives. + + - Simple YAML format for creating and customizing vulnerability + templates. + - Contributed by thousands of security professionals to tackle + trending vulnerabilities. + - Reduce false positives by simulating real-world steps to verify a + vulnerability. + - Ultra-fast parallel scan processing and request clustering. + - Integrate into CI/CD pipelines for vulnerability detection and + regression testing. + - Supports multiple protocols like TCP, DNS, HTTP, SSL, WHOIS, + JavaScript, Code and more. + - Integrate with Jira, Splunk, GitHub, Elastic, GitLab. + +Only the nuclei binary will be linked in /usr/bin. All the other +binaries will be available in /opt/nuclei/bin + diff --git a/nuclei/nuclei.SlackBuild b/nuclei/nuclei.SlackBuild new file mode 100644 index 0000000..d7fe16c --- /dev/null +++ b/nuclei/nuclei.SlackBuild @@ -0,0 +1,129 @@ +#!/bin/bash + +# Slackware build script for nuclei + +# Copyright 2026 danix < danix@danix.xyz > +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=nuclei +VERSION=${VERSION:-3.8.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Apply patches +if compgen -G "$CWD/patches/*.patch" > /dev/null; then + if [ -f "$CWD/patches/series" ]; then + while IFS= read -r PATCH; do + [ -z "$PATCH" ] && continue + [ "${PATCH#\#}" != "$PATCH" ] && continue + patch -p1 -i "$CWD/patches/$PATCH" + done < "$CWD/patches/series" + else + for PATCH in "$CWD"/patches/*.patch; do + patch -p1 -i "$PATCH" + done + fi +fi + +MOD_STRATEGY="-mod=readonly" +export CGO_CPPFLAGS="$SLKCFLAGS" +export CGO_CFLAGS="$SLKCFLAGS" +export CGO_CXXFLAGS="$SLKCFLAGS" +export GOPATH="$(pwd)/.gocache" +export GOPROXY="https://proxy.golang.org,direct" +export GOFLAGS="$MOD_STRATEGY -buildmode=pie -trimpath -modcacherw" +LIB_LDFLAGS="-linkmode=external -s -w" + +mkdir -p "$PKG"/usr/bin +mkdir -p "$PKG"/opt/${PRGNAM}/bin +go build -ldflags="$LIB_LDFLAGS" -o "$PKG"/opt/${PRGNAM}/bin ./... + +ln -sf ../../opt/${PRGNAM}/bin/nuclei "$PKG"/usr/bin/nuclei + +# cleanup to save space +rm -rf "$GOPATH" +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + CLAUDE.md CONTRIBUTING.md DEBUG.md DESIGN.md LICENSE.md README.md SYNTAX-REFERENCE.md THANKS.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +# a .md file was shipping as 775 from upstream +chmod 644 $PKG/usr/doc/$PRGNAM-$VERSION/* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/nuclei/nuclei.info b/nuclei/nuclei.info new file mode 100644 index 0000000..99bc7c0 --- /dev/null +++ b/nuclei/nuclei.info @@ -0,0 +1,10 @@ +PRGNAM="nuclei" +VERSION="3.8.0" +HOMEPAGE="https://github.com/projectdiscovery/nuclei" +DOWNLOAD="https://github.com/projectdiscovery/nuclei/archive/v3.8.0/nuclei-3.8.0.tar.gz" +MD5SUM="88e06a8f118b1ddf5a193bb59904b0d8" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="google-go-lang" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/nuclei/patches/Build-doc.patch b/nuclei/patches/Build-doc.patch new file mode 100644 index 0000000..17f054e --- /dev/null +++ b/nuclei/patches/Build-doc.patch @@ -0,0 +1,31 @@ +From: Sophie Brun +Date: Fri, 10 Dec 2021 09:08:38 +0100 +Subject: Build doc + +--- + Makefile | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 719c308..ca2e684 100644 +--- a/Makefile ++++ b/Makefile +@@ -59,10 +59,7 @@ docgen: GOBUILD_OUTPUT = ./bin/docgen + docgen: GOBUILD_PACKAGES = cmd/docgen/docgen.go + docgen: bin = dstdocgen + docgen: +- @if ! which $(bin) >/dev/null; then \ +- echo "Command $(bin) not found! Installing..."; \ +- go install -v github.com/projectdiscovery/yamldoc-go/cmd/docgen/$(bin)@latest; \ +- fi ++ go install -v github.com/projectdiscovery/yamldoc-go/cmd/docgen/$(bin)@latest; \ + # TODO: FIX THIS PANIC + $(GOCMD) generate pkg/templates/templates.go + $(GOBUILD) -o "${GOBUILD_OUTPUT}" $(GOBUILD_PACKAGES) +@@ -156,4 +153,4 @@ template-validate: + ./bin/nuclei -validate \ + -w workflows \ + -et http/technologies \ +- -ept code +\ No newline at end of file ++ -ept code diff --git a/nuclei/patches/Change-default-directory-of-nuclei-templates.patch b/nuclei/patches/Change-default-directory-of-nuclei-templates.patch new file mode 100644 index 0000000..447f42d --- /dev/null +++ b/nuclei/patches/Change-default-directory-of-nuclei-templates.patch @@ -0,0 +1,25 @@ +From: Sophie Brun +Date: Thu, 20 Apr 2023 14:51:31 +0200 +Subject: Fix path to nuclei-templates + +By default the nuclei-templates is located directly in /home/user. +Change the default location to /home/user/.local + +Last-Update: 2023-06-27 +--- + pkg/catalog/config/constants.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go +index fab1884..6d78e7f 100644 +--- a/pkg/catalog/config/constants.go ++++ b/pkg/catalog/config/constants.go +@@ -22,7 +22,7 @@ var ( + + const ( + TemplateConfigFileName = ".templates-config.json" +- NucleiTemplatesDirName = "nuclei-templates" ++ NucleiTemplatesDirName = ".local/nuclei-templates" + OfficialNucleiTemplatesRepoName = "nuclei-templates" + NucleiIgnoreFileName = ".nuclei-ignore" + NucleiTemplatesIndexFileName = ".templates-index" // contains index of official nuclei templates diff --git a/nuclei/patches/Disable-update.patch b/nuclei/patches/Disable-update.patch new file mode 100644 index 0000000..3472208 --- /dev/null +++ b/nuclei/patches/Disable-update.patch @@ -0,0 +1,22 @@ +From: Sophie Brun +Date: Wed, 8 Dec 2021 08:40:42 +0100 +Subject: Disable update + +Last-Update: 2023-10-27 +Updates must be done with apt. +--- + cmd/nuclei/main.go | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go +index 8421d1d..095f5d5 100644 +--- a/cmd/nuclei/main.go ++++ b/cmd/nuclei/main.go +@@ -469,7 +469,6 @@ on extensive configurability, massive extensibility and ease of use.`) + ) + + flagSet.CreateGroup("update", "Update", +- flagSet.BoolVarP(&updateNucleiBinary, "update", "up", false, "update nuclei engine to the latest released version"), + flagSet.BoolVarP(&options.UpdateTemplates, "update-templates", "ut", false, "update nuclei-templates to latest released version"), + flagSet.StringVarP(&options.NewTemplatesDirectory, "update-template-dir", "ud", "", "custom directory to install / update nuclei-templates"), + flagSet.CallbackVarP(disableUpdatesCallback, "disable-update-check", "duc", "disable automatic nuclei/templates update check"), diff --git a/nuclei/patches/series b/nuclei/patches/series new file mode 100644 index 0000000..4741101 --- /dev/null +++ b/nuclei/patches/series @@ -0,0 +1,3 @@ +Disable-update.patch +Build-doc.patch +Change-default-directory-of-nuclei-templates.patch diff --git a/nuclei/slack-desc b/nuclei/slack-desc new file mode 100644 index 0000000..c219fdb --- /dev/null +++ b/nuclei/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +nuclei: nuclei (a modern, high-performance vulnerability scanner) +nuclei: +nuclei: Nuclei is a modern, high-performance vulnerability scanner that +nuclei: leverages simple YAML-based templates. +nuclei: It empowers you to design custom vulnerability detection scenarios +nuclei: that mimic real-world conditions, leading to zero false positives. +nuclei: +nuclei: +nuclei: Home: https://github.com/projectdiscovery/nuclei +nuclei: +nuclei: -- cgit v1.2.3