{"id":13584628,"url":"https://github.com/webdev23/phi","last_synced_at":"2025-04-07T01:32:48.005Z","repository":{"id":73989973,"uuid":"89826828","full_name":"webdev23/phi","owner":"webdev23","description":"Shell script installer, updater, and dependency manager","archived":false,"fork":false,"pushed_at":"2020-07-05T02:01:38.000Z","size":19,"stargazers_count":9,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-06T01:41:00.598Z","etag":null,"topics":["bash-deployment","bash-script","dependency-manager","dependency-parser","deployment","installer","linux","linux-app","parsing","phi","php-cli","pipe","remote-admin-tool","remote-execution","shell-script"],"latest_commit_sha":null,"homepage":"https://github.com/webdev23/phi","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/webdev23.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}},"created_at":"2017-04-30T03:23:22.000Z","updated_at":"2024-08-12T19:29:30.000Z","dependencies_parsed_at":"2024-04-11T21:12:18.093Z","dependency_job_id":"66757119-3bdb-43fe-bd4a-def5333c5892","html_url":"https://github.com/webdev23/phi","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/webdev23%2Fphi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdev23%2Fphi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdev23%2Fphi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webdev23%2Fphi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webdev23","download_url":"https://codeload.github.com/webdev23/phi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247578386,"owners_count":20961262,"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":["bash-deployment","bash-script","dependency-manager","dependency-parser","deployment","installer","linux","linux-app","parsing","phi","php-cli","pipe","remote-admin-tool","remote-execution","shell-script"],"created_at":"2024-08-01T15:04:24.249Z","updated_at":"2025-04-07T01:32:47.718Z","avatar_url":"https://github.com/webdev23.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# φ | php helper installer\nInstall shell scripts as system apps, install dependencies, and from your own repository.\n\nMade to fast deploy and update shell scripts from a remote index (yours!).\n\nThis is alpha quality software for aware peoples.\n\nCurrently, it suit perfectly my needs, but feel free to participate or give a star if you see usefulness.\n\nIt is tested in debian base, ubuntu, mint, raspbian.\n\nShould work on mac os with a little patch (using .bash_profiles instead of .bashrc, please report).\n\n\u003cpre\u003e\n\u003cb\u003eUsage: phi [list[install|local|update] [url|path]\n---------------------------------------------------\nInstall remote shell scripts (sh,bash,php,csh,python,perl..) as linux applications\u003c/b\u003e\n\nParse remote directories or file to find shell script and install them.\n\nWill configure the shell and save big time to create launchers and aliases. \n\n\u003cb\u003e[list]\u003c/b\u003e     Parse script to display infos\n            Parse remote index defined in script, or the url given as 2nd argument\n            \n\u003cb\u003e[install]\u003c/b\u003e  Get all remote scripts from index or url given as 2nd argument.\n            Create launcher.desktop for each scripts\n            Create aliases in .bashrc\n            Create shortcuts in the gnome programming submenu\n            \n\u003cb\u003e[update]\u003c/b\u003e   Update/replace local scripts by all scripts from remote index \n            or url given as 2nd argument\n            \n\u003cb\u003e[local]\u003c/b\u003e    Install local script given as 2nd argument (local path)\n\n\u003c/pre\u003e\n### Any script can after install be started by:\n - \u003cb\u003eClicking his icon in the gnome programming menu\u003c/b\u003e\n - \u003cb\u003eTyping his name in terminal\u003c/b\u003e\n - \u003cb\u003eCall his name from other shell scripts\u003c/b\u003e\n \nWhen done, icons can be changed as regular, scripts can be uninstalled by right click from the menu.\n\nKeyboards shortcuts commands will directly works with no paths headaches.\n\nWe can then create scripts without caring of paths, they will work on other machines when deployed with phi.\n\n### How are parsed scripts:\n\nI use scripts without extensions, i recommend you to do so, and this is how this program is written.\n\n\u003cpre\u003e\nScripts are valids only if they are extensionless.\nAnything without extensions won't download at all.\n\n\u003cb\u003e#!\u003c/b\u003e Script: are valids only when a shebang \u003cb\u003e#!\u003c/b\u003e match the document two first chars\n\n\u003cb\u003e#\u003c/b\u003e  Comments: lines begining with a \u003cb\u003e#\u003c/b\u003e will be displayed as informations\n\n\u003cb\u003e#\u003e\u003c/b\u003e Dependencies: lines with \u003cb\u003e#\u003e\u003c/b\u003e will be silently installed via apt.\n    Specify program names separated by spaces\n    Example, this line anywhere on a script\n    \u003cb\u003e\u003ci\u003e#\u003e lolcat\u003c/i\u003e\u003c/b\u003e\n    Will install lolcat with \u003cb\u003eapt\u003c/b\u003e, \n    just like: \u003cb\u003e\u003ci\u003esudo apt install lolcat\u003c/i\u003e\u003c/b\u003e\n \u003c/pre\u003e\n \nThe directory path is a hidden folder \u003cb\u003e.phi\u003c/b\u003e in home. \n\nFiles in this folder will be erased while updating.\n\nEditing is best done from remote, then to update changes locally: \u003cb\u003ephi update\u003c/b\u003e\n\n### Installation:\n\nPhp is needed on the system: \u003cb\u003esudo apt install php\u003c/b\u003e\n\nInstallation of phi alone from github source:\n\u003cpre\u003e\u003cb\u003ephp \u003c(curl https://webdev23.github.io/phi/phi) install https://webdev23.github.io/phi/phi\u003c/b\u003e\u003c/pre\u003e \n\nYes, to say it differently, this command \u003ci\u003ewill install phi from himself\u003c/i\u003e.\n    \nYou can as well \u003ca href=\"https://github.com/webdev23/phi/archive/master.zip\"\u003edownload the archive\u003c/a\u003e and run \u003cb\u003e./phi\u003c/b\u003e\n\n### Examples of uses:\n\n\u003cb\u003e Launch phi without installing \u003c/b\u003e\n\n    php \u003c(curl https://webdev23.github.io/phi/phi) \n    \n\u003cb\u003e Check infos from a remote script url: \u003c/b\u003e\n\n    phi list https://webdev23.github.io/gif/gif\n\n\u003cb\u003eList scripts in the defined main remote index:\u003c/b\u003e\n\n    phi list\n    \n\u003cb\u003eInstall all scripts from the main defined index:\u003c/b\u003e You will find somes helloworld demo (https://ponyhacks.com/open/cli/)\n\n    phi install\n    \n\u003cb\u003eParse and install all scripts including those in remote subfolders (caution..)\u003c/b\u003e\n\n    phi install URL\n    \n\u003cb\u003eUpdate all scripts from the main remote index whithout checking local installs\u003c/b\u003e\n\n    phi update\n   \n\u003cb\u003eInstall local script:\u003c/b\u003e\n\n    phi local LOCALPATH\n    \n\u003cb\u003e(Advanced:) Pipe install phi and all scripts from remote index\u003c/b\u003e\n\n    php \u003c(curl https://webdev23.github.io/phi/phi) install \n\n\u003cb\u003e(Advanced:) pipe install from another remote script (!)\u003c/b\u003e\n\nThere is \u003cb\u003eno needs of sudo\u003c/b\u003e when piping, but for apt scripts depedencies, if required.\n\nThis is golden if you got it.. \u003ci\u003eenjoy\u003c/i\u003e\u003c/b\u003e\n \n    php \u003c(curl https://webdev23.github.io/phi/phi) install https://webdev23.github.io/gif/gif\n   \n\u003cb\u003e(Advanced:) Check a website to find shell scripts, including those in subfolders.\u003c/b\u003e\n\n     phi list URL\n     \n### TODO\n\nAdd \u003cb\u003e#@\u003c/b\u003e parsing to update scripts from a fixed url.\n\nAdd \u003cb\u003e#^\u003c/b\u003e parsing to define an icon from script.\n\nAdd \u003cb\u003e#?\u003c/b\u003e parsing to define the launcher to run as super user.\n\nAbility to update remote from local.\n\n     \n     \n \n\n\n     \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebdev23%2Fphi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebdev23%2Fphi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebdev23%2Fphi/lists"}