C Rust

Open-source C projects categorized as Rust

Top 23 C Rust Projects

  • tor

    unofficial git repo -- report bugs/issues/pull requests on https://gitlab.torproject.org/ --

    Project mention: L’intelligence artificielle est une chenille qui peut devenir un tyrannosaure | reddit.com/r/Quebec | 2023-05-24

    Tor est opensource, le department américain peut aller se torcher. (No pun intended)

  • Rust-for-Linux

    Adding support for the Rust language to the Linux kernel. (by Rust-for-Linux)

    Project mention: The Linux Kernel Module Programming Guide | news.ycombinator.com | 2023-05-01

    Ctrl-F "rust"

    https://rust-for-linux.com/ links to LWN articles at https://lwn.net/Kernel/Index/#Development_tools-Rust that suggest that only basic modules are yet possible with the rust support in Linux kernels 6.2 and 6.3.

    Rust-for-linux links to the Android binder module though:

    > Android Binder Driver: This project is an effort to rewrite Android's Binder kernel driver in Rust.

    > Motivation: Binder is one of the most security and performance critical components of Android. Android isolates apps from each other and the system by assigning each app a unique user ID (UID). This is called "application sandboxing", and is a fundamental tenet of the Android Platform Security Model.

    > The majority of inter-process communication (IPC) on Android goes through Binder. Thus, memory unsafety vulnerabilities are especially critical when they happen in the Binder driver

    ... "Rust in the Linux kernel" (2021) https://security.googleblog.com/2021/04/rust-in-linux-kernel... :

    > [...] We also need designs that allow code in the two languages to interact with each other: we're particularly interested in safe, zero-cost abstractions that allow Rust code to use kernel functionality written in C, and how to implement functionality in idiomatic Rust that can be called seamlessly from the C portions of the kernel.

    > Since Rust is a new language for the kernel, we also have the opportunity to enforce best practices in terms of documentation and uniformity. For example, we have specific machine-checked requirements around the usage of unsafe code: for every unsafe function, the developer must document the requirements that need to be satisfied by callers to ensure that its usage is safe; additionally, for every call to unsafe functions (or usage of unsafe constructs like dereferencing a raw pointer), the developer must document the justification for why it is safe to do so.

    > We'll now show how such a driver would be implemented in Rust, contrasting it with a C implementation. [...]

    This guide with unsafe rust that calls into the C, and then with next gen much safer rust right next to it would be a helpful resource too.

    What of the post-docker container support (with userspaces also written in go) should be cloned to rust first?

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • msquic

    Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust.

    Project mention: Avoiding HTTP/3 (for a while) as a pragmatic default | news.ycombinator.com | 2023-04-02

    I referred to sockets as an API design, not to express an opinion on whether you should place your protocol implementations inside or outside the kernel. (Although that’s undeniably an interesting question that by all rights should have been settled by now, but isn’t.)

    Even then, I didn’t mean you should reproduce the Berkeley socket API verbatim (ZeroMQ-style); multiple streams per connection does not sound like a particularly good fit to it (although apparently people have managed to fit SCTP into it[1]?). I only meant that with the current mainstream libraries[2,3,4], establishing a QUIC connection and transmitting bytestreams or datagrams over it seems quite a bit more involved than performing the equivalent TCP actions using sockets.

    [1] https://datatracker.ietf.org/doc/html/rfc6458

    [2] https://quiche.googlesource.com/quiche

    [3] https://github.com/microsoft/msquic

    [4] https://github.com/litespeedtech/lsquic

  • tectonic

    A modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.

    Project mention: [Media] Version 0.3 of Inlyne - An interactive markdown renderer written entirely in Rust | reddit.com/r/rust | 2023-05-07

    There's https://github.com/tectonic-typesetting/tectonic but I think the issue with that idea is that sure, you can re-implement TeX (it's sufficiently simple) in Rust and then run LaTeX packages on top of it, but then you're back to LaTeX and all its weirdness so you haven't really gained anything compared to LaTeX itself.

  • libsql

    libSQL is a fork of SQLite that is both Open Source, and Open Contributions.

    Project mention: SQLite builds for WASI since 3.41.0 | news.ycombinator.com | 2023-05-24

    https://www.sqlite.org/copyright.html

    To summarize, instead of using one of the OSS licenses, the copyright holders simply declare the source to be in the public domain. In order to preserve that status they don't accept patches unless you submit some signed document that you agree with that.

    To make things more complicated, they also use their a relatively niche version management system instead of git. Which would complicate making contributions (if they accepted them).

    There's a popular fork that fixes all of these issues: https://github.com/libsql/libsql It is MIT licensed, on Github, and open for contributions.

    Kind of a weird legal situation for a popular project like this that so many people depend on to have. Not judging; but it is odd. Seems like a lot of wasted efforts between users, would be contributors, and the people that forked this thing to address all that.

  • glad

    Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.

    Project mention: How do you setup OpenGL? | reddit.com/r/archlinux | 2023-05-23

    Not sure what you're asking, what is your end goal? If you opt for glfw look at the glfw docs: https://www.glfw.org/documentation.html and/or https://github.com/Dav1dde/glad/blob/glad2/example/c/gl_glfw.c for GLAD

  • Themis

    Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • ccextractor

    CCExtractor - Official version maintained by the core team

    Project mention: Is there a Subler equivalent software for Windows 10/11? | reddit.com/r/windows | 2022-09-27
  • libremarkable

    The only public framework for developing applications with native refresh support for Remarkable Tablet

  • quickjs-rs

    Rust wrapper for the quickjs Javascript engine.

    Project mention: [AskJS] Has anybody implemented and compiled ServiceWorker specification to a standalone executable? | reddit.com/r/javascript | 2023-03-04

    Implementing this using quickjs sounds like a great little weekend project. If only I had a weekend to spend on it!

  • smack

    SMACK Software Verifier and Verification Toolchain (by smackers)

    Project mention: Suggestion to optimize algo | reddit.com/r/algotrading | 2022-12-23
  • fujihack

    Reverse engineering Fujifilm firmware

    Project mention: Finally got DOOM running on my Fujifilm X-A2! | reddit.com/r/itrunsdoom | 2023-03-31

    Installation instructions: https://github.com/fujihack/fujihack/releases/tag/0.2.0

  • rust-code-analysis

    Library to analyze and collect metrics on source code

    Project mention: Quick notes on using insta | dev.to | 2022-12-16

    I spent way too much time stumbling upon a bunch of annoyances while converting some tests in rust-code-analysis so it is better to list them so you will avoid to suffer from similar mistakes:

  • croaring-rs

    Rust FFI wrapper for CRoaring

  • couchbase-rs

    The official, community supported Couchbase Rust SDK

    Project mention: Databases inside or outside k8s cluster? | reddit.com/r/kubernetes | 2022-06-07

    Examples: - Vitess - MySQL cluster - YugabyteDB - ScyllaDB - Couchbase - ArangoDB

  • Understanding-Unix-Linux-Programming

    Source code of Understanding Unix/Linux Programming. The book provides example code in C, I would like to replicate it in Rust.

    Project mention: Src of Understanding Unix/Linux programming but in rust | reddit.com/r/rust | 2022-06-06
  • plutonem

    A C, C++, Rust and COBOL library to draw graphics with pixels in the terminal

  • CSpydr

    A static typed low-level compiled programming language inspired by Rust and C

    Project mention: October 2022 monthly "What are you working on?" thread | reddit.com/r/ProgrammingLanguages | 2022-10-02

    After somewhat completing my previous programming language [CSpydr]https://github.com/spydr06/cspydr, I've started again from scratch with a new language called [Astatine]https://github.com/spydr06/astatine.

  • td_rlua

    Zero-cost high-level lua 5.3 wrapper for Rust

  • sgp4

    SGP4 implementations in multiple languages

    Project mention: Two-Line Element models (and making sense out of them) | reddit.com/r/Astronomy | 2023-01-12
  • article-transfer-rs

    Rust/Go/php-src article translate

  • rust-cfitsio

    FFI wrapper around cfitsio in Rust

    Project mention: astro-rs: Attempting to port astropy to Rust | reddit.com/r/rust | 2022-07-26

    Yes, I should have mentioned one of the goals is pure Rust - I started in a Windows dev environment, and never could get projects like https://github.com/mindriot101/rust-fitsio to run natively; for now I’m hoping to maintain the cross-platform flexibility for this project, but I’ll definitely look into Marlu more, if it provides enough benefit, it’s easy enough to add that constraint

  • xmr

    Monero node.

  • ONLYOFFICE

    ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-05-24.

C Rust related posts

Index

What are some of the best open-source Rust projects in C? This list will help you:

Project Stars
1 tor 3,871
2 Rust-for-Linux 3,460
3 msquic 3,365
4 tectonic 3,352
5 libsql 3,084
6 glad 3,032
7 Themis 1,704
8 ccextractor 584
9 libremarkable 532
10 quickjs-rs 506
11 smack 408
12 fujihack 193
13 rust-code-analysis 192
14 croaring-rs 141
15 couchbase-rs 95
16 Understanding-Unix-Linux-Programming 69
17 plutonem 65
18 CSpydr 55
19 td_rlua 51
20 sgp4 38
21 article-transfer-rs 33
22 rust-cfitsio 29
23 xmr 25
ONLYOFFICE Docs — document collaboration in your environment
Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
www.onlyoffice.com