Open-source C projects categorized as C

Top 23 C C Projects

  • scrcpy

    Display and control your Android device

    Project mention: Using an Android phone as a webcam became really popular during the pandemic, but you've typically had to install a third-party app to do so. You may not have to do this in the future, though, as Google is adding support for turning Android devices into USB webcams! - Mishaal Rahman (thread) | reddit.com/r/Android | 2023-02-02
  • obs-studio

    OBS Studio - Free and open source software for live streaming and screen recording

    Project mention: Release OBS Studio 29.0.1 · obsproject/obs-studio | reddit.com/r/linux_gaming | 2023-02-03
  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • Git

    Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.

    Project mention: Reducing technical debt by valuing comments as much as code | news.ycombinator.com | 2023-01-31

    Sounds good in theory. In practice, you get stuff like https://github.com/git/git/blob/master/cache-tree.c#L246

  • FFmpeg

    Mirror of https://git.ffmpeg.org/ffmpeg.git

    Project mention: How I set Clear Linux up for daily driving | reddit.com/r/ClearLinux | 2023-02-02

    #!/usr/bin/env bash ## References: ## https://community.clearlinux.org/t/how-to-h264-etc-support-for-firefox-including-ffmpeg-install ## Install dependencies echo -e "\e[33m\xe2\x8f\xb3 Install the following dependencies: 'c-basic', 'devpkg-libva', and 'git' ...\e[m" sudo swupd bundle-add c-basic devpkg-libva git || exit 1 # fail if another swupd is running ## Clone the ffmpeg git repository if it doesn't exist; or update it if it exists echo -e "\e[33m\xe2\x8f\xb3 Get latest FFmpeg source repository ...\e[m" if [ -d "FFmpeg" ];then # shellcheck disable=SC2164 cd FFmpeg git fetch else git clone https://github.com/FFmpeg/FFmpeg # shellcheck disable=SC2164 cd FFmpeg fi ## Get the latest non-dev release echo -e "\e[33m\xe2\x8f\xb3 Checkout the latest non-dev release ...\e[m" git checkout tags/"$(git tag -l | sed -n -E '/^n[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$/p' | sort | tail -1)" ## Build FFmpeg, which would be installed under /opt/ffmpeg echo -e "\e[33m\xe2\x8f\xb3 Building ...\e[m" echo -e "\e[32m If the installation is successful, it would be available under \e[33m/opt/ffmpeg\e[32m.\e[m" read -rp "Press any key to continue ... " -n1 -s echo if ! ./configure --prefix=/opt/ffmpeg --enable-shared || ! make || ! sudo make install; then echo -e "\e[31m Installation failed! Aborting...\e[m" exit 1 fi ## Configure the dynamic linker configuration to include /opt/ffmpeg/lib echo -e "\e[33m\xe2\x8f\xb3 Configuring dynamic linker configuration ...\e[m" if [ ! -f /etc/ld.so.conf ] || \ grep -q 'include /etc/ld\.so\.conf\.d/\*\.conf' /etc/ld.so.conf; then printf "include /etc/ld.so.conf.d/*.conf" | sudo tee -a /etc/ld.so.conf fi if [ ! -d /etc/ld.so.conf.d ]; then sudo mkdir /etc/ld.so.conf.d fi if [ ! -f /etc/ld.so.conf.d/ffmpeg.conf ] || \ ! grep -q '/opt/ffmpeg/lib' /etc/ld.so.conf.d/ffmpeg.conf; then echo "/opt/ffmpeg/lib" | sudo tee /etc/ld.so.conf.d/ffmpeg.conf fi echo -e "\e[32m Updating dynamic linker run-time bindings and library cache ...\e[m" sudo ldconfig ## Add ffmpeg to library path of Firefox echo -e "\e[33m\xe2\x8f\xb3 Add FFmpeg to libarry path of Firefox ...\e[m" if [ ! -f "${HOME}/.config/firefox.conf" ] || \ grep -q 'export LD_LIBRARY_PATH' "${HOME}/.config/firefox.conf"; then echo "export LD_LIBRARY_PATH=/opt/ffmpeg/lib" >> "${HOME}/.config/firefox.conf" else grep -q 'export LD_LIBRARY_PATH=.*/opt/ffmpeg/lib.*' "${HOME}/.config/firefox.conf" \ || sed -i 's#export LD_LIBRARY_PATH=#&/opt/ffmpeg/lib:#' "${HOME}/.config/firefox.conf" fi

  • libcurl

    A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features

    Project mention: libcurl VS FileCentipede - a user suggested alternative | libhunt.com/r/curl | 2023-01-30
  • the_silver_searcher

    A code-searching tool similar to ack, but faster.

    Project mention: How do I tell helm-ag to ignore files with a particular file extension? | reddit.com/r/emacs | 2023-01-20

    Helm-ag is an interface to the ag, silver-searcher, so check the docs for ag. For example, ag automatically ignore some files if there is a .gitignore with some file patterns, or you could use .agignore.

  • Rufus

    The Reliable USB Formatting Utility

    Project mention: Laptop BSOD’d during reset of windows. All attempts to turn it on again go to UEFI or an error message. How do I fix without any external peripherals | reddit.com/r/Windows10TechSupport | 2023-02-01

    1) Press Shift+F10 for Command Prompt, or Shift+Fn+F10 if Function Lock is enabled. 2) Input PowerShell curl -o C:\Rufus.exe and then input https://github.com/pbatard/rufus/releases/download/v3.21/rufus-3.21p.exe when asked for the URL. 3) Input C:\Rufus.exe in Command Prompt to open Rufus. 4) In Rufus, choose Yes for being able to check for updates, which is required to allow internet access for downloading an ISO. 5) Click the dropdown besides Select, and choose Download, then click the Download button. 6) Choose Windows 10 > Continue > Continue > Continue > choose a language > Continue > Download.

  • 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.

  • mpv

    🎥 Command line video player

    Project mention: Microsoft is charging people to play certain video formats, it's high time people switch to VLC | reddit.com/r/Piracy | 2023-01-30

    Well, not really mpv was first to have HDR to SDR tone mapping, has mutiple ways to sync video/audio to display refresh rate for smoother playback, different up/downscale filters, over 15 different video output modules that fit your OS/GPU, different configurations for buffering, better detection for which hardware decoder is suited And, if you wanted to print it on US Letter format, 131 pages of options to tune for any kind of odd scenario you might have There is really a lot of stuff that goes into "showing images"

  • radare2

    UNIX-like reverse engineering framework and command-line toolset

    Project mention: I'm pretty sure this is possible, and would appreciate confirmation/direction. | reddit.com/r/termux | 2022-12-13

    https://github.com/radareorg/radare2 (You can git clone it, then run the install script)

  • hashcat

    World's fastest and most advanced password recovery utility

    Project mention: Hashcat / JTR | reddit.com/r/hacking | 2023-01-25
  • nnn

    n³ The unorthodox terminal file manager

    Project mention: Best way to create a new file from within helix? | reddit.com/r/HelixEditor | 2023-01-09

    Another option is to create a file in the command line, but quitting from the editor can be a bit of a hassle. So, what we can do is split the screen with tmux or zellij. Use a file manager if you prefer visual. Personally use nnn.

  • GoAccess

    GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.

    Project mention: Ask HN: Alternatives to Google Analytics | news.ycombinator.com | 2023-01-15

    If you'd be content with the data already in your Nginx logs then there's GoAccess which is a command line tool that can parse web server logs and give you a breakdown of page hits/unique visitors over time, as well as data from user agents.


  • C

    Collection of various algorithms in mathematics, machine learning, computer science, physics, etc implemented in C for educational purposes.

    Project mention: what resources do you recommend for learning C ? | reddit.com/r/C_Programming | 2022-05-10
  • shadowsocks-libev

    Bug-fix-only libev port of shadowsocks. Future development moved to shadowsocks-rust

    Project mention: Nekoray, GUI Proxy Manager for Linux (+Mac/Windows) - Great app | reddit.com/r/linux | 2022-12-04

    I use this to create a local proxy instead so that I don't have to worry about a system-wide VPN breaking my sites/services etc https://github.com/shadowsocks/shadowsocks-rust/

  • qmk_firmware

    Open-source keyboard firmware for Atmel AVR and Arm USB families

    Project mention: Should a newb even be attempting to build firmware for a keyboard not in the official QMK list? And if so, how do I start? | reddit.com/r/olkb | 2023-02-02

    This keyboard uses STM32L432, which has a hardcoded bootloader. The QMK files also have bootmagic enabled, which means you can hold down the Escape key when you plug in the board to put it back in bootloader mode for reflashing. So as long as you have a known working .bin file, I wouldn't worry too much about bricking your board as long as you disable RGB.

  • KCP

    :zap: KCP - A Fast and Reliable ARQ Protocol

    Project mention: Ousterhout: It's time to replace TCP in the Datacenter [pdf] | news.ycombinator.com | 2022-10-30
  • raspberry-pi-os

    Learning operating system development using Linux kernel and Raspberry Pi

    Project mention: I want to learn about kernel development | reddit.com/r/developersIndia | 2022-11-28

    Last but not the least, learning by doing is fun so you can check out - raspberry-pi-os (writing an os from scratch) - https://github.com/s-matyukevich/raspberry-pi-os

  • reactos

    A free Windows-compatible Operating System

    Project mention: Cmon guys, help the guy out | reddit.com/r/ProgrammerHumor | 2023-02-02

    That's what https://reactos.org/ has been trying to accomplish for years. Their source code is written in C, so I guess that's the correct answer.

  • raylib

    A simple and easy-to-use library to enjoy videogames programming

    Project mention: Is C++ still the language when entering 3D programming in 2023? | reddit.com/r/gamedev | 2023-02-01

    Raylib itself is written in C, and therefore "easiest" to work with in C. But there are bindings for over 60 languages, so take your pick.

  • tig

    Text-mode interface for git

    Project mention: gti, gtti, giit, gut, gti, got, hit, jit, git <enter> {f%ck} <up-arrow-key> | reddit.com/r/ProgrammerHumor | 2022-11-30

    And you accidently open a git TUI

  • lvgl

    Embedded graphics library to create beautiful UIs for any MCU, MPU and display type. It's boosted by a professional yet affordable drag and drop UI editor, called SquareLine Studio.

    Project mention: Embedded gui interfaces | reddit.com/r/embedded | 2023-01-30

    Have you considered https://lvgl.io ?

  • webview

    Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)

    Project mention: (Hayami.app) A tile-based mini browser. You can pin webpages and files on a screen together. Not for deep reading but for having a quick look at the latest information at any time. | reddit.com/r/browsers | 2023-01-28

    For example, you could use a native webview (Edge WebView2 for Windows and WebKit for MacOS/Linux), which uses much less RAM than Electron.

  • libsodium

    A modern, portable, easy to use crypto library.

    Project mention: Librandombytes – a public domain library for generating randomness | news.ycombinator.com | 2023-01-26

    Can anyone recommend between Librandombytes and libsodium ramdombytes?


  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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-02-03.

C C related posts


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

Project Stars
1 scrcpy 75,987
2 obs-studio 45,293
3 Git 45,078
4 FFmpeg 33,862
5 libcurl 28,326
6 the_silver_searcher 24,572
7 Rufus 21,570
8 mpv 21,347
9 radare2 17,457
10 hashcat 16,518
11 nnn 15,732
12 GoAccess 15,724
13 C 15,450
14 shadowsocks-libev 15,253
15 qmk_firmware 14,288
16 KCP 12,087
17 raspberry-pi-os 11,982
18 reactos 11,964
19 raylib 11,534
20 tig 11,461
21 lvgl 11,224
22 webview 10,853
23 libsodium 10,731
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives