{"id":20903355,"url":"https://github.com/urethramancer/unitylinks","last_synced_at":"2026-06-08T16:04:57.001Z","repository":{"id":120111361,"uuid":"68553750","full_name":"Urethramancer/UnityLinks","owner":"Urethramancer","description":"Gathers and serves up Unity download links based on a version number and a hash.","archived":false,"fork":false,"pushed_at":"2018-02-11T20:02:08.000Z","size":2721,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-12T21:18:12.738Z","etag":null,"topics":["go","golang","parse","unity","web"],"latest_commit_sha":null,"homepage":null,"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/Urethramancer.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-18T23:50:42.000Z","updated_at":"2020-09-13T13:01:13.000Z","dependencies_parsed_at":"2023-03-13T12:38:12.455Z","dependency_job_id":null,"html_url":"https://github.com/Urethramancer/UnityLinks","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/Urethramancer/UnityLinks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urethramancer%2FUnityLinks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urethramancer%2FUnityLinks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urethramancer%2FUnityLinks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urethramancer%2FUnityLinks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Urethramancer","download_url":"https://codeload.github.com/Urethramancer/UnityLinks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Urethramancer%2FUnityLinks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271493232,"owners_count":24769117,"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","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","parse","unity","web"],"created_at":"2024-11-18T13:12:44.903Z","updated_at":"2026-06-08T16:04:56.947Z","avatar_url":"https://github.com/Urethramancer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UnityLinks [![Build Status](https://travis-ci.org/Urethramancer/UnityLinks.svg)](https://travis-ci.org/Urethramancer/UnityLinks)\nThis is a server and link parser to get the individual official package links for releases of [Unity](https://unity3d.com). Supported links at the moment are only for 5.0 and up, but others might work. See usage below.\n\nAn example server exists at http://unity.grimdork.net, and is updated roughly on the day a new patch or regular version is released. Betas are not tracked.\n\n## Why?\nThe installer sometimes fails behind firewalls, while direct web downloads, which is what the installer actually uses, work fine in a browser. Sometimes the downloads simply fail before they're done, and start over from zero when you retry. Getting the direct links lets you pick and choose, continue broken downloads and package it up for wider internal use, something the installer makes more complicated than it should.\n\n## Warning\nThe current code is an ugly mess because gcfg couldn't parse the INI files produced for the Unity installer in every case. A very naïve parsing method is used due to the regularity of these files. Do not read - your eyes will bleed.\n\n## Dependencies\n1. [web.go](https://github.com/hoisie/web)\n2. [str](github.com/mgutz/str)\n\n## Build\nClone the repo and build with Go. Latest generally works (see build status link in the title above).\n\n## Usage\n### Server\nTo run the server, just run the binary on any Unix-like system, preferably some form of Linux. Any required folders will be created. Use whichever method you prefer to keep it running (Docker, LCX, fancy daemon scripts, wishful thinking).\n\nYou can bind it to a specific address with the *-a* flag and a port of choice with the *-p* flag.\n\n### Updating\nIts other use is a little more complicated, as it needs a couple of external pieces of information.\n\nYou will need to copy a link to a Unity version you want the package links for. It will generally look something like this for the Mac version:\n\n\u003e http://beta.unity3d.com/download/d64ba7d31ce9/UnityDownloadAssistant-5.3.6p5.dmg\n\nOr like this for the Windows version:\n\u003ehttp://beta.unity3d.com/download/d64ba7d31ce9/UnityDownloadAssistant-5.3.6p5.exe\n\nThere are two pieces of information you want from this: The hash and the version.\n\nIn this case the hash is *d64ba7d31ce9* and the version is *5.3.6p5*.\n\nCreate a file with the name of the version in the updates directory in the same folder as UnityLinks, containing only the hash on one line:\n\n```sh\necho d64ba7d31ce9 \u003e updates/5.3.6p5\n```\n\nRepeat for any number of versions you'd like to extract links for.\n\nThen update the versions:\n\n```sh\n./UnityLinks -u\n```\nor\n\n```sh\n./unitylinks -u\n```\n\nThe running server should now have an extra page of links for each version, if all went well. The update method uses a few different links out of the possible ones Unity Technologies have available, which may help when the regular installer fails.\n\n### Scraping parches\nNew in v0.6.0 is the option to guess the latest few patch updates and fetch their details automatically:\n```sh\n./UnityLinks -s\n```\n\nAnd that's it. With the current layout of the patch page the latest five patches should now have been added to the versions/ folder.\n\n## Licence\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furethramancer%2Funitylinks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furethramancer%2Funitylinks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furethramancer%2Funitylinks/lists"}