longurl

command module
v0.0.0-...-e58cecd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2023 License: Apache-2.0 Imports: 16 Imported by: 0

README

longurl

deploy Go Reference

screenshot

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

Return 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=true

Then run with docker.

docker run -d -p 3000:3000 --name longurl -v /config.yaml:/config/config.yaml ghcr.io/long2ice/longurl/longurl

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
ent
url

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL