{"id":37185003,"url":"https://github.com/evilfactorylabs/gow","last_synced_at":"2026-01-14T21:23:40.329Z","repository":{"id":52291692,"uuid":"239989689","full_name":"evilfactorylabs/gow","owner":"evilfactorylabs","description":"URL shortener for evlfctry.pro","archived":false,"fork":false,"pushed_at":"2021-05-01T08:42:33.000Z","size":281,"stargazers_count":29,"open_issues_count":2,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-03-08T20:22:56.086Z","etag":null,"topics":["go","golang","reason","reasonml","url-shortener"],"latest_commit_sha":null,"homepage":"https://evlfctry.pro/docker","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evilfactorylabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-12T10:51:15.000Z","updated_at":"2023-03-01T01:00:56.000Z","dependencies_parsed_at":"2022-09-14T13:21:44.295Z","dependency_job_id":null,"html_url":"https://github.com/evilfactorylabs/gow","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/evilfactorylabs/gow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilfactorylabs%2Fgow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilfactorylabs%2Fgow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilfactorylabs%2Fgow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilfactorylabs%2Fgow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evilfactorylabs","download_url":"https://codeload.github.com/evilfactorylabs/gow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilfactorylabs%2Fgow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["go","golang","reason","reasonml","url-shortener"],"created_at":"2026-01-14T21:23:39.582Z","updated_at":"2026-01-14T21:23:40.311Z","avatar_url":"https://github.com/evilfactorylabs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gow\n\n\u003e Simple URL shortener with simple analytics.\n\n\u003ca href=\"https://hub.docker.com/r/evilfactorylabs/gow/builds\"\u003e\n  \u003cimg src=\"https://img.shields.io/docker/cloud/build/evilfactorylabs/gow\" /\u003e\n\u003ca/\u003e\n\n![gow](https://i.imgur.com/cCgbJm2.png)\n\n## Motivation\n\nThis program is powering our internal url shortener (evlfctry.pro) which is to\ntrack link distribution without tracking any personal data.\n\n## Technologies\n\n- Go\n- SQLite\n- Reason React (Web)\n\n## Goals\n\n- Minimal dependencies\n- Minimal memory footprint\n- No personal data tracking\n\n## Development\n\nMake sure you have Go \u0026 SQLite installed (and its dependencies), if not, you know what's next.\n\n- Build the application: `make`\n- Run the server: `TOKEN=\u003ctoken\u003e ./gow`\n\nIf you want to develop the web as well, you need to open a new terminal session and\nrun `npm run dev` in `web` directory.\n\n## Environment variables\n\n- `TOKEN` - Used for creating via REST_API, default: (empty)\n- `HOST` - Helpful when you are using reverse proxy, default: `localhost`\n- `PORT` - Helpful in case you don't use container technology, default: `3030`\n- `SLACK_WEBHOOK` - (Optional) Slack Webhook URL to send incoming request to Slack, default: (empty)\n\nFor now (v0.2.0), authorization is done in Layer 7 (Load Balancer), but I will fix this.\n\n## Deployment\n\nThere are 2 ways to run this program in Production.\n\n### Quick way\n\n- Pull the image: `docker pull evilfactorylabs/gow:\u003cversion\u003e`\n- Run it: `docker run -d -e TOKEN=\"\u003ctoken\u003e\" -v ~/data:/app/data evilfactorylabs/gow:\u003cversion\u003e`\n\n### As Binary\n\n- Clone repo\n- Build code: `make`\n- Run program: `TOKEN=\u003ctoken\u003e ./gow`\n\n### As Docker Container\n\n- Build image: `docker build -t . evilfactorylabs/gow:latest`\n- Run image: `docker run -d -e TOKEN=\"\u003ctoken\u003e\" -v ~/data:/app/data evilfactorylabs/gow:\u003cversion\u003e`\n\n## Roadmap\n\n- [ ] v1.0.0 — stable basic functionality [api, web]\n- [ ] v1.1.0 — show total hits on index \u0026 stats page [api, web]\n- [ ] v1.2.0 — functionality to delete existing slug [api]\n- [ ] v1.3.0 — authentication functionality, not rely on token (like now) [api, db]\n- [ ] v1.4.0 — make migration easier and more reliable [db]\n- [ ] v1.5.0 — fancy chart! [web]\n\n## Maintainer(s)\n\n- [Fariz, evilfactorylabs](mailto:fariz@evilfactory.id)\n- [Ri7nz, evilfactorylabs](https://twitter.com/ri7nz)\n\n## License\n\n(c) 2020 evilfactorylabs, under MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilfactorylabs%2Fgow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevilfactorylabs%2Fgow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilfactorylabs%2Fgow/lists"}