Show HN: Burrow is a globally distributed, serverless HTTP proxy
Burrow is a serverless HTTP proxy for Go on AWS Lambda, supporting round-robin transport and Terraform deployment in 17 regions. Future updates will include API key authentication and user-driven features.
Read original articleBurrow is a serverless, globally-distributed HTTP proxy for Go, designed to operate on AWS Lambda. It is fully compatible with the standard Go `*http.Client` and implements the `http.RoundTripper` interface for proxying requests. Key features include support for round-robin transport, allowing automatic rotation through multiple Lambda functions across different regions, and Terraform configurations for deployment in 17 AWS regions.
To use Burrow, users can install it via the command `go get github.com/myzie/burrow`. A basic proxy setup involves creating an HTTP client with a specified proxy URL. For round-robin transport, users can define multiple proxy URLs and create a client that utilizes Burrow's round-robin transport feature. Multi-region deployment can be achieved using Terraform with a command to deploy to a specified S3 bucket for state management.
Future enhancements planned for Burrow include API key authentication and additional features based on user feedback. The repository provides example clients to illustrate usage, and contributions are encouraged under the Apache License 2.0. For further information, users can visit the GitHub repository.
Related
AWS Lambda Web Adapter
The GitHub repository provides details on the AWS Lambda Web Adapter, allowing developers to build web apps on AWS Lambda with features like endpoint support, response encoding, and local debugging.
Proxy Objects in Python
Proxy objects in Python act as intermediaries for calls to other objects, enabling functionalities like database pooling. Python treats everything as objects, using special "dunder" methods for operations. Class inheritance and __getattribute__ method are crucial. Crowdalert simplifies information gathering.
Hoop.dev – the only access gateway with packet manipulation
The GitHub URL details "hoop.dev," an access gateway for databases and servers. Features include passwordless authentication, open-source SSO, session recording, just-in-time access, Slack/Teams requests, packet manipulation, web/proxy modes, and custom connections. Visit hoop.dev for more.
Beego: A Full Stack Web Framework for Go
Beego is a Go framework for enterprise app development, supporting RESTful APIs and web services. It follows MVC architecture, offers modularity, auto API docs, and various modules. Licensed under Apache 2.0.
BlockQueue: SQLite-powered pub/sub for lean, fast messaging
Block Queue is a lightweight, cost-effective messaging system using a pub/sub mechanism, built on SQLite3 and NutsDB, supporting Turso Database and PostgreSQL, with high performance and open-source availability.
aws account list-regions \
--region-opt-status-contains "ENABLED" "ENABLED_BY_DEFAULT" \
--no-paginate \
--query "Regions[].RegionName" \
--output text
That's the approach I've taken with SAM/Cloudformation deployments[1].[1] https://github.com/mlhpdx/email-origin/blob/main/scripts/dep...
Also, are the Function URLs publicly accessible? If so, what safe guards are there to prevent abuse?
Related
AWS Lambda Web Adapter
The GitHub repository provides details on the AWS Lambda Web Adapter, allowing developers to build web apps on AWS Lambda with features like endpoint support, response encoding, and local debugging.
Proxy Objects in Python
Proxy objects in Python act as intermediaries for calls to other objects, enabling functionalities like database pooling. Python treats everything as objects, using special "dunder" methods for operations. Class inheritance and __getattribute__ method are crucial. Crowdalert simplifies information gathering.
Hoop.dev – the only access gateway with packet manipulation
The GitHub URL details "hoop.dev," an access gateway for databases and servers. Features include passwordless authentication, open-source SSO, session recording, just-in-time access, Slack/Teams requests, packet manipulation, web/proxy modes, and custom connections. Visit hoop.dev for more.
Beego: A Full Stack Web Framework for Go
Beego is a Go framework for enterprise app development, supporting RESTful APIs and web services. It follows MVC architecture, offers modularity, auto API docs, and various modules. Licensed under Apache 2.0.
BlockQueue: SQLite-powered pub/sub for lean, fast messaging
Block Queue is a lightweight, cost-effective messaging system using a pub/sub mechanism, built on SQLite3 and NutsDB, supporting Turso Database and PostgreSQL, with high performance and open-source availability.