Awesome Rust
fcsonline/drill - A HTTP load testing application inspired by Ansible syntax
fend - Arbitrary-precision unit-aware calculator
Fractalide - Simple microservices
habitat - A tool created by Chef to build, deploy, and manage applications.
Herd - an experimental HTTP load testing application
hickory-dns - A DNS-server
kftray - A cross-platform system tray app for managing and sharing multiple kubectl port-forward configurations.
kytan - High Performance Peer-to-Peer VPN
linkerd/linkerd2-proxy - Ultralight service mesh for Kubernetes.
MaidSafe - A decentralized platform.
mdBook - A command line utility to create books from markdown files
figsoda/mmtc [mmtc] - Minimal mpd terminal client that aims to be simple yet highly configurable
Glicol - Graph-oriented live coding language, for collaborative musicking in browsers.
ncspot - Cross-platform ncurses Spotify client, inspired by ncmpc and the likes.
Pinepods - A rust based podcast management system with multi-user support. Pinepods utilizes a central database so aspects like listen time and themes follow from device to device. With clients built using Tauri, it's a full cross-platform listening solution!
Polaris - A music streaming application.
Spotify Player - A Spotify player in the terminal with full feature parity.
Spotifyd - An open source Spotify client running as a UNIX daemon.
Bitcoin Satoshi's Vision [sv] - A library for working with Bitcoin SV.
cairo - Cairo is the first Turing-complete language for creating provable programs for general computation. This is also the native language of StarkNet, a ZK-Rollup using STARK proofs
cairo-vm - Implementation of the Cairo VM
ChainX - Fully Decentralized Interchain Crypto Asset Management on Polkadot.
CITA - A high performance blockchain kernel for enterprise users.
coinbase-pro-rs - Coinbase pro client, supports sync/async/websocket
Diem - Diem’s mission is to enable a simple global currency and financial infrastructure that empowers billions of people.
dusk-network/rusk - Reference implementation of Dusk, a privacy-focused, scalable FMI for real-world assets (RWA) and compliant financial applications.
electrumrs - An efficient re-implementation of Electrum Server.
ethabi - Encode and decode smart contract invocations.
ethaddrgen - Custom Ethereum vanity address generator
ethers-rs - Complete Ethereum & Celo library and wallet implementation.
etk - etk is a collection of tools for writing, reading, and analyzing EVM bytecode.
Forest - Filecoin implementation
Foundry - Foundry is a blazing fast, portable and modular toolkit for Ethereum application development.
Grin - Evolution of the MimbleWimble protocol
hdwallet [hdwallet] - BIP-32 HD wallet related key derivation utilities.
Holochain - Scalable P2P alternative to blockchain for all those distributed apps you always wanted to build.
Hyperlane - Framework for permissionless, modular interoperability. The offchain clients are written in Rust, as well as the smart contracts for Solana VM and CosmWasm.
ibc-rs - Implementation of the Interblockchain Communication protocol
infincia/bip39-rs [bip39] - Implementation of BIP39.
interBTC - Trustless and fully decentralized Bitcoin bridge to Polkadot and Kusama.
Joystream - A user governed video platform
Lighthouse - Ethereum Consensus Layer (CL) Client
mev-inspect-rs - Ethereum MEV Inspector.
near/nearcore - decentralized smart-contract platform for low-end mobile devices.
Nervos CKB - Nervos CKB is a public permissionless blockchain, the common knowledge layer of Nervos network.
opensea-rs - Bindings & CLI to the Opensea API and Contracts.
Parity-Bitcoin - The Parity Bitcoin client
Phala-Network/phala-blockchain - Confidential smart contract blockchain based on Intel SGX and Substrate
polkadot-sdk - The Parity Polkadot Blockchain SDK
reth - Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol.
revm - Revolutionary Machine (revm) is a fast Ethereum virtual machine.
rust-bitcoin - Library with support for de/serialization, parsing and executing on data structures and network messages related to Bitcoin.
rust-lightning - Bitcoin Lightning library. The main crate,lightning
, does not handle networking, persistence, or any other I/O. Thus,it is runtime-agnostic, but users must implement basic networking logic, chain interactions, and disk storage.po on linking crate.
sigma-rust - ErgoTree interpreter and wallet-related features.
Solana - Incredibly fast, highly scalable blockchain using Proof-of-History.
Subspace - The first layer-one blockchain that can fully resolve the blockchain trilemma by simultaneously achieving scalability, security, and decentralization.
Sui - A next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language.
svm-rs - Solidity-Compiler Version Manager.
tendermint-rs - Tendermint blockchain data structures and clients
wagyu [wagyu] - Library for generating cryptocurrency wallets
zcash - Zcash is an implementation of the "Zerocash" protocol.
Database
- Atomic-Server [atomic-server] - NoSQL graph database with realtime updates, dynamic indexing and easy-to-use GUI for CMS purposes.
- CozoDB - A transactional, relational database that uses Datalog and focuses on graph data and algorithms. Time-travel-capable, and fast!
- darkbird [darkbird] - HighConcurrency, RealTime, InMemory storage inspired by erlang mnesia
- Databend - A Modern Real-Time Data Processing & Analytics DBMS with Cloud-Native Architecture
- DB3 Network - DB3 is a community-driven blockchain layer2 decentralized database network
- erikgrinaker/toydb - Distributed SQL database, written as a learning project.
- FnckSQL - SQL as a Function for Rust
- Garage [garage] - S3-compatible distributed object storage service designed for self-hosting at a small-to-medium scale.
- GreptimeDB - An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported.
- indradb - Graph database
- lancedb [vectordb] - A serverless, low-latency vector database for AI applications
- Lucid - High performance and distributed KV store accessible through a HTTP API.
- Qrlew/qrlew [qrlew] - The SQL-to-SQL Differential Privacy layer
- RisingWaveLabs/RisingWave - the next-generation streaming database in the cloud
- seppo0010/rsedis - A Redis reimplementation.
- Skytable - A multi-model NoSQL database
- sled - A (beta) modern embedded database
Gameboy
- Gekkio/mooneye-gb - A Game Boy research project and emulator
- joamag/boytacean - GameBoy Color emulator that runs on the Web using WebAssembly.
- mohanson/gameboy - Full featured Cross-platform GameBoy emulator. Forever boys!.
- mvdnes/rboy - A Gameboy Emulator
Gameboy Advance
- michelhe/rustboyadvance-ng - RustboyAdvance-ng is a Gameboy Advance emulator with desktop, android and WebAssembly support.
ZX Spectrum
File manager
- broot - A new way to see and navigate directory trees (get an overview of a directory, even a big one; find a directory then
cd
to it; never lose track of file hierarchy while you search; manipulate your files, ...), further reading dystroy.org/broot
- joshuto - ranger-like terminal file manager
- xplr - A hackable, minimal, fast TUI file explorer
- yazi - Blazing fast terminal file manager, based on async I/O.
Games
See also Games Made With Piston.
- buxx/OpenCombat - A realtime 2nd world war tactical game
- chess-tui - A Chess TUI implementation ♟️
- citybound - The city sim you deserve
- cristicbz/rust-doom - A renderer for Doom, may progress to being a playable game
- doukutsu-rs - Reimplementation of Cave Story engine with some enhancements.
- garkimasera/rusted-ruins - Extensible open world rogue like game with pixel art
- gorilla-devs/ferium - Ferium is a fast and feature rich CLI program for downloading and updating Minecraft mods from Modrinth, CurseForge, and GitHub Releases, and modpacks from Modrinth and CurseForge
- mtkennerly/ludusavi - Backup tool for PC game saves
- ozkriff/zemeroth - A small 2D turn-based hexagonal strategy game
- rhex - hexagonal ascii roguelike
- rsaarelm/magog - A roguelike game.
- SoftbearStudios/mk48 - Mk48.io is an online multiplayer naval combat game
- swatteau/sokoban-rs - A Sokoban implementation
- thetawavegame/thetawave-legacy - A space shooter game that strives to be an entry point for new game developers to make their first contributions.
Industrial automation
- locka99/opcua - A OPC UA library.
- slowtec/tokio-modbus - A tokio-based modbus library.
Message Queue
- RobustMQ - Next generation cloud-native converged message queue.
MLOps
- TensorZero - data & learning flywheel for LLMs that unifies inference, observability, optimization, and experimentation
Observability
- avito-tech/bioyino - A high-performance scalable StatsD compatible server.
- MegaAntiCheat/client-backend - The client app for MAC.
- openobserve - 10x easier, 140x lower storage cost, high performance, petabyte scale - Elasticsearch/Splunk/Datadog alternative.
- OpenTelemetry - OpenTelemetry provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application. You can analyze them using Prometheus, Jaeger, and other observability tools.
- yashs662/rust_kanban [rust-kanban] - A Kanban App for the terminal
Routing protocols
- Holo - Holo is a suite of routing protocols designed to support high-scale and automation-driven networks
- RustyBGP - BGP
Security tools
- AdGuardian-Term [adguardian] - Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home instance
- AFLplusplus/LibAFL - Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, etc.
- arp-scan-rs - A minimalistic ARP scan tool for fast local network scans
- cargo-audit - Audit Cargo.lock for crates with security vulnerabilities
- cargo-auditable - Make production Rust binaries auditable
- cargo-crev - A cryptographically verifiable code review system for the cargo package manager.
- cargo-deny - Cargo plugin to help you manage large dependency graphs
- Cherrybomb - Stop half-done API specifications with a CLI tool that helps you avoid undefined user behaviour by validating your API specifications.
- cotp - Trustworthy, encrypted, command-line TOTP/HOTP authenticator app with import functionality.
- entropic-security/xgadget [xgadget] - Fast, parallel, cross-variant ROP/JOP gadget search
- epi052/feroxbuster - A simple, fast, recursive content discovery tool.
- Inspektor - A database protocol-aware proxy that is used to enforce access policies ?
- kpcyrd/authoscope - A scriptable network authentication cracker
- kpcyrd/rshijack - A TCP connection hijacker; rewrite of shijack
- kpcyrd/sn0int - A semi-automatic OSINT framework and package manager
- kpcyrd/sniffglue - A secure multithreaded packet sniffer
- observer_ward - Web application and service fingerprint identification tool
- Raspirus - User- and resources-friendly rules-based malware scanner
- ripasso - A password manager, filesystem compatible with pass
- rustscan/rustscan - Make Nmap faster with this port scanning tool
System tools
- ajeetdsouza/zoxide - A fast alternative to
cd
that learns your habits
- atuin [atuin] - Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.
- bandwhich - Terminal bandwidth utilization tool
- bottom - Yet another cross-platform graphical process/system monitor.
- brocode/fblog - Small command-line JSON Log viewer
- brush-shell - bash/POSIX-compatible shell
- bustd - Lightweight process killer daemon to handle out-of-memory scenarios on Linux.
- buster/rrun - A command launcher for Linux, similar to gmrun
- cantino/mcfly - Fly through your shell history. Great Scott!
- ChurchTao/clipboard-rs [clipboard-rs] - Cross-platform library written in Rust for getting and setting and monitoring changes the system-level clipboard content.
- crabz - Multi-threaded compression and decompression CLI tool
- cristianoliveira/funzzy - A configurable filesystem watcher inspired by entr
- dalance/procs - A modern replacement for 'ps'
- ddh - Fast duplicate file finder
- diskonaut - Terminal visual disk space navigator
- dust - A more intuitive version of du
- eza-community/eza - A replacement for 'ls'
- fselect - Find files with SQL-like queries
- gitui - Blazing fast terminal client for git.
- jacek-kurlit/pik [pik] - A TUI command line tool that helps to find and kill processes
- Kondo - CLI & GUI tool for deleting software project artifacts and reclaiming disk space
- LACT - Linux AMDGPU Controller
- lodosgroup/lpm - An experimental system package manager
- lotabout/rargs [rargs] - xargs + awk with pattern matching support
- lsd - An ls with a lot of pretty colors and awesome icons
- sitkevij/hex - A colorized hexdump terminal utility.
- skim - A fuzzy finder
- supercilex/fuc - Fast
cp
and rm
commands
- trippy - A network diagnostic tool
- uutils/coreutils - A cross-platform rewrite of the GNU coreutils
- watchexec - Executes commands in response to file modifications
- XAMPPRocky/tokei - counts the lines of code
- ynqa/jnv - Interactive JSON filter using jq
Task scheduling
- delicate - A lightweight and distributed task scheduling platform.
- tasklet [tasklet] - A task scheduling library written in Rust
Text editors
- amp - Inspired by Vi/Vim.
- emacs-ng - Complementing the C codebase with rust code to introduce new features.
- gchp/iota - A simple text editor
- helix - A post-modern modal text editor inspired by Neovim/Kakoune.
- ilai-deutel/kibi - A tiny (≤1024 LOC) text editor with syntax highlighting, incremental search and more.
- grex - A command-line tool and library for generating regular expressions from user-provided test cases
- jqnatividad/qsv [qsv] - A high performance CSV data-wrangling toolkit. Forked from xsv, with 34+ additional commands & more.
- Lisprez/so_stupid_search - A simple and fast string search tool for human beings
- Melody - A language that compiles to regular expressions and aims to be more easily readable and maintainable
- phiresky/ripgrep-all - ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.
- replicadse/complate - An in-terminal text templating tool designed for standardizing messages (like for GIT commits).
- brycx/checkpwn - A Have I Been Pwned (HIBP) command-line utility tool that lets you easily check for compromised accounts and passwords.
- dcapal - DcaPal is a free, no registration, online tool to help you keep your portfolio balanced with dollar cost averaging investments.
- Epic Asset Manager - An unofficial client to install Unreal Engine, download and manage purchased assets, projects, plugins and games from the Epic Games Store.
- evansmurithi/cloak - A Command Line OTP (One Time Password) Authenticator application.
- fcsonline/tmux-thumbs - A lightning fast version of tmux-fingers, copy/pasting tmux like vimium/vimperator.
- guoxbin/dtool - A useful command-line tool collection to assist development including conversion, codec, hashing, encryption, etc.
- Linus-Mussmaecher/rucola - Terminal-based markdown note manager.
- Mobslide - Desktop application that turns your smartphone into presentation remote controller.
- mprocs - TUI for running multiple processes
- mrjackwills/oxker [oxker] - A simple tui to view & control docker containers.
- nix-community/nix-init - Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more
- nix-community/nix-melt - A ranger-like flake.lock viewer
- nix-community/nurl [nurl] - Generate Nix fetcher calls from repository URLs
- nomino - Batch rename utility for developers
- raftario/licensor - write licenses to stdout
- rustdesk/rustdesk - A remote desktop software, great alternative to TeamViewer and AnyDesk.
- rustic-rs/rustic [rustic-rs] - Fast, encrypted, deduplicated backups powered by Rust.
- sorairolake/qrtool [qrtool] - A utility for encoding and decoding QR code images.
- Tabiew - A lightweight TUI app to view and query CSV files.
- tversteeg/emplace - Synchronize installed packages on multiple machines
- vamolessa/verco [verco] - A simple Git/Hg tui client focused on keyboard shortcuts
- vaultwarden - Alternative implementation of the Bitwarden server API written in Rust
- Vibe - Transcribe audio or video in every language on every platform.
- warpdotdev/Warp - ? Warp is a blazingly-fast modern GPU-accelerated terminal built to make you and your team more productive.
- wrestic - A wrapper around restic.
- wthrr - Weather companion for the terminal.
Video
- dertuxmalwieder/yaydl [yaydl] - A simple video downloader
- gyroflow/gyroflow - Video stabilization application using gyroscope data
- harlanc/xiu - A powerful and secure live server (rtmp/httpflv/hls/relay).
- vidmerger - Merge video & audio files via CLI
- xiph/rav1e - The fastest and safest AV1 encoder.
Virtualization
- firecracker-microvm/firecracker - A lightweight virtual machine for container workload Firecracker Microvm
- kata-containers/kata-containers - A implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs.
- tailhook/vagga - A containerization tool without daemons
- youki-dev/youki - A container runtime
- LemmyNet/lemmy - A link aggregator / reddit clone for the fediverse
- libreddit - An alternative private front-end to Reddit
- MASQ-Project/Node - MASQ Node software provides a decentralized mesh-network of nodes for global users to access normal internet content - next evolution of tech beyond Tor & VPN
- Plume-org/Plume - ActivityPub federating blogging application
- Revolt/backend - User-first chat platform built with modern web technologies.
Web Servers
- cloudflare/pingora - A library for building fast, reliable and evolvable network services.
- emanuele-em/proxelar - A MITM Proxy ?! Toolkit for HTTP/1, HTTP/2, and WebSockets with SSL/TLS Capabilities
- Mini RPS - Mini reverse proxy server, HTTPS, CORS, static file hosting and template engine (minijinja) crates.io
- mu-arch/skyfolder - ? Beautiful HTTP/Bittorrent server without the hassle. Secure - GUI - Pretty - Fast
- mufeedvh/binserve - A blazingly fast static web server with routing, templating, and security in a single binary you can set up with zero code
- svenstaro/miniserve - A small, self-contained cross-platform CLI tool that allows you to just grab the binary and serve some file(s) via HTTP
- create-rust-app - Set up a modern rust+react web app by running one command.
- dan-t/rusty-tags - create ctags/etags for a cargo project and all of its dependencies
- datanymizer/datanymizer - Powerful database anonymizer with flexible rules
- dotenv-linter - Linter for
.env
files
- fzf-make [fzf-make] - A command line tool that executes make target using fuzzy finder with preview window.
- geiger - A program that list statistics related to usage of unsafe code in a crate and all its dependencies
- git-cliff - A highly customizable Changelog Generator that follows Conventional Commit specifications
- git-journal - The Git Commit Message and Changelog Generation Framework
- hot-lib-reloader - Hot reload Rust code
- intelli-shell - Bookmark commands with placeholders and search or autocomplete at any time
- just - A handy command runner for project-specific tasks
- mask - A CLI task runner defined by a simple markdown file
- cargo-benchcmp - A utility to compare micro-benchmarks
- cargo-bitbake - A cargo extension that can generate BitBake recipes utilizing the classes from meta-rust
- cargo-cache - inspect/manage/clean your cargo cache (
~/.cargo/
/${CARGO_HOME}
), print sizes etc
- cargo-count - lists source code counts and details about cargo projects, including unsafe statistics
- cargo-deb - Generates binary Debian packages
- cargo-depgraph - Creates dependency graphs for cargo projects using cargo metadata and graphviz
- cargo-do - run multiple cargo commands in a row
- cargo-ebuild - cargo extension that can generate ebuilds using the in-tree eclasses
- cargo-edit - allows you to add and list dependencies by reading/writing to your Cargo.toml file from the command line
- cargo-generate - A generator of a rust project by leveraging a pre-existing git repository as a template.
- cargo-info - queries crates.io for crates details from command line
- cargo-license - A cargo subcommand to quickly view the licenses of all dependencies.
- cargo-limit - Cargo with less noise: warnings are skipped until errors are fixed, Neovim integration, etc.
- cargo-make - Task runner and build tool.
- cargo-release - tool for releasing git-managed cargo project, build, tag, publish, doc and push
- cargo-script - lets people quickly and easily run Rust "scripts" which can make use of Cargo's package ecosystem
- cargo-udeps [cargo-udeps] - find unused dependencies
- cargo-update - cargo subcommand for checking and applying updates to installed executables
- cargo-watch - utility for cargo to compile projects when sources change
- dtolnay/cargo-expand - Expand macros in your source code
CMake
- Devolutions/CMakeRust - useful for integrating a Rust library into a CMake project
- SiegeLord/RustCMake - an example project showing usage of CMake with Rust
facebook/buck2 - Buck2 is a large-scale build tool built in Rust
Fleet [fleet-rs] - The blazing fast build tool for Rust.
GitHub actions
- icepuma/rust-action - rust github action
- peaceiris/actions-mdbook - GitHub Actions for mdBook
Nix
- nix-community/fenix - Rust toolchains and rust analyzer nightly for nix
pantsbuild/pants - Pants is a fast, scalable, user-friendly build system for codebases of all sizes built in Rust.
tracemachina/nativelink - NativeLink is a Backend Remote Execution platform written in rust for client build systems such as Buck2, Bazel, Pants, etc..
Debugging
- GDB
- gdbgui - Browser based frontend for gdb to debug C, C++, Rust, and go.
- kxxt/tracexec [tracexec] - Tracer for execve{,at} and pre-exec behavior, launcher for debuggers.
- LLDB
- CodeLLDB - A LLDB extension for Visual Studio Code.
Deployment
- Docker
- emk/rust-musl-builder - Docker images for compiling static Rust binaries using musl-libc and musl-gcc, with static versions of useful C libraries
- kpcyrd/mini-docker-rust - An example project for very small rust docker images
- liuchong/docker-rustup - A multiple version (with musl tools) Rust Docker image
- LukeMathWalker/cargo-chef - A tool and pre-built images for caching compiling remote dependencies between Docker builds.
- rust-cross/rust-musl-cross - Docker images for compiling static Rust binaries using musl-cross
- rust-lang-nursery/docker-rust - the official Rust Docker image
- Stavrospanakakis/is_ready - Wait for multiple services to become available
- Heroku
- emk/heroku-buildpack-rust - A buildpack for Rust applications on Heroku
- MarcoIeni/release-plz [release-plz] - Release crates from CI, with changelog generation and semver check.
Embedded
Rust Embedded focuses on improving the end-to-end experience of using Rust in resource-constrained environments and non-traditional platforms. See awesome-embedded-rust for a curated, and more extended list of embedded Rust resources.
- Arduino
- avr-rust/ruduino - Reusable components for the Arduino Uno.
- Cross compiling
- japaric/rust-cross - everything you need to know about cross compiling Rust programs
- japaric/xargo - effortless cross compilation of Rust programs to custom bare-metal targets like ARM Cortex-M
- Espressif
- esp-rs - home to a number of community projects enabling the use of the Rust programming language on various SoCs and modules produced by Espressif Systems.
- Firmware
- oreboot/oreboot - oreboot is a fork of coreboot, with C removed, written in Rust
- nRF
- nrf-rs/nrf-hal - A Rust HAL for the nRF family of devices
FFI
See also Foreign Function Interface, The Rust FFI Omnibus (a collection of examples of using code written in Rust from other languages) and FFI examples written in Rust.
Expand