# xrsh
## [click here for the website / hosted repo](https://xrsh.isvery.ninja)
## XRSH Manual
Documentation for XRSH users can be found [here](https://forgejo.isvery.ninja/xrsh/xrsh-buildroot/src/branch/main/buildroot-v86/board/v86/rootfs_overlay/root/manual.md)
> TIP: this is also available by typing `ctrl/cmd+a+0` or `man xrsh` inside XRSH
## Wiki / Roadmap
See [the wiki here](https://forgejo.isvery.ninja/xrsh/xrsh/wiki/Home#milestones)
## Install
> NOTE: installation is optional: just surf to the public version [here](https://xrsh.isvery.ninja)
For local use: download the crossplatform xrsh.com executable [checksum]:
1. [linux/mac only] run `chmod +x xrsh.com` in the console
2. run `./xrsh.com` in the console
3. xrsh opens in your browser at `https://127.0.0.1:8080`
4. profit!
> pass `-p XXXX` to specify port (default:8080)
### Installation guides
run standalone binary
1. Download [xrsh.com](https://forgejo.isvery.ninja/xrsh/xrsh/raw/branch/main/xrsh.com)
2. optional: run `unzip xrsh.com` to verify repository contents
3. run `chmod +x xrsh.com` in your console (only linux/mac)
4. run `./xrsh.com` in (any) shell
5. Profit! ✔
install using nixos
[NIX](https://nixos.org/) is a convenient way to install or develop xrsh:
1. `nix-shell -p xrsh thttpd`
2. run it (`thttpd -p 8080 -d /nix/store/5q4vd50gmh52jh48z62ln1j05xzfh1fz-xrsh-0.142` e.g.)
3. point your browser to `localhost:8080`
4. profit!
run OCI container [podman/docker]
1. `$(which podman || which docker) run -p 8080:8080 docker.io/coderofsalvation/xrsh`
2. point your browser to `localhost:8080`
3. profit!
> NOTE 1: to add files use the `-D run from codeberg.org
(codeberg.org is a nonprofit-backed forgejo instance)
1. create a repository on codeberg.org
2. `git push` the [xrsh repository](https://forgejo.isvery.ninja/xrsh/xrsh) to it
1. create a `pages` branchclone
2. push it to the codeberg repository
3. profit! it is now live
> more info: https://docs.codeberg.org/codeberg-pages/
run from selfhosted forgejo/gitea instance
1. clone the xrsh [xrsh repository](https://forgejo.isvery.ninja/xrsh/xrsh) locally
2. create a repo on your [forgejo](https://forgejo.org) instance
3. `git push` the xrsh to it
4. in your forgejo (docker/nix)-instance symlink it to the public folder (*)
5. point your browser to `https://yourforgejo.org/assets/xrsh`
> \* = for example: `ln -f git/repositories/yourusername/xrsh gitea/public/assets/.`
> optionally customize the [xrsh yunohost package](https://forgejo.isvery.ninja/xrsh/xrsh_ynh) with your own ISO
install in yunohost
1. search for xrsh in the [yunohost](https://yunohost.org) application catalog
2. click install
3. profit!
> optionally customize the [xrsh yunohost package](https://forgejo.isvery.ninja/xrsh/xrsh_ynh) with your own ISO
install with systemd
1. Create a new systemd service file (`sudo nano /etc/systemd/system/xrsh.service` e.g.)
2. Specify the `ExecStart` directive to run the xrsh (`[Service]\ExecStart=/path/to/xrsh.com -p 8080` e.g.).
3. Enable the service (`sudo systemctl enable xrsh.service` e.g.)
4. Start the service (`sudo systemctl start xrsh.service`).
4. Verify the service: `sudo systemctl status xrsh.service` or `netstat -tuln`.
run from github
Sigh..good old github times (RIP)..
It used to be a simple webinterface around git in 2008.
These days running a forgejo/gitea instance + CI is literally one cmd away (or hosted by codeberg.org.
The crossplatform binary is just a zip-file with the source (using https://redbean.dev):
build using shellscript
1. Run `./make standalone` to package everything into `xrsh.com`
build using nix
1. `nix-build -E "with import launch different .iso / modify files
You can specify a different `.iso` file in various ways:
1. open the `xrsh.com` as a zip (drag-drop into a zip-manager, or add `.zip` extension)
2. method 1: overwrite `xrsh.iso`
3. method 2: open `src/index.html` and change `isoterminal="iso: ./../xrsh.iso"` to another file/URL
> see developer-section below on building your own iso
](https://nlnet.nl)
[