xrsh/README.md
Leon van Kammen 37fa95666f
Some checks failed
/ mirror_to_github (push) Failing after 1m34s
/ test (push) Successful in 12s
wip
2025-01-21 15:05:16 +01:00

5.6 KiB

xrsh

click here for the website / hosted repo

XRSH Manual

Documentation for XRSH users can be found here

TIP: this is also available by typing ctrl/cmd+a+0 or man xrsh inside XRSH

Wiki / Roadmap

See the wiki here

Install

NOTE: installation is optional: just surf to the public version here

run standalone binary
  1. Download 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 is a convenient way to install or develop xrsh:

  1. nix-shell -p xrsh thttpd
  2. thttpd -p 8080 -d /nix/store/5q4vd50gmh52jh48z62ln1j05xzfh1fz-xrsh-0.142
  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 <dir> overlay webroot parameter.

NOTE 2: to enable SSL and add (iso)file try something like this:

$ mkdir data
$ cp ../xrsh.iso data/. # copy custom iso
$ $(which podman || which docker) run -p 8080:8080 -v data/cert:etc/cert -v data:/data docker.io/coderofsalvation/xrsh /xrsh.com -D /data -c 0 -C /etc/cert/cert.pem -K /etc/cert/key.pem

or as an exercise in constructive laziness setup a reverse proxy like zoraxy, go-proxy, [droxy], caddy or nginx-reverse-proxymanager.

run from codeberg.org (nonprofit-backed forgejo instance)
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](https://forgejo.org)/gitea codeforge-instance
1. clone the xrsh repository locally 2. create a repo on your forgejo 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 with your own ISO

install in [yunohost](https://yunohost.org)
1. search for xrsh in the application catalog 2. click install 3. profit!

optionally customize the xrsh yunohost package with your own ISO

The browser auto-launches https://localhost:8080 on most platforms

pass -p XXXX to specify port (default:8080)

Developers

Make sure to clone the repo including submodules (the xrsh-com repo)

$ git clone --recurse-submodules https://forgejo.isvery.ninja/xrsh/xrsh
$ cd xrsh
$ nix-shell  # optional but adviced (to get up and running instantly)

Now serve the repo from a HTTPS webserver (for example run ./make dev)

build using shellscript
  1. Run ./make standalone to package everything into xrsh.com
build using nix
  1. nix-build -E "with import <nixpkgs> { }; callPackage ./nix/xrsh-package.nix"
  2. optionally see the other nix-files in nix-folder
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

Funding

This project is funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo

Inspired by