All Projects β†’ xiaoyang-liu-cs β†’ Booster.js

xiaoyang-liu-cs / Booster.js

Licence: mit
The speed and performance optimizier for your website, delivering fast web experiences to users.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Booster.js

Appwrite
Appwrite is a secure end-to-end backend server for Web, Mobile, and Flutter developers that is packaged as a set of Docker containers for easy deployment πŸš€
Stars: ✭ 14,592 (+1100.99%)
Mutual labels:  serverless, hacktoberfest
Derek
Reduce maintainer fatigue by automating GitHub
Stars: ✭ 714 (-41.23%)
Mutual labels:  serverless, hacktoberfest
Apisix
The Cloud-Native API Gateway
Stars: ✭ 7,920 (+551.85%)
Mutual labels:  serverless, reverse-proxy
Airform
Functional HTML forms for Front-End Developers.
Stars: ✭ 307 (-74.73%)
Mutual labels:  serverless, hacktoberfest
Kong
🦍 The Cloud-Native API Gateway
Stars: ✭ 30,838 (+2438.11%)
Mutual labels:  serverless, reverse-proxy
Pode
Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers
Stars: ✭ 329 (-72.92%)
Mutual labels:  serverless, hacktoberfest
Tidb
TiDB is an open source distributed HTAP database compatible with the MySQL protocol
Stars: ✭ 29,871 (+2358.52%)
Mutual labels:  serverless, hacktoberfest
Azurlshortener
An simple and easy Url Shortener
Stars: ✭ 247 (-79.67%)
Mutual labels:  serverless, hacktoberfest
Aws Toolkit Vscode
AWS Toolkit for Visual Studio Code, an extension for working with AWS services including AWS Lambda.
Stars: ✭ 823 (-32.26%)
Mutual labels:  serverless, hacktoberfest
Commercejs Nextjs Demo Store
Commerce demo store built for the Jamstack. Built with Commerce.js, Next.js, and can be one-click deployed to Netlify. Includes product catalog, categories, variants, cart, checkout, payments (Stripe) order confirmation, and printable receipts.
Stars: ✭ 737 (-39.34%)
Mutual labels:  serverless, hacktoberfest
Vulcain
Fast and idiomatic client-driven REST APIs.
Stars: ✭ 3,190 (+162.55%)
Mutual labels:  hacktoberfest, reverse-proxy
Marketplace Sample Apps
Repository of sample codes demonstrating usage of SDK and APIs on the Freshworks developer platform. πŸ”— https://developers.freshworks.com
Stars: ✭ 70 (-94.24%)
Mutual labels:  serverless, hacktoberfest
Keda
KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
Stars: ✭ 4,015 (+230.45%)
Mutual labels:  serverless, hacktoberfest
Github Readme Stats
⚑ Dynamically generated stats for your github readmes
Stars: ✭ 34,955 (+2776.95%)
Mutual labels:  serverless, hacktoberfest
Docs
User documentation for Knative components.
Stars: ✭ 3,106 (+155.64%)
Mutual labels:  serverless, hacktoberfest
Serverless Dynamodb Local
Serverless Dynamodb Local Plugin - Allows to run dynamodb locally for serverless
Stars: ✭ 530 (-56.38%)
Mutual labels:  serverless, hacktoberfest
Mtgatracker
MTGATracker is a deck tracker for MTG Arena, offering an in-game overlay that shows real time info about your deck in MTGA. It can also record & analyze your past matches to show personal aggregated gameplay history information, like lifetime wins/losses by deck, by event, etc.
Stars: ✭ 232 (-80.91%)
Mutual labels:  serverless, hacktoberfest
Baker
Orchestrate microservice-based process flows
Stars: ✭ 233 (-80.82%)
Mutual labels:  serverless, hacktoberfest
Fission
Fast and Simple Serverless Functions for Kubernetes
Stars: ✭ 6,646 (+447%)
Mutual labels:  serverless, hacktoberfest
Proxykit
A toolkit to create code-first HTTP reverse proxies on ASP.NET Core
Stars: ✭ 1,063 (-12.51%)
Mutual labels:  serverless, reverse-proxy

