Featured image of post 透過 cloudflare 的 worker 作為短縮網址服務

透過 cloudflare 的 worker 作為短縮網址服務

使用toolman底下的一個子域名作為短縮網址的功能

透過Cloudflare的workers直接在他們的服務器上運行

下一步是可以產生隨機的字串且可以成功的解析

Demo: https://share.toolman.xyz/159 (這樣子好像也沒有比較短啊..)

Code:

async function handleRequest(request) {
  const url = new URL(request.url);
  uri = url.pathname.substring(1).split('/')[0];
  if (uri == "") return new Response(null, { status: 404 });

  let newRequestInit = {
    method: 'GET',
    headers: {
      'share': 'true', // Change header method #1
    },
  }

  const newRequest = new Request(someURLToRedirectTo + uri, new Request(request, newRequestInit))
  // Change header method #2
  newRequest.headers.set('X-Example', 'bar')

  return fetch(newRequest) // 這種方式是會用原本share的網址顯示
  return Response.redirect(someURLToRedirectTo + uri + '?s=1', code) // 直接重新導向blog
}

addEventListener('fetch', async event => {
  event.respondWith(handleRequest(event.request))
})

const someURLToRedirectTo = 'https://page.toolman.xyz/article/'
const code = 301

參考: Cloudflare Workers | Cloudflare Workers