Write an Assembler program that translates programs written in the symbolic Hack assembly language into binary code that can execute on the Hack hardware platform built in the previous projects.
To run this program execute the shell script make.sh from the command line. This will generate all the necessary .hack files from .asm files using a python script (Assembler.py)
Once this has been completed open up the Assembler.sh and load up the .asm and corresponding hack files and compare their output.
pwncat is a sophisticated bind and reverse shell handler with many features as well as a drop-in replacement or compatible complement to netcat, ncat or socat. Fully scriptable with Python. Self-injecting mode to deploy itself and auto-start multiple unbreakable reverse shells back to you. Reverse shells will reconnect to you if you accidentally kill pwncat or are cut off. Connections over TCP or UDP. Bind shells, reverse shells, port forwarding.
It can wrap your network traffic in any other protocol to obfuscate it or encrypt it.
Written using only with Python core libraries to allow it to run without having to install anything.
In the AUR. Also installable with pip.
modemu2k adds telnet capability to a comm program. It can redirect telnet I/O to a pty so that a comm program can handle the pty as a tty with a real modem, and allows you to use a comm program's scripting and file transfer features over telnet. Now supports IPv6 connections.
It works like file transfer protocols do in minicom (rx/sx, ry/sy, rz/sz).
Or you can use it as a stand-alone CLI client.
str2speech is a simple command-line tool for converting text to speech using Transformer-based text-to-speech (TTS) models. It supports multiple models and voice presets, allowing users to generate high-quality speech audio from text.
Supports multiple TTS models, including suno/bark-small, suno/bark, and various facebook/mms-tts models. Allows selection of voice presets. Supports text input via command-line arguments or files. Outputs speech in .wav format. Works with both CPU and GPU.
Looks like the speech models have to be installed locally to work.
Subtrace is Wireshark for your Docker containers. It lets developers see all incoming and outgoing requests in their backend server so that they can resolve production issues faster. Works out-of-the-box, no code changes needed. Supports all languages (Python + Node + Go + everything else). See full payload, headers, status code, and latency.
Why learn actual skills when you can just look impressive instead?
Introducing rust-stakeholder - a CLI tool that generates absolutely meaningless but impressive-looking terminal output to convince everyone you're a coding genius without writing a single line of useful code.
Remember, it's not about your actual contribution to the codebase, it's about how complicated your terminal looks when the VP of Engineering walks by. Nothing says "I'm vital to this company" like 15 progress bars, cryptic error messages you seem unfazed by, and technical jargon nobody understands.
A multi-threaded PDF password cracking utility equipped with commonly encountered password format builders and dictionary attacks. Supports wordlist-based dictionary attacks, date, number range, and alphanumeric brute-forcing, and a custom query builder for password formats. Performs about 50k-100k+ passwords per second utilizing full CPU cores. You can write your own queries like STRING{69-420} which would generate and use a wordlist with the full number range. Specify a maximum and optionally a minimum length for the password search and all passwords of length 4 up to the specified maximum consisting of letters and numbers (a-zA-Z0-9) will be tried.
A commandline utility to search text in PDF files. Tries to be compatible with GNU Grep, where it makes sense. Many of your favorite grep options are supported (such as -r, -i, -n or -c).
Git: https://gitlab.com/pdfgrep/pdfgrep
I wonder if I can plug this into SearxNG.
A data hoarder’s dream come true: bundle any web page into a single HTML file. You can finally replace that gazillion of open tabs with a gazillion of .html files stored somewhere on your precious little drive.
Unlike the conventional “Save page as”, monolith not only saves the target document, it embeds CSS, image, and JavaScript assets all at once, producing a single HTML5 document that is a joy to store and share.
If compared to saving websites with wget -mpk
, this tool embeds all assets as data URLs and therefore lets browsers render the saved page exactly the way it was on the Internet, even when no network connection is available.
In the Arch package repos.
A little CLI utility that calculates and lists all of the numbers between 1 and 1,000,000,000. The algorithm used runs with complexity of O(√n) and took about 27 minute 11 seconds. There's also a link to just download its output (50 megs compressed with 7z, 502 megs uncompressed).
A bit of glue between components that is able to textually summarize videos and podcasts - offline. The script takes a URL as argument, downloads and extracts the audio, transcribes the spoken words to text and then finally prints a summary of the content. No external services are used by this script except for the initial audio download. Examples of URLs that work are Youtube videos and Apple podcasts, see the yt-dlp project for the full list.
This script doesn't do anything clever, it just makes use of the great work done by other projects. Since the purpose is to not have to sit through 8-12 minutes of someone explaining what should've just been a short blog post. The default model used is LLaMa-3 to support medium spec hardware. If you have a large system, Mixtral 8x7b is another great option with a much larger context window (= able to work with longer transcriptions).
The script saves transcriptions to a folder in the same directory, and if the same URL is later used again it will not re-download the audio and create a new transcription but use the existing one. This means it's possible to later use the conversational mode to ask questions on the content, even if not done the first time.
Relies upon a locally hosted LLM to do the heavy lifting so you don't have to ship the data off to another service. Entirely self hosted.
A CLI file sharing utility that serves data over the Veilid network in a BitTorrent-like fashion. The data is available as long as the share is running.
SoX is a free command line audio processing tool with a text-based interface that let's you perform powerful audio operations by typing just a few words in your computer's terminal. It is a popular tool for managing large collections of audio files, splitting audio files by silence and batch processing (eg. normalizing an entire folder of drum sounds in a matter of seconds), but really it is much more than that. If you learn to use SoX you are guaranteed to save enormous amounts of time working with audio files. This guide will help you get started.
A guide to using ffmpeg for artists. ffmpeg is a free tool that allows you to create, convert and manipulate video, really quickly and without opening a heavy GUI-based program. You can script it to make full use of it's power and convert folders of files for example. The following is a cookbook of handy examples I myself use to easily create videos for social media, websites, etcetera – mostly from a source material of audio files and/or photos.
ZIM command line tools. Of note are:
zimcheck
verifies that a given ZIM file is not corrupted.zimdump
inspects or dumps (part of) a ZIM file.zimsplit
splits a ZIM file smartly into smaller chunks.zimwriterfs
creates ZIM files from a locally-stored directory containing "self-sufficient" HTML content (with pictures, javascript and stylesheets). The result will contain all the files of the local directory compressed and merged in the ZIM file. The generated file can be opened with a ZIM reader.In Arch's extra/ package repo.
This repository contains tools releated to BBSing and Ansi in general. It contains:
Typer is a library for building CLI applications based on Python type hints. It's also a command line tool to run scripts, automatically converting them to CLI applications. Tries to be easy and intuitive to use. Actively tries to minimize code duplication. Implements pretty printing for online documentation.
csvkit is a suite of command-line tools for converting to and working with CSV, the king of tabular file formats.
Convert XLS to CSV, JSON to CSV and vice-versa. Analyze and reorganize CSV files in various ways. Limited processing of the data. SQL-like querying of files. Import and export CSV files from Postgres.
Keychain helps you to manage SSH and GPG keys in a convenient and secure manner. It acts as a frontend to ssh-agent and ssh-add, but allows you to easily have one long running ssh-agent process per system, rather than the norm of one ssh-agent per login session.
This dramatically reduces the number of times you need to enter your passphrase. With keychain, you only need to enter a passphrase once every time your local machine is rebooted. Keychain also makes it easy for remote cron jobs to securely "hook in" to a long-running ssh-agent process, allowing your scripts to take advantage of key-based logins.
If your workflow is such that you have one terminal window but multiple tabs, this will fix quite a few annoyances.
Github: https://github.com/funtoo/keychain
Works very well on Linux, I've been using it for years. Also works on OSX; it's in Homebrew.
audiowaveform is a C++ command-line application that generates waveform data from either MP3, WAV, FLAC, Ogg Vorbis, or Opus format audio files. Waveform data can be used to produce a visual rendering of the audio, similar in appearance to audio editing applications.
Waveform data files are saved in either binary format (.dat) or JSON (.json). Given an input waveform data file, audiowaveform can also render the audio waveform as a PNG image at a given time offset and zoom level.
The waveform data is produced from an input audio signal by first combining the input channels to produce a mono signal. The next stage is to compute the minimum and maximum sample values over groups of N input samples (where N is controlled by the --zoom command-line option), such that each N input samples produces one pair of minimum and maximum points in the output.
In the AUR.