Header

booster.js is a speed and performance optimizier for your website, delivering fast web experiences to users. Built with Cloudflare Workers, it caches static assets on the high performance global network, applies optimizations to web pages, and guards your website from scrapers or malicious attacks.

  • Speed: Deliver your website with Cloudflare’s global network, which is milliseconds away from virtually every Internet user.
  • Network: Set up HTTP/2, TLS 1.3, HTTPS (Free SSL Certificate), and IPv6 for your website.
  • Optimization: Minify JavaScript codes, compress images, cache static assets.
  • Firewall: Block traffics from specific IP addresses, regions, or known scrapers.
  • Routes: Serve different webpages to visitors based on their region or devices.
  • Serverless: No virtual machines, no servers, and no containers to maintain.
  • Todo: Load balancer, HTMLRewriter, and advanced routing rules.

Demo

Build and Deploy

Deploy with Wrangler

  1. Install Wrangler

  2. Generate a new project

wrangler generate booster https://github.com/xiaoyang-liu-cs/booster.js
  1. Configure wrangler.toml to prepare your project for deployment
wrangler config
  1. Build and deploy on Cloudflare Workers
wrangler build
wrangler publish

Deploy manually

  1. Navigate to Cloudflare Workers, register or sign in your Cloudflare account, and set custom subdomain for workers, and create a new Worker.

  2. Customize src/booster.js, paste the code into Cloudflare online editor to replace the default one.

  3. Change the name of your Worker, save and deploy the code.

Bind to Custom Domain

  1. Add your domain to Cloudflare.

  2. Navigate to the dashboard, select 'Workers' page, and click on 'Add Route'.

  3. Type https://<domain_name>/* in Route and select the Worker you've created.

  4. Add a CNAME DNS record for your custom domain. Input the subdomain (Example: @ or www) in the 'Name' field, input the second level domain of your workers (Example: readme.workers.dev) in the 'Target' field, and then set 'Proxy status' to 'Proxied'.

Config

Config

basic

  • upstream: Protocol, Domain, Port (Optional), Path (Optional). Example: https://www.math.ucla.edu/~tao/
  • mobileRedirect: Automatically redirect mobile device visitors to a mobile-optimized website.

firewall

  • blockedRegion: Block visitors from specific regions. Full list of codes: ISO 3166-1 alpha-2
  • blockedIPAddress: Block visitors from specific IP Address.
  • scrapeShield: Discover, detect, and deter content scraping. Reference: Introducing ScrapeShield

routes: Map country/region codes to specific upstream. Full list of codes: ISO 3166-1 alpha-2 Example:

routes: {
    FR: 'https://www.google.fr/',
    CA: 'https://www.google.ca/'
}

optimization

  • cacheEverything: Forces Cloudflare to cache the response for this request, regardless of the response headers.
  • cacheTtl: Forces Cloudflare to cache the response for this request with specific TTL, regardless of the response headers.
  • mirage: Detects screen size and connection speed to optimally deliver images for the current browser window.
  • polish: Automatically optimizes the images on your site. The possible values are lossy, lossless or off. Reference: Introducing Polish
  • minify: Removes unnecessary characters from JavaScript, CSS, and HTML files.

Examples

Upstream Config Demo
Google examples/google.js N/A
Wikipedia examples/wikipedia.js https://booster.readme.workers.dev

Contribute

  • Feature Request: Create an issue with the Feature request template.
  • Bug Reports: Create an issue with the Bug report template.
  • Improvements to the booster.js: Fork the repository, edit code, deploy it to Cloudflare Workers, and then create a pull request.
  • Add Config Examples: Fork the repository, write an example config for any website, save it to the examples directory, and then create a pull request.

Current contributors

Support booster.js

We accept donations through these channels:

  • Buy Me a Coffee
  • Bitcoin: 1Eb4n6eEyyKjbu3feA9oAQAnZo1K46UvXN
  • Ethereum: 0x16145d98625c0b2aa265773970ca090bf783d5ae
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].