{"id":19840507,"url":"https://github.com/zefer/zurly","last_synced_at":"2025-08-10T12:26:16.320Z","repository":{"id":12217648,"uuid":"14825261","full_name":"zefer/zurly","owner":"zefer","description":"A simple URL shortener service","archived":false,"fork":false,"pushed_at":"2013-12-10T09:05:19.000Z","size":140,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T22:22:46.440Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://zefer.github.io/zurly/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zefer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-30T17:30:12.000Z","updated_at":"2013-12-10T09:05:26.000Z","dependencies_parsed_at":"2022-09-23T04:51:17.591Z","dependency_job_id":null,"html_url":"https://github.com/zefer/zurly","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zefer/zurly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zefer%2Fzurly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zefer%2Fzurly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zefer%2Fzurly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zefer%2Fzurly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zefer","download_url":"https://codeload.github.com/zefer/zurly/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zefer%2Fzurly/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262557283,"owners_count":23328284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T12:27:11.378Z","updated_at":"2025-06-29T07:33:32.035Z","avatar_url":"https://github.com/zefer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# zurly\n\nA very simple URL shortening service.\n\nGo + Redis.\n\nBuilt to help me learn Go, so expect scaryness.\n\nDeliberately using net/http rather than a web framework, in an attempt to learn.\n\n# Short Urls\n\nA unique ID is generated for each short URL. This ID is the hex value of the\ntotal number of urls stored in Redis. This total is implemented as a simple\ncounter.\n\nPath /:ID will redirect to the corresponding long url for the given ID.\n\n# API\n\nHere are the [API docs](http://zefer.github.io/zurly).\n\nThe API resources \u0026 methods are defined in [API.md](docs/API.md).\n\nThe html docs are generated by running `go run docs/exporter.go`. NB: You must\nhave [snowcrash](https://github.com/apiaryio/snowcrash) installed to parse\nAPI.md.\n\n# Build \u0026 Run\n\n`go build` then `PORT=5000 zurly-server`\n\n# Redis\n\nConnects to `127.0.0.1:6379` by default. Override this by setting env vars\n`REDIS_ADDRESS` \u0026 `REDIS_PASSWORD`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzefer%2Fzurly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzefer%2Fzurly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzefer%2Fzurly/lists"}