diff --git a/README.md b/README.md index 5d68006..0c02ebf 100644 --- a/README.md +++ b/README.md @@ -128,11 +128,14 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [trust-dns](https://crates.io/crates/trust-dns) — A DNS-server [](https://travis-ci.org/bluejekyll/trust-dns) * [Weld](https://github.com/serayuzgur/weld) — Full fake REST API generator [](https://travis-ci.org/serayuzgur/weld) * [kytan](https://github.com/changlan/kytan) - High Performance Peer-to-Peer VPN +* [rx](https://github.com/cloudhead/rx) - Vi inspired Modern Pixel Art Editor +* [updns](https://github.com/wyhaya/updns) - DNS proxy tool ### Audio * [indiscipline/zrtstr](https://github.com/indiscipline/zrtstr) — A command line utility for checking if stereo wav files are faux-stereo (i.e. have identical channels) and converting such files to mono. [](https://travis-ci.org/indiscipline/zrtstr) * [Polaris](https://github.com/agersant/polaris) — A music streaming application. [](https://travis-ci.org/agersant/polaris) +* [Spotify TUI](https://github.com/Rigellute/spotify-tui) — A Spotify client for the terminal written in Rust. [](https://github.com/Rigellute/spotify-tui/actions?workflow=Continuous+Integration) ### Cryptocurrencies @@ -160,13 +163,14 @@ See also [Rust — Production](https://www.rust-lang.org/production) organizatio * [Substrate](https://github.com/paritytech/substrate) — Generic modular blockchain template written in Rust * [wagyu](https://crates.io/crates/wagyu) — Rust library for generating cryptocurrency wallets [](https://api.travis-ci.com/ArgusHQ/wagyu.svg?branch=master) * [zcash](https://github.com/zcash/zcash) — Zcash is an implementation of the "Zerocash" protocol. +* [YeeCo yeeroot](https://github.com/yeeco/yeeroot) — YeeCo yeeroot is a permissionless, secure, high performance and scalable public blockchain platform powered by full sharding technology on PoW consensus written in Rust ### Database * [indradb](https://crates.io/crates/indradb) — Rust based graph database [](https://travis-ci.org/indradb/indradb) * [noria](https://crates.io/crates/noria) — Dynamically changing, partially-stateful data-flow for web application backends [](https://travis-ci.org/mit-pdos/noria) +* [Lucid](https://github.com/clintnetwork/lucid) - High performance and distributed KV store accessible through a HTTP API. [![Build Status](https://travis-ci.com/clintnetwork/lucid.svg)](https://travis-ci.com/clintnetwork/lucid) * [ParityDB](https://github.com/paritytech/paritydb) — Fast and reliable database, optimised for read operation -[](https://travis-ci.org/paritytech/paritydb) * [PumpkinDB](https://github.com/PumpkinDB/PumpkinDB) — an event sourcing database engine [](https://travis-ci.org/PumpkinDB/PumpkinDB) * [seppo0010/rsedis](https://github.com/seppo0010/rsedis) — A Redis reimplementation in Rust [](https://travis-ci.org/seppo0010/rsedis) * [tikv](https://github.com/tikv/tikv) — A distributed KV database in Rust [](https://circleci.com/gh/tikv/tikv) @@ -177,6 +181,8 @@ See also [crates matching keyword 'emulator'](https://crates.io/keywords/emulato * Commodore 64 * [kondrak/rust64](https://github.com/kondrak/rust64) — [](https://travis-ci.org/kondrak/rust64) +* Flash Player + * [Ruffle](https://github.com/ruffle-rs/ruffle) — Ruffle is an Adobe Flash Player emulator written in the Rust programming language. Ruffle targets both the desktop and the web using WebAssembly. [](https://circleci.com/gh/ruffle-rs/ruffle) * Gameboy * [Gekkio/mooneye-gb](https://github.com/Gekkio/mooneye-gb) — [](https://travis-ci.org/Gekkio/mooneye-gb) * [mvdnes/rboy](https://github.com/mvdnes/rboy) — [](https://travis-ci.org/mvdnes/rboy) @@ -194,7 +200,7 @@ See also [crates matching keyword 'emulator'](https://crates.io/keywords/emulato * Virtual Boy * [emu-rs/rustual-boy](https://github.com/emu-rs/rustual-boy) — [](https://travis-ci.org/emu-rs/rustual-boy) * Intel 8080 CPU - * [mohanson/i8080](https://github.com/mohanson/i8080) — Intel 8080 cpu emulator by Rust + * [mohanson/i8080](https://github.com/mohanson/i8080) — Intel 8080 cpu emulator by Rust * Emulator Development tools * SNES * [ioncodes/snesutilities](https://github.com/ioncodes/snesutilities) — ROM analyser/extractor @@ -208,6 +214,7 @@ See also [Games Made With Piston](https://github.com/PistonDevelopers/piston/wik * [schulke-214/connect-four](https://github.com/schulke-214/connect-four) — A simple connect four implementation. * [rsaarelm/magog](https://github.com/rsaarelm/magog) — A roguelike game in Rust * [schulke-214/rsnake](https://github.com/schulke-214/rsnake) — Snake written in Rust. +* [soydos](https://github.com/soydos/pusoy_dos2) - A wasm implementation of Pusoy Dos * [cristicbz/rust-doom](https://github.com/cristicbz/rust-doom) — A renderer for Doom, may progress to being a playable game [](https://travis-ci.org/cristicbz/rust-doom) * [Thinkofname/rust-quake](https://github.com/Thinkofname/rust-quake) — Quake map renderer in Rust * [rhex](https://github.com/dpc/rhex) — hexagonal ascii roguelike @@ -258,8 +265,9 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [kpcyrd/rshijack](https://github.com/kpcyrd/rshijack) — A TCP connection hijacker, rust rewrite of shijack [](https://travis-ci.org/kpcyrd/rshijack) * [kpcyrd/sniffglue](https://github.com/kpcyrd/sniffglue) — A secure multithreaded packet sniffer [](https://travis-ci.org/kpcyrd/sniffglue) * [kpcyrd/sn0int](https://github.com/kpcyrd/sn0int) — A semi-automatic OSINT framework and package manager [](https://travis-ci.org/kpcyrd/sn0int) -* [rozgo/anevicon](https://github.com/rozgo/anevicon) — The most powerful UDP-based load generator, written in Rust -* [isgasho/finshir](https://github.com/isgasho/finshir) — A coroutines-driven Low & Slow traffic generator, written in Rust +* [Gymmasssorla/anevicon](https://github.com/Gymmasssorla/anevicon) — The most powerful UDP-based load generator, written in Rust [](https://travis-ci.com/Gymmasssorla/anevicon) +* [Gymmasssorla/finshir](https://github.com/Gymmasssorla/finshir) — A coroutines-driven Low & Slow traffic generator, written in Rust [](https://travis-ci.com/Gymmasssorla/finshir) +* [phra/rustbuster](https://github.com/phra/rustbuster) - A Comprehensive Web Fuzzer and Content Discovery Tool ### System tools @@ -329,6 +337,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [fcsonline/tmux-thumbs](https://github.com/fcsonline/tmux-thumbs) — A lightning fast version of tmux-fingers written in Rust, copy/pasting tmux like vimium/vimperator. * [repoch](https://github.com/lucawen/repoch) — Convert epoch to datetime and datetime to epoch [](https://travis-ci.com/lucawen/repoch/) * [yaa110/cb](https://github.com/yaa110/cb) — Command line interface to manage clipboard [![Build Status](https://api.travis-ci.org/yaa110/cb.svg?branch=master)](https://travis-ci.org/yaa110/cb) +* [tversteeg/emplace](https://github.com/tversteeg/emplace) - Synchronize installed packages on multiple machines ### Video @@ -354,7 +363,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [thecoshman/http](https://github.com/thecoshman/http) — Host These Things Please — A basic http server for hosting a folder fast and simply [](https://travis-ci.org/thecoshman/http) * [svenstaro/miniserve](https://github.com/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 [](https://travis-ci.org/svenstaro/miniserve) * [TheWaWaR/simple-http-server](https://github.com/TheWaWaR/simple-http-server) — simple static http server -* [wyhaya/see](https://github.com/wyhaya/see) — Static file server [![Build Status](https://img.shields.io/travis/wyhaya/see.svg)](https://travis-ci.org/wyhaya/see) +* [wyhaya/see](https://github.com/wyhaya/see) — Static HTTP file server [![Build Status](https://img.shields.io/travis/wyhaya/see.svg)](https://travis-ci.org/wyhaya/see) ## Development tools @@ -376,6 +385,7 @@ See also [A comparison of operating systems written in Rust](https://github.com/ * [semantic-rs](https://github.com/semantic-rs/semantic-rs) — automatic crate publishing [](https://travis-ci.org/semantic-rs/semantic-rs) * [fw](https://github.com/brocode/fw) — workspace productivity booster [](https://travis-ci.org/brocode/fw) * [tinyrick](https://github.com/mcandre/tinyrick) a basic task dependency tool emphasizing Rust functions over raw shell commands. +* [scriptisto](https://github.com/igor-petruk/scriptisto) A language-agnostic "shebang interpreter" that enables you to write one file scripts in compiled languages. [![Build Status](https://cloud.drone.io/api/badges/igor-petruk/scriptisto/status.svg)](https://cloud.drone.io/igor-petruk/scriptisto) ### Build system @@ -582,6 +592,7 @@ See also [Are we (I)DE yet?](https://areweideyet.com/) and [Rust Tools](https:// * [rust-fuzz/afl.rs](https://github.com/rust-fuzz/afl.rs) — A Rust fuzzer, using [AFL](http://lcamtuf.coredump.cx/afl/) [](https://travis-ci.org/rust-fuzz/afl.rs) * [tarpaulin](https://crates.io/crates/cargo-tarpaulin) — A code coverage tool designed for Rust [](https://travis-ci.org/xd009642/tarpaulin) * [trust](https://github.com/japaric/trust) — A Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows +* [fake-rs](https://github.com/cksac/fake-rs) - A library for generating fake data [](https://travis-ci.org/cksac/fake-rs) ### Transpiling @@ -720,6 +731,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [LukasKalbertodt/term-painter](https://github.com/LukasKalbertodt/term-painter) [[term-painter](https://crates.io/crates/term-painter)] — cross-platform styled terminal output [](https://travis-ci.org/LukasKalbertodt/term-painter) * [vitiral/termstyle](https://github.com/vitiral/termstyle) [[termstyle](https://docs.rs/termstyle/0.1.2/termstyle/)] — build (and test) formatted and styled command line applications * [SergioBenitez/yansi](https://github.com/SergioBenitez/yansi) [[yansi](https://crates.io/crates/yansi)] — A dead simple ANSI terminal color painting library + * [mackwic/colored](https://github.com/mackwic/colored) [[colored](https://crates.io/crates/colored)] — Coloring terminal so simple, you already know how to do it! * TUI * [TimonPost/crossterm](https://github.com/crossterm-rs/crossterm) [[crossterm](https://crates.io/crates/crossterm)] — crossplatform terminal library * [gyscos/Cursive](https://github.com/gyscos/Cursive) [[cursive](https://crates.io/crates/cursive)] — build rich TUI applications [](https://travis-ci.org/gyscos/Cursive) @@ -740,7 +752,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [ende76/brotli-rs](https://github.com/ende76/brotli-rs) — implementation of Brotli compression * [dropbox/rust-brotli](https://github.com/dropbox/rust-brotli) — Brotli decompressor in Rust that optionally avoids the stdlib * bzip2 - * [alexcrichton/bzip2-rs](https://github.com/alexcrichton/bzip2-rs) — [libbz2](http://www.bzip.org) bindings [](https://travis-ci.org/alexcrichton/bzip2-rs) + * [alexcrichton/bzip2-rs](https://github.com/alexcrichton/bzip2-rs) — [libbz2](https://www.sourceware.org/bzip2/) bindings [](https://travis-ci.org/alexcrichton/bzip2-rs) * gzip * [carols10cents/zopfli](https://github.com/carols10cents/zopfli) — implementation of the [Zopfli](https://github.com/google/zopfli) compression algorithm for higher quality deflate or zlib compression * miniz @@ -795,6 +807,11 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [brycx/orion](https://github.com/brycx/orion) — This library aims to provide easy and usable crypto. 'Usable' meaning exposing high-level API's that are easy to use and hard to misuse. [](https://travis-ci.org/brycx/orion) * [ctz/rustls](https://github.com/ctz/rustls) — A Rust implementation of TLS * [DaGenix/rust-crypto](https://github.com/DaGenix/rust-crypto) — cryptographic algorithms in Rust [](https://travis-ci.org/DaGenix/rust-crypto) +* [dalek-cryptography/curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) - Pure Rust implementation of Curve25519 operations +* [dalek-cryptography/ed25519-dalek](https://github.com/dalek-cryptography/ed25519-dalek) - Pure Rust implementation of Ed25519 digital signatures +* [dalek-cryptography/x25519-dalek](https://github.com/dalek-cryptography/x25519-dalek) - Pure Rust implementation of X25519 key exchange +* [debris/tiny-keccak](https://github.com/debris/tiny-keccak) - Pure Rust implementation of the Keccak family (SHA3) +* [defund/pw](https://github.com/defund/pw) - CLI password manager with no frills * [dnaq/sodiumoxide](https://github.com/sodiumoxide/sodiumoxide) — [libsodium](https://github.com/jedisct1/libsodium) bindings [](https://travis-ci.org/dnaq/sodiumoxide) * [doublify/libblockchain](https://github.com/doublify/libblockchain) — A Blockchain implementation [](https://travis-ci.org/doublify/libblockchain) * [exonum/exonum](https://github.com/exonum/exonum) [[exonum](https://crates.io/crates/exonum)] — extensible framework for blockchain projects [](https://travis-ci.org/exonum/exonum) @@ -829,7 +846,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [Sofa](https://github.com/YellowInnovation/sofa) — an interface to CouchDB HTTP REST API for stable rust * Elasticsearch [[elasticsearch](https://crates.io/keywords/elasticsearch)] * [benashford/rs-es](https://github.com/benashford/rs-es) [[rs-es](https://crates.io/crates/rs-es)] — A Rust client for the [Elastic](https://www.elastic.co/) REST API [](https://travis-ci.org/benashford/rs-es) - * [elastic-rs/elastic-reqwest](https://github.com/elastic-rs/elastic-reqwest) [[elastic_reqwest](https://crates.io/crates/elastic_reqwest)] — A lightweight implementation of the Elasticsearch API based on Reqwest [](https://travis-ci.org/elastic-rs/elastic-reqwest) + * [elastic-rs/elastic](https://github.com/elastic-rs/elastic) [[elastic](https://crates.io/crates/elastic)] — elastic is an efficient, modular API client for Elasticsearch written in Rust [](https://travis-ci.org/elastic-rs/elastic) [](https://ci.appveyor.com/project/KodrAus/elastic) * etcd * [jimmycuadra/rust-etcd](https://github.com/jimmycuadra/rust-etcd) [[etcd](https://crates.io/crates/etcd)] — A client library for CoreOS's etcd. [](https://travis-ci.org/jimmycuadra/rust-etcd) * ForestDB @@ -893,6 +910,7 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * [saresend/gust](https://github.com/saresend/Gust) — [](https://travis-ci.org/saresend/Gust) * [milliams/plotlib](https://github.com/milliams/plotlib) — [](https://travis-ci.org/milliams/plotlib) +* [38/plotters](https://github.com/38/plotters) — [](https://travis-ci.org/38/plotters) ### Date and time @@ -961,8 +979,9 @@ See also [About Rust’s Machine Learning Community](https://medium.com/@autumn_ * JSON * [pikkr/pikkr](https://github.com/pikkr/pikkr) [[pikkr](https://crates.io/crates/pikkr)] — JSON parser which picks up values directly without performing tokenization in Rust * [serde-rs/json](https://github.com/serde-rs/json) [[serde\_json](https://crates.io/crates/serde_json)] — JSON support for [Serde](https://github.com/serde-rs/serde) framework [](https://travis-ci.org/serde-rs/json) - * [Licenser/simdjson-rs](https://github.com/simd-lite/simdjson-rs) [[simd-json](https://crates.io/crates/simd-json)] - High performance JSON parser based on a port of simdjson + * [Licenser/simdjson-rs](https://github.com/Licenser/simdjson-rs) [[simd-json](https://crates.io/crates/simd-json)] - High performance JSON parser based on a port of simdjson * [maciejhirsz/json-rust](https://github.com/maciejhirsz/json-rust) [[json](https://crates.io/crates/json)] — JSON implementation in Rust [](https://travis-ci.org/maciejhirsz/json-rust) + * [importcjj/a-json](https://github.com/importcjj/a-json) [[ajson]](https://crates.io/crates/ajson) — Get JSON values quickly [](https://travis-ci.com/importcjj/a-json) * Jsonnet * [Qihoo360/rust-jsonnet](https://github.com/Qihoo360/rust-jsonnet) — [](https://travis-ci.org/Qihoo360/rust-jsonnet) * MsgPack @@ -1077,6 +1096,7 @@ See also [Are we game yet?](http://arewegameyet.com) * [autopilot-rs/autopilot-rs](https://github.com/autopilot-rs/autopilot-rs) — A simple, cross-platform GUI automation library for Rust. * [maps4print/azul](https://github.com/maps4print/azul) — A free, functional, IMGUI-oriented GUI framework for rapid development of desktop applications written in Rust, supported by the Mozilla WebRender rendering engine. [](https://travis-ci.org/maps4print/azul) +* [OrbTk](https://gitlab.redox-os.org/redox-os/orbtk) — The Orbital Widget Toolkit is a multi platform (G)UI toolkit using SDL2 [![Build status](https://gitlab.redox-os.org/redox-os/orbtk/badges/master/build.svg)](https://gitlab.redox-os.org/redox-os/orbtk/pipelines) * [PistonDevelopers/conrod](https://github.com/PistonDevelopers/conrod/) — An easy-to-use, immediate-mode, 2D GUI library written entirely in Rust [](https://travis-ci.org/PistonDevelopers/conrod) * [rise-ui](https://github.com/rise-ui/rise) — Simple component-based cross-Platform GUI Toolkit for developing beautiful and user-friendly interfaces. @@ -1229,7 +1249,7 @@ See also [Are we game yet?](http://arewegameyet.com) * Cross-platform * [svartalf/rust-battery](https://crates.io/crates/battery) — Cross-platform information about the notebook batteries [](https://travis-ci.org/svartalf/rust-battery) - + * Linux * [frol/cgroups-fs](https://github.com/frol/cgroups-fs) — Rust bindings to Linux Control Groups (cgroups) [](https://travis-ci.org/frol/cgroups-fs) * [pop-os/dbus-udisks2](https://github.com/pop-os/dbus-udisks2) — UDisks2 DBus API @@ -1260,6 +1280,7 @@ See also [Are we game yet?](http://arewegameyet.com) * Handlebars * [sunng87/handlebars-rust](https://github.com/sunng87/handlebars-rust) — Handlebars template engine with inheritance, custom helper support. [](https://travis-ci.org/sunng87/handlebars-rust) + * [botika/yarte](https://github.com/botika/yarte) — Yarte stands for **Y**et **A**nother **R**ust **T**emplate **E**ngine, is the fastest template engine. [![Build Status](https://api.travis-ci.org/botika/yarte.svg?branch=master)](https://travis-ci.org/botika/yarte) * HTML * [lfairy/maud](https://github.com/lambda-fairy/maud) — compile-time HTML templates [](https://travis-ci.org/lfairy/maud) * [Stebalien/horrorshow-rs](https://github.com/Stebalien/horrorshow-rs) — compile-time HTML templates [](https://travis-ci.org/Stebalien/horrorshow-rs) @@ -1348,6 +1369,7 @@ See also [Are we web yet?](http://www.arewewebyet.org) and [Rust web framework c * [pyros2097/rust-embed](https://github.com/pyros2097/rust-embed) — A macro to embed static assets into the rust binary * [utkarshkukreti/select.rs](https://github.com/utkarshkukreti/select.rs) [[select](https://crates.io/crates/select)] — A library to extract useful data from HTML documents, suitable for web scraping. [![Build Status](https://api.travis-ci.org/utkarshkukreti/select.rs.svg?branch=master)](https://travis-ci.org/utkarshkukreti/select.rs) * [pwoolcoc/soup](https://gitlab.com/pwoolcoc/soup) [[soup](https://crates.io/crates/soup)] - A library similar to Pythons BeautifulSoup, designed to enable quick and easy manipulation and querying of HTML documents. [![Build Status](https://gitlab.com/pwoolcoc/soup/badges/master/pipeline.svg)](https://gitlab.com/pwoolcoc/soup/badges/master/pipeline.svg) + * [softprops/openapi](https://github.com/softprops/openapi) - A library for processing openapi spec files * Reverse Proxy * [sozu-proxy/sozu](https://github.com/sozu-proxy/sozu) [[sozu](https://crates.io/crates/sozu)] — A HTTP reverse proxy. [![Build Status](https://api.travis-ci.org/sozu-proxy/sozu.svg?branch=master)](https://api.travis-ci.org/sozu-proxy/sozu) * Static Site Generators @@ -1373,11 +1395,13 @@ A registry allows you to publish your Rust libraries as crate packages, to share * [Rust: Hack Without Fear!](https://www.youtube.com/watch?v=lO1z-7cuRYI) — Presented by [Nicholas Matsakis](https://github.com/nikomatsakis) @ C++Now 2018 * Learning * [Programming Community Curated Resources for Learning Rust](https://hackr.io/tutorials/learn-rust) — A list of recommended resources voted by the programming community. + * [awesome-rust-mentors](https://rustbeginners.github.io/awesome-rust-mentors/) - A list of helpful Rust mentors willing to take mentees and eductate them about Rust and programming. * [exercism.io](https://exercism.io/tracks/rust) — programming exercises that help you learn new concepts in Rust. * [Idiomatic Rust](https://github.com/mre/idiomatic-rust) — A peer-reviewed collection of articles/talks/repos which teach idiomatic Rust. * [Learning Rust With Entirely Too Many Linked Lists](http://cglab.ca/~abeinges/blah/too-many-lists/book/) — in-depth exploration of Rust's memory management rules, through implementing a few different types of list structures. * [Rust by Example](https://doc.rust-lang.org/rust-by-example/) * [Rust Cookbook](https://rust-lang-nursery.github.io/rust-cookbook/) — A collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem. + * [Rust for professionals](https://overexact.com/rust-for-professionals/) — A quick introduction to Rust for experienced software developers. * [Rust in Motion](https://www.manning.com/livevideo/rust-in-motion?a_aid=cnichols&a_bid=6a993c2e) — A video series by [Carol Nichols](https://github.com/carols10cents) and [Jake Goulding](https://github.com/shepmaster) (paid) * [rust-learning](https://github.com/ctjhoa/rust-learning) — A collection of useful resources to learn Rust * [Rustlings](https://github.com/rust-lang/rustlings) — small exercises to get you used to reading and writing Rust code