InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code. Learn more →
Top 23 Networking Open-Source Projects
Square’s meticulous HTTP client for the JVM, Android, and GraalVM.Project mention: Save images/videos into storage | reddit.com/r/androiddev | 2022-10-16
To download files, you can either use URL.openConnection()), a library like OkHttp, or the DownloadManager
Elegant HTTP Networking in SwiftProject mention: Cracking the iOS Interview | dev.to | 2022-09-10
Alamofire - Elegant HTTP networking
Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.
Apache Dubbo is a high-performance, java based, open source RPC framework.Project mention: What's the most interesting open-source project to study? | reddit.com/r/learnjava | 2022-01-24
A delightful networking framework for iOS, macOS, watchOS, and tvOS.
AFNetworking - A delightful networking framework. Language: Objective-C.
Netty project - an event-driven asynchronous network application frameworkProject mention: Pull the io_uring transport out of incubator and into core Netty 5 | news.ycombinator.com | 2022-11-10
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 featuresProject mention: Comparing curl and mit-scheme as projects tells us why the first is successful and the second is not | reddit.com/r/RacketHomeworks | 2022-11-27
Someone will say that mit-scheme and the curl project have almost nothing in common. And that's kind of true. And yet, when you look a little closer, you can see that those two projects actually have one thing in common: both projects have only one single person who is the maintainer of the entire project. In the case of the mit-scheme it's Chris Hanson, and in the case of the curl project it's Daniel Stenberg. There is no big (or even small) team in either of these two projects - just one man, each of them is capo di tutti capi in his own project, so to speak.
Cross-platform asynchronous I/OProject mention: Efficient IO in Linux with io_uring [pdf] | news.ycombinator.com | 2022-10-16
There was some very excellent work done in Node.js's libuv, but it never got across the line & has sat around getting more out of date for a while.
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.
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/httpProject mention: Go Framework: No Framework? | news.ycombinator.com | 2022-11-29
"You also get to implement stuff like CSRF protection, cookie signing, anti session fixation, etc. You also lose out on community contributions because you are your own community now."
In Go, not necessarily, because net/http actually is what many languages would call a "minimalist framework".
There's a sense in which pretty much everyone here is right. You do need a framework in the general sense; you can't expect to just throw someone a TCP socket and get reasonable work out of them because the web is very complicated nowadays. But the reason why you can "do without a framework" in Go is that it is already a minimal one of its own, and in particular, that "minimality" focuses on providing a mechanism for composing various bits of HTTP code together.
So, do you need CSRF protection? Go grab this: https://pkg.go.dev/github.com/gorilla/csrf It operates with the integrated net/http Go framework to provide CSRF protection. You are objectively not abandoning the ability to have community-written CSRF protection when you go "frameworkless" in Go. Gorilla in general provides lots of mix-and-match pieces: https://www.gorillatoolkit.org/ , like cookie signing: https://pkg.go.dev/github.com/gorilla/securecookie
I think calling Go "no framework" is kind of misleading, because I get what you're saying, but the standard library is not the "no framework" option. The "no framework" option is more like using https://github.com/valyala/fasthttp , which is its own server implementation with an incompatible API that does in fact remove you from the community code, other than the code that works only with that server.
Don't over-read my post. I am merely saying that Go essentially ships with a minimal framework and so it is misleading to say or think of it as being "frameworkless", not that it is mandatory to use it and all other things on top of it are a bad idea. There are times and places to want large, preconfigured packages of additional functionality. But if there are times and places where it is not desirable, Go does come with a minimalist option by default. It is a pretty good, not-very-opionated option suitable for a standard library, where development is slow and there's not much room for experimentation in what a "full" web framework should look like.
The standard library minimalist framework even makes the other frameworks pluggable. You can, for instance, write an API website, then realize that if you need a conventional HTML website, you can plug in a framework for that part, but leave the API part as-is, simply by routing the API URLs to the existing API code while routing the HTML website to the http.Handler provided by the framework. Even "not using an additional framework" is not the commitment it may be in other environments, because the net/http foundation is still there.
A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...Project mention: Rusty Ownership and the Lifecycle’s Stone | news.ycombinator.com | 2022-11-27
Well, the blog examples are quite trivial.
Take a look at the standard hashmap implementation (https://doc.rust-lang.org/src/std/collections/hash/map.rs.ht...). Notice the lifetime annotations everywhere. This is a relatively basic data structure, but it has a ton of visual noise due to the constraints of the lifetime and borrow model, and programmers must know, understand and be able to reason about these constraints when using this data structure.
Now imagine a case where you need to operate on values with two (or more) different lifetimes (by definition, all must live at least as long as the one with smallest lifetime, but in practice they all can and will have different lifetimes). Now you have `'a` and `'b` (and perhaps more) everywhere *and* developers must now reason about that. (random example pulled from a popular networking crate: https://github.com/tokio-rs/tokio/blob/718d6ce8cac9f2e081c0a...)
It isn't trivial to pick up from scratch, especially if one comes from a much higher level language (C#, Java, python, etc.). This is true even for people who are very experienced writing high-quality, durable, and safe code in other languages (e.g., C++) without the help of a compiler, because the ownership and lifetime model are both different and compiler-enforced.
Network abstraction layer written in Swift.Project mention: Szabadúszó iOS fejlesztőt keresek | reddit.com/r/programmingHungary | 2022-08-04
eBPF-based Networking, Security, and ObservabilityProject mention: Go based eBPF projects | reddit.com/r/golang | 2022-11-27
Cilium : Container networking based. It is the torch-bearer of eBPF
A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。
Event-driven network library for multi-threaded Linux server in C++11
Asynchronous socket networking library for Mac and iOS
CocoaAsyncSocket - Asynchronous socket networking library. Language: Objective-C.
:zap: KCP - A Fast and Reliable ARQ ProtocolProject mention: Ousterhout: It's time to replace TCP in the Datacenter [pdf] | news.ycombinator.com | 2022-10-30
RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X
RestKit - RestKit is a framework for consuming and modeling RESTful web resources. Language: Objective-C.
The Java gRPC implementation. HTTP/2 based RPCProject mention: Reference Count, Don't Garbage Collect | reddit.com/r/programming | 2022-08-01
That's not true at all. Case in point In general, this is not a problem that AGC can solve. The language can help (something Java is admittedly particularly bad at) but even so, there'll always be avenues for leaks. That's just the nature of shared things. Interestingly, in the linked grpc case, the leaked memory is only half the problem -- AGC doesn't help at all with the leaked HTTP2 connection.
A Smart Ethernet Switch for EarthProject mention: tunneling services that support .tk domains? | reddit.com/r/selfhosted | 2022-11-28
I haven't used them, but there are past posts mentioning LocaltoNet, PageKite, and ZeroTier.
C++ Parallel Computing and Asynchronous Networking EngineProject mention: Workflow v0.10.3 Released, Add WFRepeaterTask for Repeating Asynchronous Operations and Other New Features. | reddit.com/r/cpp | 2022-08-28
Ultra fast asyncio event loop.Project mention: A Look on Python Web Performance at the end of 2022 | dev.to | 2022-11-14
The source code from the project resides in the github, with more than 8.6k stars and 596 forks is a very popular github, but no new releases are made since 2018, looks pure much not maintained anymore, no PR's are accepted no Issues are closed, still without windows or macOS Silicon, or PyPy3 support. Japronto it self uses uvloop with more than 9k stars and 521 forks and different from japronto is seems to be well maintained.
Embedded Web Server (by cesanta)Project mention: Embedded Web Server for electronic devices | news.ycombinator.com | 2022-11-14
🤖 The Modern Port Scanner 🤖Project mention: Is there a good and simple command line alternative to Nmap? | reddit.com/r/cybersecurity | 2022-11-20
I like RustScan https://github.com/RustScan/RustScan . For one thing, it’s fast!
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.
Networking related posts
Are there any free/open source Lattice ECP5 Ethernet MAC IP Cores?
3 projects | reddit.com/r/FPGA | 28 Nov 2022
tunneling services that support .tk domains?
1 project | reddit.com/r/selfhosted | 28 Nov 2022
Is there a GUI for monitoring and allowing outbound traffic?
2 projects | reddit.com/r/Ubuntu | 28 Nov 2022
Am I the only one constantly having someone trying to SSH into my network?
1 project | reddit.com/r/synology | 28 Nov 2022
Sniffnet is a cross-platform application to monitor your network traffic with
1 project | news.ycombinator.com | 28 Nov 2022
An interesting process of solving an issue
2 projects | dev.to | 28 Nov 2022
Problem with making linux server public
1 project | reddit.com/r/linuxquestions | 28 Nov 2022
A note from our sponsor - InfluxDB
www.influxdata.com | 29 Nov 2022
What are some of the best open-source Networking projects? This list will help you: