このページの内容

Awesome Fiber

Fiberを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

Contents

⚙️ Middlewares

Where to discover Fiber middlewares.

🧬 Core

List of middlewares that are included within the Fiber framework.

  • Adaptor - Converter for net/http handlers to/from Fiber request handlers.
  • BasicAuth - 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 - Intercept and cache responses.
  • Compress - Compression middleware for Fiber, it supports deflate, gzip and brotli by default.
  • CORS - Enable cross-origin resource sharing (CORS) with various options.
  • CSRF - Protect from CSRF exploits.
  • Earlydata - Early data support for Fiber.
  • Encrypt Cookie - Encrypt middleware which encrypts cookie values.
  • EnvVar - Expose environment variables with providing an optional config.
  • ETag - 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 - Serves runtime exposed variants in JSON format via its HTTP server.
  • Favicon - Ignore favicon from logs or serve from memory if a file path is provided.
  • Healthcheck - Adds health-check endpoints for readiness and liveness probes.
  • Helmet - Helps secure your apps by setting various HTTP headers.
  • Host Authorization - Validates the Host header against an allowlist to protect against DNS rebinding attacks.
  • Idempotency - Enables fault-tolerant APIs when duplicate requests occur.
  • Keyauth - Key auth middleware provides a key based authentication.
  • Limiter - Rate-limiting middleware. Use to limit repeated requests to public APIs and/or endpoints such as password reset.
  • Logger - HTTP request/response logger.
  • Paginate - Parses pagination parameters from the query string, supporting page-based, offset-based and cursor-based strategies.
  • Pprof - Serves runtime profiling data in the format expected by the pprof visualization tool.
  • Proxy - Allows you to proxy requests to a multiple servers.
  • Recover - Recovers from panics anywhere in the stack chain and hands control to the centralized ErrorHandler.
  • Redirect - Handles HTTP redirects in Fiber.
  • RequestID - Adds a requestid to every request.
  • Responsetime - Adds an X-Response-Time header to responses.
  • Rewrite - Rewrites the URL path based on provided rules for backward compatibility or cleaner links.
  • Session - Provides session management. NOTE: This middleware uses our Storage package.
  • Skip - Skips a wrapped handler when a predicate is true.
  • SSE - Server-Sent Events transport that handles headers, event formatting, flushing, heartbeats and disconnect detection.
  • Static - Serves static files from a local or custom file system.
  • Timeout - 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 - Premade storage drivers that implement the Storage interface, designed to be used with various Fiber middlewares.
  • template - 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 - Authorization middleware for Fiber powered by Casbin.
  • circuitbreaker - Circuit breaker middleware for Fiber.
  • coraza - Web application firewall middleware for Fiber powered by Coraza.
  • fgprof - Fiber profiling support via fgprof.
  • hcaptcha - Bot-protection middleware using hCaptcha.
  • i18n - Internationalization middleware built on go-i18n.
  • jwt - JSON Web Token (JWT) auth middleware.
  • loadshed - Load-shedding middleware to protect Fiber services under pressure.
  • monitor - Server metrics monitor middleware for Fiber.
  • newrelic - New Relic instrumentation support for Fiber.
  • opa - Open Policy Agent (OPA) middleware support for Fiber.
  • otel - OpenTelemetry middleware support for Fiber.
  • paseto - Platform-Agnostic Security Tokens (PASETO) auth middleware.
  • prometheus - Middleware that instruments incoming requests and serves a metrics endpoint for Prometheus.
  • sentry - Error monitoring and reporting integration for Fiber with Sentry.
  • socketio - Socket.IO-inspired WebSocket wrapper middleware for Fiber.
  • spnego - Kerberos authentication middleware for Fiber using the SPNEGO mechanism.
  • swaggo - Middleware for serving Swag-generated API docs in Fiber.
  • swaggerui - Swagger UI middleware for serving OpenAPI specs in Fiber.
  • testcontainers - Service implementation for integrating Testcontainers with Fiber.
  • uptime - Records heartbeat history and serves a status dashboard with a JSON API for monitoring uptime.
  • WebSocket - Fasthttp-based WebSocket integration for Fiber with fiber.Ctx support.
  • zap - Logging middleware support for Fiber with Zap.
  • zerolog - Logging middleware support for Fiber with Zerolog.

🌱 Third Party

