All Projects → supaflare → supaflare

supaflare / supaflare

Licence: MIT license
URL shortener / redirection service powered by Supabase, Cloudflare Workers, Workers KV and Cloudflare Pages.

Programming Languages

Vue
7211 projects
typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
PLpgSQL
1095 projects
shell
77523 projects

Projects that are alternatives of or similar to supaflare

IPFS PHOTO SHARE
💰用甚嚒服务器,ServerLess搭建一个图片分享站点!| 基于CloudFlareWorker无服务器函数和IPFS去中心化存储的图片分享网站
Stars: ✭ 76 (+49.02%)
Mutual labels:  cloudflare, cloudflare-workers
worker-auth-providers
worker-auth-providers is an open-source providers to make authentication easy with workers. Very lightweight script which doesn't need a lot of dependencies. Plug it with any framework or template of workers.
Stars: ✭ 85 (+66.67%)
Mutual labels:  cloudflare, cloudflare-workers
slshx
⚔️ Strongly-typed Discord commands on Cloudflare Workers
Stars: ✭ 163 (+219.61%)
Mutual labels:  cloudflare, cloudflare-workers
cloudflare-worker-router
A super lightweight router (1.3K) with middleware support and ZERO dependencies for CloudFlare Workers.
Stars: ✭ 144 (+182.35%)
Mutual labels:  cloudflare, cloudflare-workers
relay-starter-kit
💥 Monorepo template (seed project) pre-configured with GraphQL API, PostgreSQL, React, Relay, Material UI.
Stars: ✭ 3,513 (+6788.24%)
Mutual labels:  cloudflare, cloudflare-workers
DNS-over-Discord
A 1.1.1.1 DNS resolver built for Discord
Stars: ✭ 228 (+347.06%)
Mutual labels:  cloudflare, cloudflare-workers
cfw-easy-utils
An in-depth library to assist with common tasks with CF Workers. Includes utils for responses, cookies, and more!
Stars: ✭ 52 (+1.96%)
Mutual labels:  cloudflare, cloudflare-workers
workers-graphql-gateway-example
GraphQL running on Cloudflare Workers
Stars: ✭ 68 (+33.33%)
Mutual labels:  cloudflare, cloudflare-workers
workers-jwt
Generate JWTs on Cloudflare Workers using the WebCrypto API
Stars: ✭ 67 (+31.37%)
Mutual labels:  cloudflare, cloudflare-workers
crisp-react
React boilerplate written in TypeScript with a variety of Jamstack and full stack deployments. Comes with SSR and without need to learn a framework. Helps to split a monolithic React app into multiple SPAs and avoid vendor lock-in.
Stars: ✭ 147 (+188.24%)
Mutual labels:  cloudflare, cloudflare-pages
cfworker-url-shortener
部署在 Cloudflare Workers 的短网址服务
Stars: ✭ 52 (+1.96%)
Mutual labels:  url-shortener, cloudflare-workers
natural
Fastest Framework for NodeJS. Written in pure ES6+
Stars: ✭ 30 (-41.18%)
Mutual labels:  cloudflare, cloudflare-workers
Graphql Starter
💥 Monorepo template (seed project) pre-configured with GraphQL API, PostgreSQL, React, Relay, and Material UI.
Stars: ✭ 3,377 (+6521.57%)
Mutual labels:  cloudflare, cloudflare-workers
workers-unsplash-api
Serverless API for requesting images from Unsplash's API, designed for use with a React frontend
Stars: ✭ 20 (-60.78%)
Mutual labels:  cloudflare, cloudflare-workers
faaskit
A lightweight middleware framework for functions as a service
Stars: ✭ 24 (-52.94%)
Mutual labels:  cloudflare, cloudflare-workers
inkrss
Notify when rss feeds are updated | RSS 更新通知
Stars: ✭ 234 (+358.82%)
Mutual labels:  cloudflare, cloudflare-workers
cfworker-middware-telegraf
Make telegraf (a telegram bot framework) useable in Cloudflare Workers
Stars: ✭ 23 (-54.9%)
Mutual labels:  cloudflare, cloudflare-workers
cloudflare-worker-graphql-ws-template
A template for WebSockets powered Cloudflare Worker project using graphql-ws
Stars: ✭ 21 (-58.82%)
Mutual labels:  cloudflare, cloudflare-workers
terraform-cloudflare-maintenance
Terraform module to create a responsive Maintenance Page using Cloudflare Workers.
Stars: ✭ 111 (+117.65%)
Mutual labels:  cloudflare, cloudflare-workers
miniflare
🔥 Fully-local simulator for Cloudflare Workers
Stars: ✭ 2,811 (+5411.76%)
Mutual labels:  cloudflare, cloudflare-workers

