Awesome Fiber Overview
✨ A curated list of awesome Fiber middlewares, boilerplates, recipes, articles and tools.
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 gofiber/awesome-fiber · ⭐ 536 · 🏷️ Back-End Development
Awesome Fiber
Fiber is an Express (⭐66k) inspired web framework built on top of Fasthttp (⭐22k), the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in mind.
A curated list of awesome Fiber middlewares, boilerplates, recipes, articles and tools.
Contents
⚙️ Middlewares
Where to discover Fiber middlewares.
🧬 Core
List of middlewares that are included within the Fiber framework.
- Adaptor (⭐34k) - Converter for net/http handlers to/from Fiber request handlers.
- BasicAuth (⭐34k) - Basic auth middleware provides an HTTP basic authentication. It calls the next handler for valid credentials and 401 Unauthorized for missing or invalid credentials.
- Cache (⭐34k) - Intercept and cache responses.
- Compress (⭐34k) - Compression middleware for Fiber, it supports
deflate
,gzip
andbrotli
by default. - CORS (⭐34k) - Enable cross-origin resource sharing (CORS) with various options.
- CSRF (⭐34k) - Protect from CSRF exploits.
- Earlydata (⭐34k) - Early data support for Fiber.
- Encrypt Cookie (⭐34k) - Encrypt middleware which encrypts cookie values.
- EnvVar (⭐34k) - Expose environment variables with providing an optional config.
- ETag (⭐34k) - ETag middleware that lets caches be more efficient and save bandwidth, as a web server does not need to resend a full response if the content has not changed.
- Expvar (⭐34k) - Expvar middleware that serves via its HTTP server runtime exposed variants in the JSON format.
- Favicon (⭐34k) - Ignore favicon from logs or serve from memory if a file path is provided.
- FileSystem (⭐34k) - FileSystem middleware for Fiber, special thanks and credits to Alireza Salary.
- Helmet (⭐34k) - Helps secure your apps by setting various HTTP headers.
- Idempotency (⭐34k) - Idempotency middleware for Fiber allows for fault-tolerant APIs where duplicate requests.
- Keyauth (⭐34k) - Key auth middleware provides a key based authentication.
- Limiter (⭐34k) - Rate-limiting middleware. Use to limit repeated requests to public APIs and/or endpoints such as password reset.
- Logger (⭐34k) - HTTP request/response logger.
- Monitor (⭐34k) - Monitor middleware that reports server metrics, inspired by express-status-monitor.
- Pprof (⭐34k) - Pprof middleware that serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
- Proxy (⭐34k) - Allows you to proxy requests to a multiple servers.
- Recover (⭐34k) - Recover middleware recovers from panics anywhere in the stack chain and handles the control to the centralized ErrorHandler.
- Redirect (⭐34k) - Redirect middleware for Fiber.
- RequestID (⭐34k) - Adds a requestid to every request.
- Rewrite (⭐34k) - Rewrite middleware rewrites the URL path based on provided rules. It can be helpful for backward compatibility or just creating cleaner and more descriptive links.
- Session (⭐34k) - Session middleware. NOTE: This middleware uses our Storage package.
- Skip (⭐34k) - Skip middleware that skips a wrapped handler is a predicate is true.
- Timeout (⭐34k) - Adds a max time for a request and forwards to ErrorHandler if it is exceeded.
🔗 External
List of externally hosted middleware modules and maintained by the Fiber team.
- storage (⭐276) - Premade storage drivers that implement the Storage interface, designed to be used with various Fiber middlewares.
- template (⭐272) - This package contains 8 template engines that can be used with Fiber v1.10.x Go version 1.13 or higher is required.
💻 Contrib
List of third party middlewares and maintained by the Fiber team and community.
- casbin (⭐225) - Casbin middleware for Fiber.
- fiberi18n (⭐225) - Middleware for i18n support in Fiber.
- fibernewrelic (⭐225) - NewRelic middleware for Fiber. The middleware handles NewRelic insturmentation.
- fibersentry (⭐225) - Sentry support for Fiber.
- fiberzap (⭐225) - Zap logging support for Fiber.
- jwt (⭐225) - JWT returns a JSON Web Token (JWT) auth middleware.
- opafiber (⭐225) - Open Policy Agent middleware for Fiber. The middleware handles running Rego policies.
- otelfiber (⭐225) - OpenTelemetry support for Fiber.
- paseto (⭐225) - PASETO returns a Web Token (PASETO) auth middleware.
- swagger (⭐225) - Swagger middleware for Fiber. The middleware handles Swagger UI.
- websocket (⭐225) - Based on Fasthttp WebSocket for Fiber with Locals support!
🌱 Third Party
List of middlewares that are created by the Fiber community.
- shareed2k/fiber_tracing (⭐12) - Middleware trace requests on Fiber framework with OpenTracing API.
- shareed2k/fiber_limiter (⭐13) - Limiter using redis as store for rate limit with two algorithms for choosing sliding window, gcra leaky bucket.
- ansrivas/fiberprometheus (⭐172) - Prometheus middleware for gofiber.
- sacsand/gofiber-firebaseauth (⭐23) - Fiber Firebase Auth Middleware.
- aschenmaker/fiber-health-check (⭐10) - Health-check middleware support health-check for Fiber️ framework.
- elastic/apmfiber (⭐421) - APM Agent for Go Fiber.
- eozer/fiber_ldapauth (⭐4) - LDAP Authentication Middleware for Fiber.
- darkweak/souin (⭐716) - HTTP cache, RFC compliant, alternative to Varnish available as a middleware.
- witer33/fiberpow (⭐12) - Anti DDoS/Bot Middleware with a customizable Proof Of Work challenge.
- beyer-stefan/gofiber-minifier (⭐1) - Minifying middleware for HTML5, CSS3, and JavaScript.
- joffref/opa-middleware (⭐19) - Provides an OPA middleware integration for fiber.
- vladfr/fiber-servertiming (⭐2) - A middleware to add Server-Timing headers based on the W3C Server-Timing Spec.
- airbrake/gobrake (⭐105) - An Airbrake middleware that reports performance data (route stats).
- samber/slog-fiber (⭐58) - A logger middleware that uses Go slog library.
- mikhail-bigun/fiberlogrus (⭐9) - A logger middleware that uses logrus and its structured logging features.
- Idan-Fishman/fiber-bind (⭐10) - Request schema validator middleware that validates sources such as the request body, query string parameters, route parameters and even form files.
- rodrigoodhin/fiper - FiPer is a library that provides Fiber with Role Based Access Control (RBAC) using JWT and with database persistence using two ORM libraries are supported: Gorm and Bun.
- zeiss/fiber-goth (⭐5) - Simple middleware to integrate authentication to your Fiber applications.
- zeiss/fiber-authz (⭐6) - A middleware to secure routes in Fiber with a defined RBAC model.
- zeiss/fiber-htmx (⭐52) - A middleware for using HTMX in Fiber.
- jsorb84/ssefiber (⭐2) - A basic SSE Implementation for Fiber.
- streamerd/fibergun (⭐1) - A GunDB middleware for Fiber. Enables easy integration of GunDB, a decentralized database.
🚧 Boilerplates
Premade boilerplates for Fiber.
- gofiber/boilerplate (⭐418) - Official fiber boilerplate.
- fiber-boilerplate (⭐276) - A boilerplate for the Fiber web framework.
- sujit-baniya/fiber-boilerplate (⭐410) - Boilerplate on the top of fiber web framework with many middlewares and features.
- sujit-baniya/goravel (⭐18) - Laravel similar boilerplate go Go with support for Gofiber or Gin.
- create-go-app/fiber-go-template (⭐955) - Fiber backend template for Create Go App CLI.
- efectn/fiber-boilerplate (⭐77) - Simple and scalable boilerplate to build powerful and organized REST projects with Fiber.
- embedmode/fiberseed (⭐39) - Fiber boilerplate api with many middlewares.
- GalvinGao/gofiber-template (⭐110) - A production-ready, container-first opinionated gofiber project template. Config by envvars, DI by go.uber.org/fx, Database by uptrace/bun, with out-of-the-box MVC folder structure and CI/CD support.
- mikhail-bigun/go-app-template (⭐17) - Clean architecture Go application boilerplate with enriched Fiber implementation.
- amrebada/go-modules (⭐14) - Nest JS like structure for Go Fiber.
- ingeniousambivert/fiber-bootstrapped (⭐2) - A toolkit for Go projects embracing a service-centric architecture, inspired by the principles of FeathersJS.
- sebajax/go-vertical-slice-architecture (⭐27) - Vertical Slice Architecture code archetype using Fiber and Uber dig. A maintainable, and scalable code organization.
📁 Recipes
Recipes for Fiber.
- gofiber/recipes (⭐3.1k) - Official Fiber cookbook.
- kiyonlin/fiblar-demo (⭐3) - Fiber v1 + angular demo.
- koddr/tutorial-go-fiber-rest-api (⭐378) - Tutorial for building a restful api with fiber.
- firebase007/go-rest-api-with-fiber (⭐53) - Demo project with fiber, logging, basicAuth and postgresql.
- chawk/go_fiber_quickstart (⭐18) - Fiber quick start example project.
- EricLau1/go-fiber-auth-api (⭐53) - Golang Authentication API with Fiber MongoDB and JWT.
- alpody/golang-fiber-realworld-example-app (⭐124) - Example real world backend API built with Fiber, Gorm, Swagger.
🛠️ Tools
Several tools to make Fiber usage easier.
- go-dawn/dawn (⭐17) - Dawn is an opinionated web framework that provides rapid development capabilities which on top of Fiber.
- tompston/gomakeme (⭐11) - Generate boilerplate + endpoints for Fiber or Gin REST APIs.
- ryanbekhen/feserve (⭐8) - Feserve is a lightweight application or docker image to serve frontend and load balancer applications.
- deepmap/oapi-codegen (⭐6.3k) - Generate Go client and server boilerplate from OpenAPI 3 specifications.
📖 Articles
Articles about Fiber written by the community.
- Working with middlewares and boilerplates
- Testing the application
- Delving into built-in functions
- Go Fiber by Examples: How can the Fiber Web Framework be useful?
- Build a RESTful API on Go: Fiber, PostgreSQL, JWT and Swagger docs in isolated Docker containers
- Getting started with Fiber
- Building an Express-style API in Go with Fiber
- Fiber v1.9.6 How to improve performance by 817% and stay fast, flexible and friendly?
- Create a travel list app with Go, Fiber, Angular, MongoDB and Google Cloud Secret Manager
- Building a Basic REST API in Go using Fiber
- Creating Fast APIs In Go Using Fiber
- Is switching from Express to Fiber worth it?
- Fiber v1.8. What's new, updated and re-thinked?
- Fiber released v1.7! What's new and is it still fast, flexible and friendly?
- Welcome to Fiber — an Express.js styled web framework written in Go with ❤️
- Blazing Fast Unit Tests - Fiber/fasthttp/http Internals
- Building Microservices in Go : Part 1 - Project Setup, Dockerization
- Building Microservices in Go : Part 2 - Live Reload
- Building Microservices in Go : Part 3 - Database, Models, Migrations
- Build a REST API from scratch with Go, Docker & Postgres
- Build a fullstack app with Go Fiber, Docker, and Postgres
- Create a CRUD app with Go Fiber, docker, and Postgres
📺 Videos
Video tutorials created by the community about Fiber.
🤖 Benchmarks
Several benchmarks to compare Fiber with other frameworks.
- TechEmpower - Project provides performance measures across a wide field of web application frameworks.
- web-frameworks-benchmark - Project aims to measure the differences between the various programming language frameworks.
- go-web-framework-benchmark (⭐2.1k) - This benchmark suite aims to compare the performance of Go web frameworks.
👍 Contributing
Contribution guidelines can be found on CONTRIBUTING.md (⭐536)