hellgate/readme.md

1.9 KiB

hellgate logo a complete web-to-gemini proxy

requirements

  • nodejs
  • npm
  • electron
  • openssh
  • sh
  • libgtk-2-0
  • libgconf-2-4
  • xvfb (if you're running it headless)

setup

  • sudo apt install libgtk2.0-0 libgconf-2-4 (if you're on debian, other distros idk)
  • sudo apt install xvfb (again, on debian)
  • git clone https://tildegit.org/sose/hellgate
  • cd hellgate
  • sudo npm install -g electron --unsafe-perm=true
  • npm install
  • ./gen_cert
  • npm start or xvfb-run npm start
    • the server will listen on localhost

what is this?

  • hellgate is a web browser with a gemini server attached
  • ask the server for a webpage and it will access it, render it, and send it to you in gemtext format

why not just use curl and convert the html to gemtext?

  • because hellgate runs a fully featured web browser, it has the ability to execute javascript like a browser would
  • this means websites that require javascript to function (like say, cnn.com) can be made accessible over gemini

what is the sigils dir for?

  • hellgate is extensible through the use of files called 'sigils'
  • a sigil is a file containing user-created javascript that will execute inside the browser sandbox whenever its corresponding page is accessed
  • sigils are mainly used for generating nicer looking gemtext for specific websites, but they can be used to automate any action within the browser's javascript environment
  • sigils are located in the sigils dir and are titled with the domain name of their corresponding website
  • see writing sigils for more info on how to write a sigil
  • if you write a new sigil for a specific website, don't hesitate to send it as a pull request to this repo

notes

  • as of right now the npm version of gemini-server is broken, use the version from github or this will not work