All Projects → superfly → Edge

superfly / Edge

Licence: apache-2.0
A set of useful libraries for Edge Apps. Run locally, write tests, and integrate it into your deployment process. Move fast and maybe don't break things? Because, gosh darnit, you're an adult.

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Edge

Ueditor Plus
Create By Xie Xianbin. RePackage ueditor for spring and other object storage service.
Stars: ✭ 71 (-32.38%)
Mutual labels:  cdn
Neardb
Simple document db made for infinitely scalable globally distributed reads.
Stars: ✭ 92 (-12.38%)
Mutual labels:  edge
Faasd
A lightweight & portable faas engine
Stars: ✭ 1,330 (+1166.67%)
Mutual labels:  edge
Vxscan
python3写的综合扫描工具,主要用来存活验证,敏感文件探测(目录扫描/js泄露接口/html注释泄露),WAF/CDN识别,端口扫描,指纹/服务识别,操作系统识别,POC扫描,SQL注入,绕过CDN,查询旁站等功能,主要用来甲方自测或乙方授权测试,请勿用来搞破坏。
Stars: ✭ 1,244 (+1084.76%)
Mutual labels:  cdn
Known Css Properties
List of standard and browser specific CSS properties.
Stars: ✭ 89 (-15.24%)
Mutual labels:  edge
Setup
My own front end web development set up, covering everything from operating system to analytics.
Stars: ✭ 93 (-11.43%)
Mutual labels:  cdn
Android P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 70 (-33.33%)
Mutual labels:  cdn
Asset Cdn
Serve Laravel Assets from a Content Delivery Network (CDN)
Stars: ✭ 101 (-3.81%)
Mutual labels:  cdn
Cdnjs
🤖 CDN assets - The #1 free and open source CDN built to make life easier for developers.
Stars: ✭ 9,270 (+8728.57%)
Mutual labels:  cdn
Cloudflare Typescript Workers
Types and mocks for building a tested Typescript Cloudflare Worker, generates three NPM packages
Stars: ✭ 94 (-10.48%)
Mutual labels:  cdn
Trafficserver
Apache Traffic Server™ is a fast, scalable and extensible HTTP/1.1 and HTTP/2 compliant caching proxy server.
Stars: ✭ 1,258 (+1098.1%)
Mutual labels:  cdn
Sketchpad
Sketchpad is fully customisable collaborative whiteboard plugin written in pure JavaScript.
Stars: ✭ 85 (-19.05%)
Mutual labels:  cdn
React Apig Lambda
Render React.js on-demand with CDN caching
Stars: ✭ 93 (-11.43%)
Mutual labels:  cdn
Docker Nginx Image Proxy
on the fly image cropping with gravity, resize and compression microservice
Stars: ✭ 79 (-24.76%)
Mutual labels:  cdn
Eleventy Starter
An 11ty starter project.
Stars: ✭ 97 (-7.62%)
Mutual labels:  proxies
Cloudflare Cname Setup
Cloudflare Partner Panel
Stars: ✭ 1,169 (+1013.33%)
Mutual labels:  cdn
Msiejavascriptengine
.NET wrapper for working with the JavaScript engines of Internet Explorer and Edge Legacy (JsRT versions of Chakra, ActiveScript version of Chakra and Classic JavaScript Engine). Project was based on the code of SassAndCoffee.JavaScript and Chakra Sample Hosts.
Stars: ✭ 92 (-12.38%)
Mutual labels:  edge
Framy Css
Very simple CSS Framework
Stars: ✭ 103 (-1.9%)
Mutual labels:  cdn
Mainflux
Industrial IoT Messaging and Device Management Platform
Stars: ✭ 1,341 (+1177.14%)
Mutual labels:  edge
Retrotxt
RetroTxt is the WebExtension that turns ANSI, ASCII, NFO text into in-browser HTML
Stars: ✭ 93 (-11.43%)
Mutual labels:  edge

Forking Edge

Fly Edge

npm version isc license Build Status Gitter

The Fly Edge project is a set of APIs for routing HTTP traffic, cache content, and add "middleware" (like auth) to any application. It's written in TypeScript and runs on the Fly Edge runtime. It's built for developers — that means runs locally, has a tests, and integrate into a CI/release pipeline.

The code targets the Service Worker API and uses the Fly runtime API where necessary. You can deploy it to fly.io hosting or run it on any platform with an Edge Service Worker implementation (with reduced features).

Getting Started

Pre-requisites

Try the starter app

git clone https://gist.github.com/ebc48856b74fde392a6d62a032b59a97.git forking-edge
cd forking-edge
yarn install
yarn start # visit http://localhost:3000

Once you have that running, try swapping in a different origin. Edit index.ts and and replace backends.origin("https://getting-started.edgeapp.net") with backends.githubPages("superfly/landing").

Deploy to production

You can deploy edge apps to the Fly hosting service using the CLI. Sign up at fly.io, then run:

yarn fly login
yarn fly app create <name-of-your-app>
yarn fly deploy

You can also run on CloudFlare or StackPath, though not all features will work.

Features

Straightforward TypeScript/ JavaScript API

You can do a lot with a single index.ts file. This example redirects all requests to https and caches content when possible:

import { backends, middleware, pipeline } from "@fly/edge";

// user middleware for https redirect and caching
const mw = pipeline(
  middleware.httpsUpgrader,
  middleware.httpCache
)

// point it at the origin
const app = mw(
  backends.origin("https://getting-started.edgeapp.net")
);

// respond to http requests
fly.http.respondWith(app);

Backends

Backends are origin services you can route requests to. The project includes a backend type any HTTP service, and more specialized types for proxying to third party services.

Want to help out? Write a new backend type and open a pull request!

Middleware

Middleware applies logic to requests before they're sent to the backend, and responses before they're sent to users.

Development

See CONTRIBUTING.

Configuration vs code

The Fly Edge can be run standalone with a yaml based configuration schema. If you prefer to run with a config file, check out the config README.

Who's using it?

  • cars.com: HTTP routing
  • glitch.com: custom domain routing
  • fontawesome.com: CDN for paid customers
  • distractify.com: routing, caching, redirect management
  • greenmatters.com: routing, caching, redirect management
  • artstorefronts.com: custom domain routing
  • kajabi.com: custom domain routing
  • posthaven.com: custom domain routing

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].