Top 23 C Networking Projects
-
curl
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
Latest mention: Food on the table while giving away source code | reddit.com/r/programming | 2021-01-15https://github.com/curl/curl/blob/master/src/tool_urlglob.c#L199
-
libuv
Cross-platform asynchronous I/O
I submitted a PR to make a small improvement the libuv documentation... [0] and the stale bot wants to close it on me.
I think closing PRs as stale is particularly annoying.
-
kcp
:zap: KCP - A Fast and Reliable ARQ Protocol
-
libevent
Event notification library
-
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.
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
-
netcode
A protocol for secure client/server connections over UDP
-
onion
C library to create simple HTTP servers and Web Applications.
-
frr
The FRRouting Protocol Suite
Shameless plug:
http://docs.frrouting.org/projects/dev-guide/en/latest/lists...
https://github.com/FRRouting/frr/blob/master/lib/typesafe.h
Differs in a bunch of design decisions. Memory management for items is strictly out of scope, though some of the structures use malloc/free for their own purposes (e.g. heap). Much more focus on sorted/hashed structures, explicitly differentiating for [not] having duplicate items that compare equal. Also, atomic/lock-free versions. Uses macros instead of #including files multiple times.
But fun to see someone else's go at the same idea :)
-
facil.io
Your high performance web application C framework
-
dyad
Asynchronous networking for C
-
WAFer
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
-
fossa
Async non-blocking multi-protocol networking library for C/C++
-
polyphony
Fine-grained concurrency for Ruby
-
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
-
nginx-haskell-module
Nginx module for binding Haskell code in configuration files for great good!
-
network-info
Get information about local network adapters such as name, IP address, MAC address
-
netmon_cli
A simple and lightweight terminal packet sniffer.
Latest 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.ex
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 | curl | 19,153 |
2 | libuv | 16,618 |
3 | kcp | 9,230 |
4 | libevent | 7,050 |
5 | mongoose | 6,824 |
6 | poco | 4,946 |
7 | libwebsockets | 2,879 |
8 | netcode | 1,949 |
9 | onion | 1,714 |
10 | frr | 1,636 |
11 | facil.io | 1,370 |
12 | dyad | 1,248 |
13 | WAFer | 690 |
14 | ENet-CSharp | 438 |
15 | fossa | 396 |
16 | polyphony | 201 |
17 | npf | 157 |
18 | FGRoute | 102 |
19 | nginx-haskell-module | 92 |
20 | network-info | 24 |
21 | netmon_cli | 9 |
22 | wpa_supplicant.ex | 5 |
23 | curlhs | 2 |