List of middlewares that are created by the Fiber community.

  • shareed2k/fiber_tracing - Middleware trace requests on Fiber framework with OpenTracing API.
  • shareed2k/fiber_limiter - Limiter using Redis as store for rate limit with two algorithms for choosing sliding window, gcra leaky bucket.
  • ansrivas/fiberprometheus - Prometheus middleware for gofiber.
  • sacsand/gofiber-firebaseauth - Fiber Firebase Auth Middleware.
  • aschenmaker/fiber-health-check - Health-check middleware support health-check for Fiber️ framework.
  • elastic/apmfiber - APM Agent for Go Fiber.
  • eozer/fiber_ldapauth - LDAP Authentication Middleware for Fiber.
  • fugue-labs/gollem - Handler adapter that wraps a gollem AI agent as a Fiber handler with SSE streaming support.
  • DavidHoenisch/fiber-coraza - Coraza WAF middleware for Fiber, providing web application firewall protection with ModSecurity-compatible rules.
  • darkweak/souin - HTTP cache, RFC compliant, alternative to Varnish available as a middleware.
  • witer33/fiberpow - Anti DDoS/Bot Middleware with a customizable Proof Of Work challenge.
  • beyer-stefan/gofiber-minifier - Minifying middleware for HTML5, CSS3, and JavaScript.
  • joffref/opa-middleware - Provides an OPA middleware integration for fiber.
  • vladfr/fiber-servertiming - A middleware to add Server-Timing headers based on the W3C Server-Timing Spec.
  • airbrake/gobrake - An Airbrake middleware that reports performance data (route stats).
  • samber/slog-fiber - A logger middleware that uses Go slog library.
  • mikhail-bigun/fiberlogrus - A logger middleware that uses logrus and its structured logging features.
  • Idan-Fishman/fiber-bind - 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 - Simple middleware to integrate authentication to your Fiber applications.
  • zeiss/fiber-authz - A middleware to secure routes in Fiber with a defined RBAC model.
  • zeiss/fiber-htmx - A middleware for using HTMX in Fiber.
  • jsorb84/ssefiber - A basic SSE Implementation for Fiber.
  • streamerd/fibergun - A GunDB middleware for Fiber. Enables easy integration of GunDB, a decentralized database.
  • apitally/apitally-go - Simple API monitoring tool for Fiber. Tracks API usage, errors, and performance, and includes request logging and alerting features.
  • newrelic/go-agent - Official New Relic middleware for Fiber that manages instrumentation for New Relic monitoring.
  • narmadaweb/limiter - A high-performance Redis-backed rate limiter middleware for Fiber, supporting fixed window, sliding window, and token bucket algorithms.
  • narmadaweb/gonify - Fiber Minifying middleware for HTML5, CSS3, JavaScript, Json, XML and SVG.
  • oaswrap/fiberopenapi - Fiber adapter for OpenAPI 3.x specification generation with automatic route documentation.

🚧 Boilerplates

Premade boilerplates for Fiber.

📁 Recipes

Recipes for Fiber.

🛠️ Tools

Several tools to make Fiber usage easier.

  • Alibaba/opentelemetry-go-auto-instrumentation - A tool to monitor fiber application without changing any code with OpenTelemetry APIs.
  • deepmap/oapi-codegen - Generate Go client and server boilerplate from OpenAPI 3 specifications.
  • go-dawn/dawn - Dawn is an opinionated web framework that provides rapid development capabilities which on top of Fiber.
  • gofiber/cli - Official Fiber command line interface for project generation, live reloading and version migration.
  • MUlt1mate/protoc-gen-httpgo - A protoc plugin that generates Fiber HTTP server and client code from proto files.
  • ryanbekhen/feserve - Feserve is a lightweight application or Docker image to serve frontend and load balancer applications.
  • tompston/gomakeme - Generate boilerplate + endpoints for Fiber or Gin REST APIs.

📖 Articles

Articles about Fiber written by the community.

📺 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 - This benchmark suite aims to compare the performance of Go web frameworks.

👍 Contributing

Contribution guidelines can be found on CONTRIBUTING.md

☕ Supporters

Fiber is an open-source project that runs on donations to pay the bills, e.g., our domain name, hosting, and serverless infrastructure. If you want to support Fiber, please become a GitHub Sponsor.

CodeRabbit

Blacksmith

Tool Sponsors - supporting Fiber with free IDE licenses and AI credits

JetBrains   OpenAI   Anthropic

📅 Monthly Sponsors

🔥 Fiber Guardian@coderabbitai
☕ Fiber Supporter@NdoleStudio
🪴 Fiber Friend@simonheisstpeter

🎁 One-time Sponsors

🚀 Fiber Hero@thnxdev
🪴 Fiber Friend@Gl1tchedPixzl