A PHP webpage that uses string replacements to generate a binary on the fly that you can enter at setup in NEOS.

Overview

openpilot-installer-generator

A PHP webpage that uses string replacements to generate a binary on the fly that you can enter at setup in NEOS.

What is this?

Previously to install a custom fork from scratch, you would enter https://openpilot.comma.ai in the Custom Software prompt for NEOS, 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.

Usage

The syntax is pretty simple, with up to 3 arguments you can pass the generator site: https://smiskol.com/fork/[username]/{branch}/{loading_msg}

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

  • If branch is left blank (https://smiskol.com/fork/commaai), git will clone the default branch on GitHub.
  • 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).
  • 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.

Example: https://smiskol.com/fork/shanesmiskol installs the Stock Additions fork.

Aliases

Defined in the index.php file, aliases allow for more quickly installing a fork with a long username.

If 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".

Misc

Custom loading message without branch

If 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

Source code to build the custom installer

Here's the source code for the custom installer binary.

And here's the diff and a branch you can check out to build it on your EON/C2.


Idea by nelsonjchen on the openpilot Discord!

You might also like...
Boilerplate code for protecting a form with proof of work. Uses javascript in the browser to generate the hashcash and PHP on the server to generate the puzzle and validate the proof of work.

Boilerplate code for protecting a form with proof of work. Uses javascript in the browser to generate the hashcash and PHP on the server to generate the puzzle and validate the proof of work.

A prototype generator to quickly generate prototypes based on Neos nodetype definitions.
A prototype generator to quickly generate prototypes based on Neos nodetype definitions.

UpAssist.PrototypeGenerator What does this package do? This package lets you create scaffolding for prototypes for Neos using the commandline. Why did

Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets). It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.
Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets). It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.

Motto: "Every business should have a detection script to detect mobile readers." About Mobile Detect is a lightweight PHP class for detecting mobile d

PHP Japanese string helper functions for converting Japanese strings from full-width to half-width and reverse. Laravel Rule for validation Japanese string only full-width or only half-width.

Japanese String Helpers PHP Japanese string helper functions for converting Japanese strings from full-width to half-width and reverse. Laravel Rule f

A series of methods that let you manipulate colors. Just incase you ever need different shades of one color on the fly.

PHPColors A series of methods that let you manipulate colors. Just incase you ever need different shades of one color on the fly. Requirements PHPColo

Create an ip info WebPage with a style.css and an index.php

my-ip-info Create an ip info Page with a style.css and an index.php file. 支持 判断浏览器语言,非中文显示为英文。 curl指令返回ip地址 国家 城市。 在地图上显示位置 前提条件 一个已经注册了域名并在Cloudflare

Webpage for the users / members of the FIAE-D / FIAE-E classes 2021.

Fiae-DE The website I write / wrote for the FIAE-D / FIAE-E classes of 2021. Table of contents: Introduction Technologies Purpose of this repoitory Da

Music website developed as a final group project for our Webpage Development class.

double-drummer Music listening website developed as final group project for our Webpage Development course. All parts that disclosed any information r

Laravel IndexNow - Submit webpage updates to search engines

Laravel IndexNow - Submit webpage updates to search engines This packages provides a wrapper to use the IndexNow api in Laravel. This makes indexing n

An object oriented PHP driver for FFMpeg binary

php-ffmpeg An Object-Oriented library to convert video/audio files with FFmpeg / AVConv. Check another amazing repo: PHP FFMpeg extras, you will find

An object oriented PHP driver for FFMpeg binary

php-ffmpeg An Object-Oriented library to convert video/audio files with FFmpeg / AVConv. Check another amazing repo: PHP FFMpeg extras, you will find

A full PHP implementation of Minecraft's Named Binary Tag (NBT) format.

php-nbt A full PHP implementation of Minecraft's Named Binary Tag (NBT) format. In contrast to other implementations, this library provides full suppo

Ip2region is a offline IP location library with accuracy rate of 99.9% and 0.0x millseconds searching performance. DB file is ONLY a few megabytes with all IP address stored. binding for Java,PHP,C,Python,Nodejs,Golang,C#,lua. Binary,B-tree,Memory searching algorithm

Ip2region是什么? ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java,php,c,python,nodejs,golang,c#等查询绑定和Binary,B树,内存三种查询算法。 Ip2region特性

This is the 2nd generation of a Two-Stack CMS package for Neos.

Decoupled Content Store based on Redis This is the 2nd generation of a Two-Stack CMS package for Neos. This Package is currently work-in-progress and

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build parse trees and also generates a listener interface (or visitor) that makes it easy to respond to the recognition of phrases of interest.

Neos Glossary Package

Sitegeist.Nomenclator A Glossary Package for Neos This package provides the website with a glossary page, which gives the editor of the website the po

