🐇 Quick

The Skinny

Do you want your website to be faster or more secure?

Don't settle for one or the other. Get both with Quick.

When a Route URL matches the incoming request:

graph LR A[Browser] --> |request| B{Quick} style B fill:#80E9FC,stroke:#333,stroke-width:3px B --> |Page Template| A

Quick responds with your static Page Template comprised of any valid HTML markup.

Set a Route Password to password-protect matching routes. In the following diagram, authenticated traffic reaches the password-protected origin, yoursite.com, and unauthenticated traffic receives a 401.

graph LR; A[Browser] --> |request| B{Quick} style B fill:#5EE5FB,stroke:#333,stroke-width:3px B --> |response| A B --> C(Quick Password Page) C -.-> DD(GET yoursite.com) style DD fill:#FFF,stroke:#333,stroke-width:1px DD -.-> C

The password-protected workflow behaves like this:

Quick Password Page

You can install it for free and unlock password protection with the Pro plan.

Tutorial

Check out this tutorial to see it in action.

How to Install

Powered by Cloudflare

Quick is powered by Cloudflare. If you're already using Cloudflare, click here to install Quick.

Cloudflare offers DDoS protection, a global CDN, SSL certificates, and a lot more cool stuff for free. You should probably use it.

Configuration

Quick is easy to set up. The installation page covers the basics but we'll elaborate here.

Quick is available in two plans — Free and Pro.

The following Route Configuration is available for route:

These Advanced Options are also available:

Route Configuration

Route Name
REQUIRED

You should name your page something to remember it by. The following is another informative table.

Route Name Result
muh page 🤮
landing page 🎉
🤮
contact page 🎉

Route URL
REQUIRED

The Page Template will be rendered on this URL. This can be any URL on your domain and can include subdomains. It is important that a full URL is specified here. Quick won't like it if you supply a path like /store here. It requires a URL like yoursite.com/store to work right. Here's some more examples in an informative table.

Route URL Result
/sad/path 🤮
yoursite.com/cool-beans 🎉
blog.yoursite.com 🎉

You can add scripts to your page by defining your template more explicitly:

<html>
  <head>
    <link href="https://fonts.googleapis.com/css?family=Poppins" rel="stylesheet" />
  </head>
  <body>
    <p> Hello World </p>
    <script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag() { dataLayer.push(arguments); }
      gtag('js', new Date());

      gtag('config', 'GA_TRACKING_ID');
    </script>
  </body>
</html>

If Route URL route yoursite.com/landing, Quick will render Page Template for yoursite.com/landing and for yoursite.com/landing/

Page Template

An HTML template to render on Route URL. Images and other resources should be remotely hosted due to strict template size restrictions. Refer to the following table for more information.

Image src attribute Result
../assets/my-image.png 🤮
http://somehost.com/my-image.png 🎉

Page Location will be rendered if both Page Location and Page Template are set.

Page Location

A remote page to render on Route URL. Page Location will be rendered if both Page Location and Page Template are set.

You can render any remotely hosted webpage on a route.

Response Headers

You can specify any number of response headers to return to the client. Each header should be new-line separated. In other words, hit enter after each header you type. Response headers might look like this:

X-Forwarded-From: blog
Some-Other-Header: hey lol
athirdheader: you get the point

Route Password pro

Set a password to restrict access to a route's content. Password-protected routes respond with a 401 Unauthorized error to incoming traffic unless the correct Route Password is provided in a quick-password query parameter or request header.

If Route URL: www.yoursite.com/secure* and Route Password: banana,

Incoming Request URL Result
www.yoursite.com/secure/info
www.yoursite.com/secure/info?quick-password=banana
www.yoursite.com/secure/info with quick-password=banana header

Requests containing a matching Route Password will display the page's protected content.

🔐 Passwords are stored securely on Cloudflare's infrastructure upon configuration. We do not have access to your passwords nor store your passwords on our system.

Enable Password Page pro

Enable this to make it easy for authorized users to access password-protected content. A password challenge will appear instead of a 401 Unauthorized error on protected routes.

Quick Password Page

The page's protected content is displayed when the Route Password is provided.

Advanced Options

Origin Mode

Enable Origin Mode to simulate an origin server without any DNS configuration or server setup! Requests made to your root domain will render a home page template. Requests to routes that don't exist will display a 404 Not Found page.

Due to technical limitations with Cloudflare Workers, Origin Mode will clobber any other Workers running on your domain.

Origin Template

An HTML template to render when requests are made to the root of your domain in Origin Mode.

404 Not Found Template

An HTML template to show if a route isn't found in Origin Mode.