Golang – The decade-old open-source programming language created by a team of three google developers has increasingly grown in popularity over time.
Although, syntactically similar to C, but with the inclusion of memory safety, garbage collection, structural typing, and CSP-style concurrency has made a lot of developers love it
Since it is widely adopted, a lot of opensource Golang projects have sprung off from it. We would be looking into 15 out of the thousands of golang projects out there
1. Httprouter
HttpRouter is a lightweight high-performance HTTP request router (also called multiplexer or just mux for short) for Go.
Unlike the default mux of Go’s net/http
package, this router provides support to variables in the routing pattern and matches against the request method.
Features
- Best Performance
- Perfect for APIs
- No more server crashes
- Parameters in your routing pattern
- Auto Path Correction
2. Zap
Zap includes a reflection-free, zero-allocation JSON encoder, and it base Logger
strives to avoid serialization overhead and allocations wherever possible. By building the high-level SugaredLogger
on that foundation, zap lets users choose when they need to count every allocation and when they’d prefer a more familiar, loosely typed API.
Features
- Fast
- Structured
- Leveled Logging
3. Vuls
Vuls is a golang project that scans for vulnerabilities in Libraries, Network devices, WordPress, Linux, FreeBSD and more.
Features
- High-Quality Scans
- Dynamic and Static Scans
- Fast and Deep root Scans
- Capable of scanning WordPress Themes and Plugins
4. Fyne
Fyne is a UI toolkit and app API based on Golang, It is designed to build applications that run on multiple platforms from one codebase.
Features
- Supports Android and IOS
- Provides an easier way of writing widgets
- Builds apps for multi-platforms
5. Wuzz
Wuzz is an Interactive cli tool for HTTP inspection. it can be used to inspect/modify requests copied from the browser’s network inspector with the “copy as cURL” feature.
Features
- Inspect requests
- Modify requests
- “copy as cURL” feature
6. Gopish
Gopish is an open-source toolkit for ethical hacking/phisphing based on Golang
Feature(s)
- Easy Setup
7. Glide
Glide is a vendor package management tool for Golang projects
Features
- Ease dependency management
- Support versioning packages
- Support aliasing packages
- Support custom local and global plugins
8. Sampler
Sampler is a Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.
Features
- Cross-Platform Installation
9. Qt
QT is a cross-platform application framework that is used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase.
Features
- Cross-Platform
- Build applications on a single codebase
10. Go Cloud
The Go Cloud Development Kit (Go CDK) allows Go application developers to seamlessly deploy cloud applications on any combination of cloud providers. It does this by providing stable, idiomatic interfaces for common uses like storage and databases.
Features
- Unstructured binary (blob) storage
- Publish/Subscribe (pubsub)
- Variables that change at runtime (runtimevar)
- Connecting to MySQL and PostgreSQL databases (mysql, postgres)
- Server startup and diagnostics: request logging, tracing, and health checking (server)
11. GoTop
A terminal-based graphical activity monitor inspired by gtop and vtop
Features
- Prebuilt binaries
- Download & compile approach
- Keybinds Controls
Link Note, The original project is no longer maintained, this is a link to the fork by a new maintainer.
12. Pgweb
Pgweb is a web-based database browser for PostgreSQL, written in Go and works on OSX, Linux and Windows machines. The main idea behind using Go for backend development is to utilize the ability of the compiler to produce zero-dependency binaries for multiple platforms. Pgweb was created as an attempt to build a very simple and portable application to work with local or remote PostgreSQL databases.
Features
- Cross-platform support OSX/Linux/Windows 32/64-bit
- Simple installation (distributed as a single binary)
- Zero dependencies
- Works with PostgreSQL 9.1+
- SSH Connections
- Multiple database sessions
13. Thanos
Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity, which can be added seamlessly on top of existing Prometheus deployments.
Features
- Global querying view across all connected Prometheus servers
- Deduplication and merging of metrics collected from Prometheus HA pairs
- Seamless integration with existing Prometheus setups
- Any object storage as its only, optional dependency
14. Riot Search
Open Source, Distributed, Simple and efficient full-text search engine.
Features
- Efficient indexing and search (1M blog 500M data 28 seconds index finished, 1.65 ms search response time, 19K search QPS)
- Support for logical search
- Support Chinese word segmentation (use gse word segmentation package concurrent word, speed 27MB / s)
- Support the calculation of the keyword in the text close to the distance(token proximity)
15. Server
A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui)
Features
- send messages via REST-API
- receive messages via WebSocket
- manage users, clients, and applications
- Plugins
Conclusion
All of these projects are promising and active projects. They are open to pull requests and respond to issues, You should check them out and contribute to the ones you like. Share other golang projects you know with us, We appreciate your comments.