C Networking

Open-source C projects categorized as Networking

Top 23 C Networking Projects

  • 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: "The issue was detected by our new AI-powered vulnerability scanner" | news.ycombinator.com | 2024-02-24

    From the GitHub Issue itself, the maintainer did end up creating a PR to fix a related issue: https://github.com/curl/curl/issues/12983

    Also, the bot filed another issue despite the complaints.

  • libuv

    Cross-platform asynchronous I/O

    Project mention: Epoll: The API that powers the modern internet (2022) | news.ycombinator.com | 2024-01-11
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • KCP

    :zap: KCP - A Fast and Reliable ARQ Protocol

  • libevent

    Event notification library

    Project mention: Epoll: The API that powers the modern internet (2022) | news.ycombinator.com | 2024-01-11
  • Mongoose

    Embedded Web Server (by cesanta)

    Project mention: Coroutines in C | news.ycombinator.com | 2024-02-25

    I've found myself at this webpage multiple times while trying to minimize the complexity of APIs in my C projects.

    My conclusion for now is that C coroutines are something to be left to the implementer. For example: Mongoose (https://github.com/cesanta/mongoose) uses event callbacks to deal with asynchronousness. It is much more pleasant to wrap a library like this in whatever thread/task primitives your system has rather than try to integrate the mythical cross-platform c couroutine.

  • coturn

    coturn TURN server project

    Project mention: Golang WebRTC. How to use Pion 🌐Remote Controller | dev.to | 2024-02-16

    Both TURN and STUN can be self hosted, the most popular project i have found is coturn

  • GameNetworkingResources

    A Curated List of Game Network Programming Resources

    Project mention: A Curated List of Game Network Programming Resources | news.ycombinator.com | 2023-05-22
  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • cjdns

    An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing.

    Project mention: The Hidden World Of Dumps Store | CVV Shops: The Lucrative World of Credit Card Fraud! | /r/darknetplan | 2023-07-09

    This sub is not about TOR and all the seediness that goes on there but rather about creating darknets, by which we/they mean mesh networks and encrypted networks using tools like https://github.com/cjdelisle/cjdns/

  • libwebsockets

    canonical libwebsockets.org networking library

    Project mention: FLaNK Weekly 08 Jan 2024 | dev.to | 2024-01-08
  • frr

    The FRRouting Protocol Suite

    Project mention: Advice for a high school networking lab | /r/networking | 2023-03-21

    FRR https://frrouting.org/ is another open source tool for a more Cisco style CLI syntax. You’d install that on top of most Linux distros.

  • netcode.io

    A protocol for secure client/server connections over UDP

  • Onion

    C library to create simple HTTP servers and Web Applications. (by davidmoreno)

    Project mention: libonion or libhttpserver for embedding a webserver in a small application? | /r/cpp_questions | 2023-05-10


  • facil.io

    Your high performance web application C framework

    Project mention: Rage: Fast web framework compatible with Rails | news.ycombinator.com | 2023-12-04

    Most of the speed I believe is from using the server iodine https://github.com/boazsegev/iodine which is a wrapper around facil.io https://facil.io that is built using C.

  • miniupnp

    UPnP IGD implementation

    Project mention: Steam Games Strict NAT Issue | /r/PFSENSE | 2023-07-05
  • gsocket

    Connect like there is no firewall. Securely.

    Project mention: Global Socket: Connect like there is no firewall. Securely. | /r/NOG | 2023-05-13
  • librg

    🚀 Making multi-player gamedev simpler since 2017

  • minixfromscratch

    Development and compilation setup for the book versions of MINIX (2.0.0 and 3.1.0) on QEMU

    Project mention: Ask HN: High-quality resources for writing complex systems software? | news.ycombinator.com | 2023-11-05

    Open BSD software source.

    UNIX Systems Programming: Communication, Concurrency and Threads: Communication, Concurrency and Threads 2nd Edition by K Robbins and S. Robbins

    minix from scrath [0]; linux from scratch[1];

    [1] : https://www.linuxfromscratch.org/

    [0] : https://github.com/o-oconnell/minixfromscratch

  • netsniff-ng

    A Swiss army knife for your daily Linux network plumbing.

  • felix

    Project Calico's per-host agent Felix, responsible for programming routes and security policy.

  • ENet-CSharp

    Reliable UDP networking library

  • nope.c

    WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.

  • Polyphony

    Fine-grained concurrency for Ruby

    Project mention: Should You Be Scared of Unix Signals? | news.ycombinator.com | 2023-10-16

    When using green threads/fibers/coroutines, an interesting technique to make signal handling safer is to run the signal handler asynchronously on a separate fiber/green thread. That way most of the problems of dealing with signals go away, and there's basically no limitation on what you can do inside the signal handler.

    I've successfully used this technique in Polyphony [1], a fiber-based Ruby gem for writing concurrent programs. When a signal occurs, Polyphony creates a special-purpose fiber that runs the signal handling code. The fiber is put at the head of the run queue, and is resumed once the currently executed fiber yields control.

    [1] https://github.com/digital-fabric/polyphony

  • pig

    A Linux packet crafting tool. (by rafael-santiago)

  • 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 2024-02-25.

C Networking related posts


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

Project Stars
1 libcurl 33,335
2 libuv 22,953
3 KCP 14,382
4 libevent 10,568
5 Mongoose 10,357
6 coturn 10,248
7 GameNetworkingResources 6,588
8 cjdns 5,119
9 libwebsockets 4,503
10 frr 2,899
11 netcode.io 2,346
12 Onion 1,988
13 facil.io 1,960
14 miniupnp 1,368
15 gsocket 1,290
16 librg 1,188
17 minixfromscratch 1,177
18 netsniff-ng 1,150
19 felix 922
20 ENet-CSharp 731
21 nope.c 692
22 Polyphony 649
23 pig 453
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives