跳至主要内容

无服务器 自建短链服务 Url-Shorten-Worker 支持自定义短链

源码GitHub: 

https://github.com/Crap996/Url.CF-Web

搭建方法:

https://blog.uncle.cloudns.org/2023/12/url-shorten-worker.html


支持自定义短链的修改思路:

gh-pages分支下

index.html增加了一个可以输入自定义短链的文本框

<input type="text" class="form-customs-shorturl" placeholder="customs shorturl" id="customShortURL">

main.js准备给POST的JSON里面添加这个短链的文本

body: JSON.stringify({ url: document.querySelector("#text").value, customShortURL: document.querySelector("#customShortURL").value })

准备放到worker的脚本

获取POST过来的数据

let req_customShortURL=req["customShortURL"]

增加自定义短链的处理

  if (config.custom_link && (req_customShortURL != "")){
    let is_exist=await LINKS.get(req_customShortURL)
    if (is_exist != null) {
      return new Response(`{"status":500,"key":": Error: Custom shortURL existed."}`, {
        headers: response_header,
      })
    }else{
      random_key = req_customShortURL
      stat, await LINKS.put(req_customShortURL, req_url)
    }
  } 

======

后记

在index.html里使用jsdelivr的url去调用main.js,结果repo里修改了jsdelivr上面没动,调试了半天怎么都不通。浪费了好几个小时。

https://gcore.jsdelivr.net/gh/crazypeace/Url-Shorten-Worker@gh-pages/main.js

最终修改为调用github.io的形式,调试成功。

https://crazypeace.github.io/Url-Shorten-Worker/main.js

当然,这样的调用方式墙内用不了。

我在gh-pages分支下面放了一个内容完全一样,只是调用jsdelivr的index-cdn.html

如果等到jsdelivr的资源同步了,在部署到worker的脚本时,157行改一下就好。

  const html= await fetch("https://crazypeace.github.io/Url-Shorten-Worker/"+config.theme+"/index-cdn.html")

评论

此博客中的热门博文

解决 ClouDNS 域名申请 CloudFlare SSL 证书问题

Text.  在上篇文章,我讲解过了如何在 ClouDNS 上申请自己的免费二级域名。但是如果使用这个域名并配合 CloudFlare 的 SSL 证书的话,可能会出现这个问题。在这篇文章中,我们就着手来解决这个问题 准备材料 ClouDNS 域名 CloudFlare 账号 部署步骤 打开 CF 的控制面板,然后进入到自己的域名。转到 SSL 中的 Edge Certificates 页面,找到类似 *.xx.cloudns.biz, xx.cloudns.biz 的选项,点击展开,然后复制里面的 TXT 记录和值备用 打开 ClouDNS 的域名 DNS 的 TXT 解析页面,然后点击 “Add new record” 按钮,创建 TXT 记录 将 CF 的解析值填写进来 等待大概 15-30 分钟,然后 Status 出现 “Active” 即可

解决 ClouDNS 域名无法在 CloudFlare DNS 解析的问题

Text. 在我们将 ClouDNS 域名 CloudFlare 之后,估计大家可能发现了一个问题:如果在 CloudFlare 的 DNS 解析这个域名,那这个域名有可能无法使用。这是因为不知道啥的原因,ClouDNS 的域名 DNS 还未完全转接给 CloudFlare 进行托管。这篇教程中,我就来和大家一起来解决 ClouDNS 域名无法在 CloudFlare DNS 解析的问题。 准备材料 ClouDNS 域名及账号 CloudFlare 账号 解决步骤 打开 CF 的 DNS 控制面板,解析自己的域名,并关闭小云朵 我们这时可以尝试 ping,可以发现是很大概率是 ping 不出来的 这时,我们回到 ClouDNS 的域名解析页面,添加一条和 CF DNS 相同样的记录 等待 ClouDNS 解析好之后,再次尝试 ping,如果 ping 出来的 ip 是解析好的 ip,即可代表成功。

节点客户端推荐:Karing,支持 Win / Mac / 安卓 / iOS,并附使用教程

  相信有些小白肯定和我几年前刚入坑一样热衷于使用 XX VPN 这种软件觉得一键上手挺容易,而不去使用机场、自建节点。但是这种 VPN 来说肯定比自建节点来讲是不安全的。那么我们有没有一款软件可以让小白去使用机场、自建节点呢?这篇文章介绍的 Karing,就是这种软件。下面我来和大家一起了解并使用这款软件 准备材料 Win / Mac / 安卓 / iOS 平台的设备 步骤 如为 Win / 安卓设备,打开他们的项目: https://github.com/KaringX/karing/releases ,然后根据自己的平台下载对应的安装包。如为 Mac / iOS 设备,直接在 App Store 搜索 Karing / Karing VPN 安装即可 打开 Karing,这里我们选择简体中文,点击“下一步” 分流规则这里按照默认即可,点击“下一步” 在这里我们可以通过订阅 / 节点链接、导入配置文件和扫码来添加节点 这里就以添加订阅为例,在配置链接处复制粘贴订阅链接,然后填写备注,最后点击右上角按钮添加即可 点击中间的开关按钮,启用代理。这里程序会挑选出延迟最低的节点供你链接 可以点击最下面的框,然后手动选择某一节点进行链接 可以在设置→我的配置处,管理自己的订阅配置 Text. Text.