supaflare_white_bg

GitHub license Cloudflare Pages Deployment Cloudflare Workers Deployment

About

Launch your own personal URL shortener / redirection service using free tiers of Supabase, Cloudflare Workers, Workers KV and Cloudflare Pages.

Features

  • Redirection based on device type (Default / Android / iOS)
  • Support various URL protocols
  • Front-end web application for link management

Demo

  1. Visit https://supaflare.licit.dev. Also accessible through https://supaflare.pages.dev.

  2. Use Magic Link to login or sign in with GitHub.

  3. Create and manage your links!

    URLs have to start with a protocol such as https://, ftp://

    Custom protocols are supported (eg: tg:// opens the Telegram app).

  4. Test your links at https://out.licit.dev/slug

Supabase Features Used

Auth

Provide authentication and segretation of data between different users.

Database

Store redirection links and metadata.

JS Library

Convenient access to access the above Supabase features used.

Cloudflare Features Used

Cloudflare Workers

Perform URL redirection and to update link data.

Workers KV

Read and store link data used when redirecting web requests.

Cloudflare Pages

Host the front-end Vue 3 web application.

Installation Guide

Fork Supaflare

Create a Fork of Supaflare as the deployments are pushed via GitHub Actions.

Set up Cloudflare Workers

  1. Sign up for a Cloudflare Workers account.
  2. Copy the Account ID shown in the Workers page somewhere, you will require it later.
  3. Copy the Subdomain shown in the Workers page somewhere, you will require it later.
  4. Head over to KV tab, add a new namespace called SUPAFLARE.
  5. Update the id found in /worker/wrangler.toml with the one you have just created.
  6. Head over to API Tokens and create a new Custom API Token with Permission of "Account/Worker Scripts/Edit".
  7. Copy the API Key somewhere, you will require it later.

Set up Supabase

  1. Sign up for a Supabase account.
  2. Create a new Project.
  3. Click SQL on the left menu bar and select + New query.
  4. Copy the contents found in /app/src/database.sql and run it in.
  5. Click Settings on the left menu bar and select API.
  6. Copy the Project API key > anon / public somewhere, you will require it later.
  7. Copy the Config > URL somewhere, you will require it later.
  8. Copy the Config > JWT Secret somewhere, you will require it later.

Set up Cloudflare Pages

  1. Sign up for a Cloudflare Pages account.
  2. Create a new project, selecting the fork of Supaflare in your GitHub account.
  3. Set the build output directory as dist.
  4. Set the root directory path as app.
  5. Create the following environment variables:
    1. VITE_SUPABASE_KEY with the Project API key > anon / public.
    2. VITE_SUPABASE_URL with the Config > URL.
    3. VITE_SUPAFLARE_WORKER_URL with https://supaflare-worker.<your workers subdomain>.workers.dev.
  6. After the first build is completed, pause the Automatic git deployments.
  7. Add a new deploy hook, copy the Deploy hook URL somewhere, you will require it later.

Configure GitHub Actions

  1. Open the forked GitHub project > Settings > Secrets.
  2. Create the following repository secrets:
    1. CF_ACCOUNT_ID with the Account ID.
    2. CF_API_TOKEN with the API Key.
    3. CF_PAGES_MASTER_WEBHOOK_URL with the Deploy hook URL.
    4. SUPABASE_API_KEY with the Project API key > anon / public.
    5. SUPABASE_JWT_SECRET with the Config > JWT Secret.
    6. SUPABASE_URL with the Config > URL.
    7. SUPAFLARE_ADMIN_KEY with a random non-empty string, used as secret for manual updates.
  3. Click on the Actions tab, manually run the workflows.

Configure Supabase Auth

Please set the Site URL in Supabase Settings > Auth settings to be the URL of your Cloudflare Pages site. For external OAuth providers, refer to the auth guide provided by Supabase.

Restrict Web Application Access

You may restrict the access to your web application using Cloudflare Access based on your requirements.

Upcoming Features

  • Search & Filtering of Links
  • QR Code Display
  • Link Expiry Datetime
  • Password Protection
  • Country Redirect

Developed by licitdev

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