{"id":22063151,"url":"https://github.com/sshane/openpilot-installer-generator","last_synced_at":"2025-10-06T13:43:53.852Z","repository":{"id":38387864,"uuid":"355030438","full_name":"sshane/openpilot-installer-generator","owner":"sshane","description":"A website that uses string replacements to generate a binary on the fly that you can use to install openpilot forks","archived":false,"fork":false,"pushed_at":"2024-03-13T19:06:48.000Z","size":354,"stargazers_count":50,"open_issues_count":3,"forks_count":46,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-05-01T18:14:02.754Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://smiskol.com/fork","language":"PHP","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/sshane.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":"2021-04-06T02:18:02.000Z","updated_at":"2024-04-15T20:57:46.000Z","dependencies_parsed_at":"2022-08-25T06:01:30.489Z","dependency_job_id":null,"html_url":"https://github.com/sshane/openpilot-installer-generator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshane%2Fopenpilot-installer-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshane%2Fopenpilot-installer-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshane%2Fopenpilot-installer-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshane%2Fopenpilot-installer-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshane","download_url":"https://codeload.github.com/sshane/openpilot-installer-generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227394845,"owners_count":17773550,"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-30T18:29:33.479Z","updated_at":"2025-10-06T13:43:48.809Z","avatar_url":"https://github.com/sshane.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openpilot-installer-generator\nA PHP webpage that uses string replacements to generate a binary on the fly that you can enter at setup in NEOS.\n\n## What is this?\nPreviously to install a custom fork from scratch, you would enter `https://openpilot.comma.ai` in the Custom Software prompt on your device, then `ssh` in later and clone the actual fork you want. Now you can enter a URL during set up to install any openpilot fork available on GitHub without first cloning stock.\n\n## Usage\nThe syntax is pretty simple, with up to 3 arguments you can pass the generator site: `https://smiskol.com/fork/[username]/{branch}/{loading_msg}`\n\nWhere `username` is the required username of the fork, `branch` is the branch to clone, and `loading_msg` is the text it displays when cloning the repo (`Installing {loading_msg}`). `branch` and `loading_msg` are optional.\n\n- If `branch` is left blank (https://smiskol.com/fork/commaai), git will clone the default branch on GitHub.\n- If `loading_msg` is left blank, then the installer will display `Installing {username}` unless the fork has a custom loading message (check the index.php for aliases).\n- While `username` is required if you visit the website on your desktop, if you `wget` the site or enter just `/fork` during set up, it will install the release2 branch of stock openpilot.\n\n**Example:** https://smiskol.com/fork/sshane installs the Stock Additions fork.\n\nThe main `index.php` file looks at your user-agent to decide which installer to serve. If `NEOSSetup` is present in your user-agent, then the Android-based installer is served. If `AGNOSSetup` is present, then it serves the Ubuntu-based installer for the comma three.\n\n## Aliases\nDefined in the [index.php](fork/index.php) file, aliases allow for more quickly installing a fork with a long username.\n\n- To install [dragonpilot](https://github.com/dragonpilot-community/dragonpilot), you can simply use the following URL which uses the `devel-i18n` branch by default: https://smiskol.com/fork/dp\n- To install [Stock Additions](https://github.com/sshane/openpilot), my fork, enter the URL: https://smiskol.com/fork/shane\n- To install [stock openpilot](https://github.com/commaai/openpilot), enter the URL: https://smiskol.com/fork/commaai or just https://smiskol.com/fork\n\nIf you are a fork developer, have a repository that is not named `openpilot`, and want to allow users to install with this tool, you can take advantage of GitHub's internal compatibility aliasing and just temporaily rename your fork to `openpilot` and rename it back. You can see an example of this in action with \"https://github.com/dragonpilot-community/openpilot\" redirecting to \"https://github.com/dragonpilot-community/dragonpilot\". \n\n## Misc\n### Custom loading message without branch\nIf you want to specify a custom loading message but use the default branch (not passing in a branch), you can pass an underscore for the branch. For example: https://smiskol.com/fork/shane/_/some%20additions%20or%20something\n\n### Source code to build the custom installer\n- [Source code for NEOS installer](/source/installer_source_neos.c)\n- [Source code for AGNOS installer](/source/installer_source_agnos.cc)\n\n---\n[Idea](https://discord.com/channels/469524606043160576/524594418628558878/827726757201051658) by [nelsonjchen](https://github.com/nelsonjchen) on the [comma.ai community Discord](https://discord.comma.ai/)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshane%2Fopenpilot-installer-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsshane%2Fopenpilot-installer-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshane%2Fopenpilot-installer-generator/lists"}