Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
athena — Athena OS is a Arch/Nix-based distro focused on Cybersecurity. Learn, practice and enjoy with any hacking tool! | Kitploit
Tools/GitHubGitHub/athena-os/athena
Scripting & AutomationPenetration TestingUtilities & FrameworksLearning & EducationLearning Paths & CoursesLabs & Practice
GitHubathena-os/athena

athena

Athena OS is a Arch/Nix-based distro focused on Cybersecurity. Learn, practice and enjoy with any hacking tool!

View Repository
1.3k108174 days agoReviewed by Kitploit
Website

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Dive into a new Pentesting Experience with
Athena OS

image

🏅Born for InfoSec Professionals, Bug Bounty Hunters, Passionate Students and Spicy Hackers🏅

💞 Get Athena OS Now! 💞


Click Docker icon above to explore Athena OS Docker containers!

Click the icon above to explore Athena OS WSL in Microsoft Store App!

Automated Package Updates

Packages in this repository are kept up to date automatically via a daily GitHub Actions workflow powered by nvchecker.

How it works

The automation runs every day (and can also be triggered manually) and goes through the following steps:

  1. Config generation — .nvchecker/generate-nvchecker-config.py scans every PKGBUILD under src/ and auto-generates .nvchecker/nvchecker.toml. Each package is classified as one of:

    • Release package — has a static pkgver= and a remote source URL. Tracked by latest tag/release on the hosting platform.
    • VCS package — has a pkgver() function and a git+https:// source. Tracked by latest upstream commit.
    • Local-only package — all sources are local files. Skipped silently (no upstream to track).
  2. Version check — nvchecker queries the upstream of every tracked package and writes the results to .nvchecker/newver.json. This is compared against .nvchecker/oldver.json (committed in the repo) to find packages that have a new version available.

  3. PKGBUILD update & PR — for each outdated package the workflow:

    • Creates a dedicated branch auto-update/<pkgname>-<newver>.
    • Updates pkgver and resets pkgrel to 1 in the PKGBUILD.
    • For release packages: regenerates checksums with updpkgsums.
    • For VCS packages: clones the upstream repo, runs the pkgver() function locally to compute the real Arch-style version string (e.g. 131.940a5d3), and keeps sha512sums=('SKIP') as is.
    • Opens a pull request labelled auto-update for human review before anything lands on main.
  4. State save — .nvchecker/oldver.json is updated with the versions seen in this run and committed back to main, so the next run only opens PRs for genuinely new changes.

Supported hosting platforms

PlatformDetection
GitHubgithub.com/<user>/<repo>
GitLab (gitlab.com + self-hosted)gitlab.*/<user>/<repo>
Codebergcodeberg.org/<user>/<repo>
Gitea (self-hosted)gitea.*/<user>/<repo>
Sourcehutgit.sr.ht/~<user>/<repo>

Shell variable expansion in PKGBUILDs

The config generator and the CI workflow both resolve shell variable references in source= lines so that indirect URLs like the following are handled correctly:

root@kitploit:~
_pkgname=${pkgname#athena-}
source=("git+https://github.com/Athena-OS/$_pkgname.git")

The following bash parameter expansion forms are supported:

SyntaxMeaningExample
$var / ${var}Simple substitution$pkgname → athena-settings
${var#prefix}Strip shortest matching prefix${pkgname#athena-} → settings
${var%suffix}Strip shortest matching suffix${pkgname%-git} → athena-settings

Known limitations

The following bash constructs are not resolved by the automation. PKGBUILDs that rely on them will be skipped gracefully with an informational note — no error is raised, and they can always be updated manually.

Unsupported syntaxExampleReason
## greedy prefix strip${var##*/}Only non-greedy # is implemented
%% greedy suffix strip${var%%.*}Only non-greedy % is implemented
Substring extraction${var:0:3}Different operator, rare in PKGBUILDs
Pattern substitution${var//foo/bar}Different operator, rare in PKGBUILDs
Arithmetic expansion$((pkgver + 1))Out of scope for version tracking
Nested expansions${${var}#prefix}Not valid POSIX; not used in practice

If your PKGBUILD uses any of the above and the automation skips it, you can either rewrite the assignment as a plain var=value line or open a PR updating the version manually.

Download Tool