自己写了个简单的脚本,起一个 Flask,接受请求并编码成字符串ID,再将ID存到 redis 里面,结合 nginx 反代,基本上可以做一个自用的简易的短链接网址。
@app.route('/s', methods=['GET', 'POST'])
def shorten() -> str:
data = request.get_json(force=True)
if not data: return 'SUCCESS'
url = data.get('url', '')
md5 = hashlib.md5(url.encode()).hexdigest()
hid = Hashids(salt=md5, min_length=6)
uniq_id = hid.encode(42)
r.hset('shorten', mapping={uniq_id: url})
return request.host_url + 's/' + uniq_id