#359long2ice/longurl: 一个自托管的短链服务
longurl
Introduction
longurl is a self-hosted short url service.
Try It Out
curl -H "Content-Type:application/json" -X POST --data '{"url": "https://github.com/long2ice/longurl"}' https://longurl.long2ice.ioReturn like this:
{
"url": "https://longurl.long2ice.io/3FXrsHE"
}Now Visit https://longurl.long2ice.io/3FXrsHE.
Params
url(required): the url to be shorted.path(optional): the custom path for short url, can config allow or not.expire_at(optional): when the short url expire, can set default expire in config.max_times(optional): max times access, shorted url will be invalid if reached.
Deploy
First write a config.yaml.
server:
host: 0.0.0.0
port: 3000
logTimezone: Asia/Shanghai
logTimeFormat: 2006-01-02 15:04:05.000000
url:
domain: localhost:3000
schema: http
length: 7 # the path length
allowCustomPath: true # allow custom short url path
expireSeconds: 2592000 # default expire seconds
unique: true # same urls only generate one short url
database:
type: mysql
dsn: root:123456@tcp(127.0.0.1:3306)/longurl?parseTime=trueThen run with docker.
docker run -d -p 3000:3000 --name longurl -v /config.yaml:/config/config.yaml ghcr.io/long2ice/longurl/longurlYou can visit http://localhost:3000/docs to see the API docs.
Frontend
The frontend project is https://github.com/long2ice/longurl-web.
Credits
- Fiber, Express inspired web framework written in Go.
- Ent, An entity framework for Go.
- Sonyflake, A distributed unique ID generator inspired by Twitter's Snowflake.
License
This project is licensed under the
Apache-2.0
License.
grafana/loki: 水平可扩展、高可用、多租户日志聚合系统。它的设计非常经济高效且易于操作。它不索引日志的内容,而是为每个日志流建立一组标签。seagull1985/LuckyFrameWeb: 一款免费开源的测试平台,最大的特点是全纬度覆盖了接口自动化、 WEB UI自动化、 APP自动化,并且支持分布式测试,测试关键字驱动也很大程度上解决了测试同学代码基础弱的问题。