A Composer Package which installs the PhantomJS binary (Linux, Windows, Mac) into /bin of your project.

phantomjs-installer A Composer package which installs the PhantomJS binary (Linux, Windows, Mac) into /bin of your project. Table of Contents Installa

Carbon.IncludeAssetsCache Package for Neos CMS

Extend Carbon.IncludeAssets with an seperate cache entry for the included files. If a file changes, the cache gets flushed. This is useful if you have got dynamic CSS or JavaScript files on your server.

Neos Backend Module for the Flowpack.JobQueue packages
Neos Backend Module for the Flowpack.JobQueue packages

Wwwision.Neos.JobQueueModule Neos Backend Module for the Flowpack.JobQueue.Common packages. Usage Install package via composer: composer require wwwis

Comments
  • So cool ,But my access to git is very slow, can you tell me how to handle mirroring

    So cool ,But my access to git is very slow, can you tell me how to handle mirroring

    When I need to download the official version,Only need to replace https://github.com.cnpmjs.org/commaai/openpilot or https://github.com/commaai/openpilothttps://hub.fastgit.org/commaai/openpilot can, other branches of the same。

    Can you help me?

    opened by sadmenmen 2
  • Parse $user, $branch after button click on desktop

    Parse $user, $branch after button click on desktop

    On desktop right now, even if you click on the AGNOS installer it will still serve release2. Parse these after the button click, or at least add an exception for this

    bug 
    opened by sshane 1
  • Merge new installer changes from upstream

    Merge new installer changes from upstream

    Merge changes from https://github.com/commaai/openpilot/commit/1ebe06d1c2339680452a8d9c08cc76bd38ee0949 and https://github.com/commaai/openpilot/commit/6c25b44369228915c825bbd1b178dc32f8505395. Can we use the same installer on both now?

    opened by sshane 0
  • Any way to install forks named other than

    Any way to install forks named other than "openpilot"?

    I'm currently setting up OnePlus 3T + White Panda which requires older version of the openpilot. But for the branches I wish to use the devs have decided to split out into separate repo.

    Such as: https://github.com/crwusiz/openpilot_v0.8 https://github.com/openpilotusers/openpilot_081

    Is there any way to install forks named other than "openpilot"?

    opened by LPFchan 0
Owner
I mess around with self driving cars, neural networks, and real world data! Attending UNT in Denton.
null
Generate migrations from existing database structures

Laravel Migration Generator Generate migrations from existing database structures, an alternative to the schema dump provided by Laravel. A primary us

Bennett Treptow 404 Jan 1, 2023
A PHP-based sandboxing library with a full suite of configuration and validation options.

A full-scale PHP 5.4+ sandbox class that utilizes PHP-Parser to prevent sandboxed code from running unsafe code. It also utilizes FunctionParser to di

Corveda 192 Dec 10, 2022
A handful of tools for PHP developers.

Belt A handful of tools for PHP developers. Version 2.0.0 is out now. Clear documentation, improved tests and code quality. Installation In case you w

Ilya 726 Dec 30, 2022
Is an Extension of Laravel View Class which compiles String Template on the fly. It automatically detects changes on your string template and recompiles it if needed.

Laravel-fly-view Is an Extension of Laravel View Class which compiles String Template on the fly. It automatically detects changes on your string temp

John Turingan 16 Jul 17, 2022
Flow package to synchronize metadata and binary data of imported Neos.Media assets

Wwwision.AssetSync Flow package to synchronize metadata and resources of imported Neos.Media assets Installation Install this package via: composer re

Bastian Waidelich 5 Feb 7, 2022
YCOM Impersonate. Login as selected YCOM user 🧙‍♂️in frontend.

YCOM Impersonate Login as selected YCOM user in frontend. Features: Backend users with admin rights or YCOM[] rights, can be automatically logged in v

Friends Of REDAXO 17 Sep 12, 2022
Daux.io is an documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly. It helps you create great looking documentation in a developer friendly way.

Daux.io - Deprecation Notice This repository is deprecated! Daux.io has been moved to an organization, to guarantee future development and support. So

Justin Walsh 4.6k Dec 16, 2022
Daux.io is an documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly. It helps you create great looking documentation in a developer friendly way.

Daux.io Daux.io is a documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly. It help

Daux.io 719 Jan 1, 2023
PCRE wrapping library that offers type-safe preg_* replacements.

composer/pcre PCRE wrapping library that offers type-safe preg_* replacements. If you are using a modern PHP version you are probably better off using

Composer 308 Dec 30, 2022
Enter-to-the-Matrix-with-Symfony-Console - Reproduction of the "Matrix characterfall" effect with the Symfony Console component.

Enter to the Matrix (with Symfony Console) Reproduction of the "Matrix characterfall" effect with the Symfony Console component. Run Clone the project

Yoan Bernabeu 23 Aug 28, 2022