How to get started with the Internet Archive's ia
tool.
Programatically sync and edit BookStack pages. Useful for text editor integrations (an emacs PoC implementation is included).
Pages in the configured Bookstack wiki will be downloaded and written to Markdown files in book/page.md
format. Local Markdown files that don't exist in the wiki will be uploaded as new pages in a book. When a local file is deleted the wiki page will be deleted if their last_modified dates are the same. Wiki pages that are deleted will cause their local counterparts to be deleted as well. Out-of-synch pages (i.e., the local file and wiki page have been edited independently and their edits do not line up) will not be synched without the --force
option.
Command line tools for fetching system/other information. Operating system, kernel, CPU, GPU, memory info and more.
The metadata.json file is updated after commit. You can request this file in raw format and use it like a static API. Interesting.
WireGuard road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora. This script will let you set up your own VPN server in no more than a minute, even if you haven't used WireGuard before. It has been designed to be as unobtrusive and universal as possible.
Doclytics is a straightforward Rust-based tool that integrates with the paperless-ngx API to fetch and update document metadata. It primarily leverages a local language model, ollama, to extract and generate metadata for documents stored in a Paperless document library. The tool uses reqwest for making HTTP requests and serde_json for handling JSON data, ensuring seamless communication with the Paperless API and efficient data processing.
By interfacing directly with ollama, Doclytics automates the extraction of specified metadata from documents, utilizing the local LLM's capabilities to analyze document content and produce the required metadata in a JSON format. This metadata is then used to update the respective documents in the Paperless library, aiming to improve document organization and retrievability without overly complex processes or configurations.
Any beginner learning Linux command line tools would come across the cat command within the first week. Sooner or later, they'll come to know popular text processing tools like grep, head, tail, tr, sort, etc. If you were like me, you'd come across sed and awk, shudder at their complexity and prefer to use a scripting language like Perl and text editors like Vim instead (don't worry, I've already corrected that mistake).
Knowing power tools like grep, sed and awk can help solve most of your text processing needs. So, why would you want to learn text processing tools from the coreutils package? The biggest motivation would be faster execution since these tools are optimized for the use cases they solve. And there's always the advantage of not having to write code (and test that solution) if there's an existing tool to solve the problem.
This book will teach you more than twenty of such specialized text processing tools provided by the GNU coreutils package. Plenty of examples and exercises are provided to make it easier to understand a particular tool and its various features.
Github: https://github.com/learnbyexample/cli_text_processing_coreutils
Neofetch is a command-line system information tool written in bash 3.2+. Neofetch displays information about your operating system, software and hardware in an aesthetic and visually pleasing way.
The overall purpose of Neofetch is to be used in screen-shots of your system. Neofetch shows the information other people want to see. There are other tools available for proper system statistic/diagnostics.
The information by default is displayed alongside your operating system's logo. You can further configure Neofetch to instead use an image, a custom ASCII file, your wallpaper or nothing at all.
Hancho is a simple, pleasant build system with few moving parts.
Hancho fits comfortably in a single Python file and requires no installation, just copy-paste it into your source tree. Hancho is inspired by Ninja (for speed and simplicity) and Bazel (for syntax and extensibility). Like Ninja, it knows nothing about your build tools and is only trying to assemble and run commands as fast as possible. Unlike Ninja, you can use glob("*.cpp")
and such to make things far less verbose. Like Bazel, you invoke build rules by calling them as if they were functions with keyword arguments. Unlike Bazel, you can create build rules that call arbitrary Python code (for better or worse). Hancho should suffice for small to medium sized projects.
Schnoz is a tool that I wrote in Python to monitor network traffic and analyze potential threats. I compiled all of the small scripts regarding network analysis to create a multirange tool. Please make sure that you have scapy installed. Implements active network sniffing, pulling from pcap files, alerting on specific traffic parameters, and analysis of captured HTTP traffic.
Pint is a Python package to define, operate and manipulate physical quantities: the product of a numerical value and a unit of measurement. It allows arithmetic operations between them and conversions from and to different units.
It is distributed with a comprehensive list of physical units, prefixes and constants. Due to its modular design, you can extend (or even rewrite!) the complete list without changing the source code. It supports a lot of numpy mathematical operations without monkey patching or wrapping numpy.
A command-line script pint-convert provides a quick way to convert between units or get conversion factors.
The Python standard library once included a basic SMTP server in the smtpd module, based on the old asynchronous libraries asyncore and asynchat. It was formally removed in v3.12.
This package provides such an implementation of both the SMTP and LMTP protocols using the asyncio module (which has been standard since Python v3.4). Supports the relevant RFCs natively.
Can be executed from the command line, defaulting to port 8025/tcp: python3 -m aiosmtpd -n
or aiosmtpd -n
403JUMP is a tool designed for penetration testers and bug bounty hunters to audit the security of web applications. It aims to bypass HTTP 403 (Forbidden) pages using various techniques, including different HTTP verbs, different HTTP headers, and path fuzzing.
rga is a line-oriented search tool that allows you to look for a regex in a multitude of file types. rga wraps the awesome ripgrep and enables it to search in pdf, docx, sqlite, jpg, movie subtitles (mkv, mp4), etc. rga will recursively descend into archives and match text in every file type it knows. rga works with adapters that adapt various file formats; you can add your own.
Imports your current cloud infrastructure into an Infrastructure As Code Terraform configuration file(HCL) and/or into a Terraform State. Terracognita currently imports AWS, GCP, AzureRM and VMware vSphere cloud providers as Terraform (v1.1.9) resource/state.
stree is a CLI tool designed to visualize the directory tree structure of an S3 bucket. By inputting an S3 bucket/prefix and utilizing various flags to customize your request, you can obtain a colorized or non-colorized directory tree right in your terminal.
A utility that lets you query CSV, JSON and Parquet files with regular SQL statements. If DuckDB is okay with it, it'll run. Has both a fire-and-forget CLI and an interactive TUI.
cve-maker is a hub for finding CVEs and exploits. It is based on the official NIST, ExploitDB and Github databases. The tool makes it quick and easy to search for CVEs and their associated exploits. It is able to detect exploit compilation options. It can also be used to list the latest critical vulnerabilities.
EZGHSA is a command-line tool for summarizing and filtering vulnerability alerts on Github repositories. List alerts for a user, organization, or specific set of repositories. Display Github Security Advisory (GHSA) IDs. Filter alerts by ID, severity, and age. Check if alerts are enabled or disabled. Run interactively or from CI/CD scripts.
EZGHSA needs to authenticate with the Github API.
A tool for exploring a docker image layer by layer, the contents of each layer, what changs in between each layer, and discovering ways to shrink the size of your Docker/OCI image. Additionally you can run this in your CI pipeline to ensure you're keeping wasted space to a minimum.
A simple tool to send xmpp messages from command line. Upon cursory inspection it doesn't seem to rely upon libstrophe or other external XMPP libraries.