This repository contains tools releated to BBSing and Ansi in general. It contains:
ffplayout is a 24/7 broadcasting solution. It can playout a folder containing audio or video clips, or play a JSON playlist for each day, keeping the current playlist editable. The application is mostly designed to run as system service on Linux. But in general it should run on any platform supported by Rust.
The main idea behind ffplayout is that it works with playlists. Each day has its own playlist, so to have a continuous endless stream, each playlist must be 24 hours long. If a playlist is not long enough, the engine will fill the rest with a filler clip or with black. If the playlist is longer, it will be trimmed. The playlist is read dynamically, so you can edit it while it is playing. But you can only change or add clips at a position in the future and the next but one clip. In other words, if clip 7 in the playlist is currently playing, you can edit and add clips after position 9.
A second scenario is that ffplayout can play clips from a given folder. The engine also monitors this folder for changes. If clips are added, deleted or moved, the engine recognizes this and updates its file list. the folder mode has two options: 1. it can play in sorted order, or 2. it can play in random order.
customasm is an assembler that allows you to provide your own custom instruction sets to assemble your source files! It can be useful, for example, if you're trying to test the bytecode of a new virtual machine, or if you're eager to write programs for that new microprocessor architecture you just implemented in an FPGA chip!
You can install directly from crates.io by running cargo install customasm. Then the customasm application should automatically become available in your command-line environment.
Frozen intends to be a radio BBS optimized for slow connections. This is the very beginning of the project. The current status is that Frozen has a working message board, an admin tool to manage data, a terminal client to interact with the BBS, and a (very crummy!) connection to Meshtastic radios.
Privastead is a privacy-preserving home security camera solution that uses end-to-end encryption. It has three key benefits: End-to-end encryption using the OpenMLS implementation of the Messaging Layer Security (MLS) protocol. Software-only solution that works with existing IP cameras with minimal trust assumptions about the IP camera. Rust implementation (camera hub, MLS code for the mobile app, and untrusted server).
The Privastead camera solution has three components: A camera hub, which runs on a local machine and directly interacts with IP camera(s). A mobile app that allows one to receive event notifications (e.g., motion) as well as livestream the camera remotely. An untrusted server that relays (encrypted) messages between the hub and the app. In addition, Privastead uses the Google Firebase Cloud Messaging (FCM) for notifications. Similar to the server, FCM is untrusted.
An extremely fast Python package and project manager, written in Rust. A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more. Installs different versions of side by side Python and allows quickly switching between them. Sometimes it's as simple as throwing uv
in front of the usual commands you'd run.
Handy if the system you're working on is on the older side and you can't update the version of Python available. Kind of like rvm, but for Python. Cross platform, available for just about everything you're likely to use. Can even be installed with pip
.
Works at the project level, the user account level, and the venv level.
mdBook is a command line tool to create books with Markdown. It is ideal for creating product or API documentation, tutorials, course materials or anything that requires a clean, easily navigable and customizable presentation. Lightweight Markdown syntax helps you focus more on your content. Integrated search support. Color syntax highlighting for code blocks for many different languages. Theme files allow customizing the formatting of the output. Preprocessors can provide extensions for custom syntax and modifying content. Backends can render the output to multiple formats.
Decoder for ADS-B(Automatic Dependent Surveillance-Broadcast) Downlink Format protocol packets from 1090mhz. View planes in the sky around you, with only a rtl-sdr!
It's a fully scrollable, watchable ADSB map but is text-mode only.
Relies upon libadsb_deku for everything.
Gosub is a web browser with its own web engine. This engine is a modular system that allows developers to easily plug in their own components to customize the functionality of the engine. This will result in a more diverse landscape of browsers in the future.
With a pluggable engine, developers can create their own rendering pipeline, their own JavaScript engine without a single company or organisation forcing their own agenda on the web.
Aims to start out as a web browser but then split off into a library that other projects can use (while presumably having its own browser as a PoC). This project is in its early stages, and probably won't be a very fast one.
It looks like it's trying to be a Slack or Discord replacement, judging by the UI and described use cases. Claims that it's going end-to-end encrypted Real Soon Now.
GitHub: https://github.com/orgs/revoltchat/repositories
The Github org has multiple clients:
And a server (backend).
List system USB buses and devices; a lib and modern cross-platform lsusb that attempts to maintain compatibility with, but also add new features. Includes a macOS system_profiler SPUSBDataType parser module and libusb profiler for non-macOS systems/gathering more verbose information.
The project started as a quick replacement for the barely working lsusb script and a Rust project to keep me up to date! Like most fun projects, it quickly experienced feature creep as I developed it into a cross-platform replacement for lsusb.
As a developer of embedded devices, I use a USB list tool on a frequent basis and developed this to cater to what I believe are the short comings of lsusb: verbose dump is too verbose, tree doesn't contain useful data on the whole, it barely works on non-Linux platforms and modern terminals support features that make glancing through the data easier.
STU is a TUI explorer application for Amazon S3 (AWS S3) written in Rust. Basically, you can use it in the same way as the AWS CLI. In other words, if the default profile settings exist or the environment variables are set, you do not need to specify any options.
RIOT is a free, open source operating system developed by a grassroots community gathering companies, academia, and hobbyists, distributed all around the world. RIOT supports most low-power IoT devices, microcontroller architectures (32-bit, 16-bit, 8-bit), and external devices. RIOT aims to implement all relevant open standards supporting an Internet of Things that is connected, secure, durable & privacy-friendly.
Supports over 200 boards based on AVR, MSP430, ESP8266, ESP32, RISC-V, ARM7 and ARM Cortex-M microcontrollers.
RIOT supports DTLS transport layer security, IEEE 802.15.4 encryption, Secure Firmware Updates (SUIT), multiple cryptographic packages, and crypto secure elements. Modular to adapt to application needs. We aim to support all common network technologies and Internet standards. RIOT is open to new developments and often an early adaptor in networking.
Develop in standard languages using standard tools. Modular. Real-time capable. Multithreaded with low overhead (less than 25 bytes/thread). Supports common and specialized protocols (6LoWPAN, IPv6, RPL, UDP, TCP, QUIC, MQTT-SN, CoAP, CBOR) and interfaces (BLE, LoRaWAN, 802.15.4, WLAN, CAN). Static and dynamic memory allocation.
Github: https://github.com/RIOT-OS/RIOT
Like Tailscale (wireguard, actually) but running over the Veilid network.
A network pipe utility that lets you publish and consume TCP services over the Veilid network.
Like netcat but using Veilid.
Works with any Wireguard server (but if you use theirs you get some additional functionality). Supports MFA.
Sonic is a fast, lightweight and schema-less search backend. It ingests search texts and identifier tuples that can then be queried against in a microsecond's time.
Sonic can be used as a simple alternative to super-heavy and full-featured search backends such as Elasticsearch in some use-cases. It is capable of normalizing natural language search queries, auto-completing a search query and providing the most relevant results for a query. Sonic is an identifier index, rather than a document index; when queried, it returns IDs that can then be used to refer to the matched documents in an external database.
A strong attention to performance and code cleanliness has been given when designing Sonic. It aims at being crash-free, super-fast and puts minimum strain on server resources (our measurements have shown that Sonic - when under load - responds to search queries in the μs range, eats ~30MB RAM and has a low CPU footprint
Available in Arch as extra/sonic.
Configuration docs: https://github.com/valeriansaliou/sonic/blob/master/CONFIGURATION.md
An aquarium that runs in your terminal!
A decoration/fidget-toy that lets you watch your fishes' lifecycle while you code. Test drive of my plugin bevy_ratatui_render, a plugin that lets you render a bevy application to the terminal using ratatui/ratatui-image.
You can feed your fish and turn their light on and off. Has optional sound effects, also.
In the AUR.
Galois Extended Mode (GEM) is a block cipher mode similar to Galois/Counter Mode but with the following enhancements:
GEM achieves this with minimal overhead.
I don't know if this is a good idea or not, I don't even know if anybody's reviewed it yet. But, just in case it seems smart to keep a link handy.