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 and TFTP. libcurl offers a myriad of powerful features
Find a DoH server list like https://github.com/curl/curl/wiki/DNS-over-HTTPS to filter / block the IPs of DoH services in the firewall.
-
libuv
Cross-platform asynchronous I/O
libuv - Cross-platform asynchronous I/O. MIT
-
Scout
Get performance insights in less than 4 minutes. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
-
KCP
:zap: KCP - A Fast and Reliable ARQ Protocol
-
libevent
Event notification library
libevent - Event loop replacement for network servers. BSD-3-Clause
-
Mongoose
Mongoose Embedded Web Server Library - a multi-protocol embedded networking library with TCP/UDP, HTTP, WebSocket, MQTT built-in protocols, async DNS resolver, and non-blocking API. (by cesanta)
Perhaps check out mongoose (https://github.com/cesanta/mongoose).
-
POCO
The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
-
libwebsockets
canonical libwebsockets.org networking library
Project mention: Need some direction on writing a web socket client | reddit.com/r/C_Programming | 2021-02-20and how others have implemented the client
-
netcode.io
A protocol for secure client/server connections over UDP
-
Onion
C library to create simple HTTP servers and Web Applications.
libonion - HTTP server library, designed to be easy to use. Apache-2.0
-
frr
The FRRouting Protocol Suite
Some technical reasons to remove commit history were funny. Someone already pointed to a project like https://github.com/FRRouting/frr, which was able to keep quagga's commits since ~2002.
-
facil.io
Your high performance web application C framework
facil.io - Mini-framework for web applications. Includes a fast HTTP and Websocket server, and also supports custom protocols. MIT
-
Dyad.c
Asynchronous networking for C
-
nope.c
WAFer is a C language-based software platform for scalable server-side and networking applications. Think node.js for C programmers.
-
ENet-CSharp
Reliable UDP networking library
-
net_skeleton
Async non-blocking multi-protocol networking library for C/C++
mongoose - Embedded web server. GPL-2.0-only
-
Polyphony
Fine-grained concurrency for Ruby
Project mention: What is the current state of event driven programming with fibers in ruby? | reddit.com/r/ruby | 2021-02-22There's the Polyphony project, which implements seamless concurrency on top of Ruby fibers. It's still not production-grade, but is used in production. Polyphony follows a different path in that it allows developers to continue using the Ruby core and stdlib APIs, and consequentially large parts of the Ruby ecosystem, in a multi-fiber environment. It puts a strong emphasis on structured concurrency, robust error handling and providing concurrency primitives that can be used to implement all kinds of concurrency patterns, such as actors (message passing between different fibers) and supervision trees.
-
npf
NPF: packet filter with stateful inspection, NAT, IP sets, etc.
Configure some basic firewall rules for NPF to block all incoming traffic except SSH, HTTP and HTTPS. Note that the network interface here may be different:
-
FGRoute
Get your device ip address, router ip or wifi ssid
-
ngx-export
Nginx module for binding Haskell code in configuration files for great good!
Project mention: [ANN] nginx-haskell-module version 2.8.0 released | reddit.com/r/haskell | 2021-03-02Details are in release notes. This release brings docker images to let testing all examples from this online documentation. The images are easily extendible to compiling and running custom Haskell handlers and Nginx configurations, as they contain ghc, cabal, gcc, and Nginx source code inside. See details here. Images were built using this Dockerfile. Notice that I used option --build-arg CABAL_CONSTRAINTS="--constraint='bytestring < 0.11'" for building them.
-
network-info
Get information about local network adapters such as name, IP address, MAC address
-
netmon_cli
A simple and lightweight terminal packet sniffer.
Project mention: netmon_cli: A simple Terminal Packet Sniffer written in C using ONLY built in libs. | reddit.com/r/HowToHack | 2020-12-31 -
wpa_supplicant
See Nerves.WpaSupplicant now
-
curlhs
Haskell bindings to curl library (libcurl)
Index
What are some of the best open-source Networking projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | libcurl | 19,501 |
2 | libuv | 16,823 |
3 | KCP | 9,328 |
4 | libevent | 7,178 |
5 | Mongoose | 6,919 |
6 | POCO | 5,050 |
7 | libwebsockets | 2,922 |
8 | netcode.io | 1,970 |
9 | Onion | 1,728 |
10 | frr | 1,680 |
11 | facil.io | 1,380 |
12 | Dyad.c | 1,250 |
13 | nope.c | 688 |
14 | ENet-CSharp | 457 |
15 | net_skeleton | 397 |
16 | Polyphony | 217 |
17 | npf | 160 |
18 | FGRoute | 106 |
19 | ngx-export | 94 |
20 | network-info | 25 |
21 | netmon_cli | 8 |
22 | wpa_supplicant | 5 |
23 | curlhs | 2 |