Burrow is a GUI browser for gopherspace.
Go to file
sloumdrone e11bd4d636 Added support for binary downloads 2018-11-18 08:43:36 -08:00
images Major updates to styling. Uses a dark code editor theme. Light theme coming soon. 2018-10-27 15:33:01 -07:00
.gitignore Added support for binary downloads 2018-11-18 08:43:36 -08:00
README.md Update README.md 2018-10-29 19:38:27 -07:00
burrow.py Added support for binary downloads 2018-11-18 08:43:36 -08:00
connect.py Added support for binary downloads 2018-11-18 08:43:36 -08:00
gui.py Added support for binary downloads 2018-11-18 08:43:36 -08:00
home.gopher Added support for binary downloads 2018-11-18 08:43:36 -08:00
parser.py Added support for binary downloads 2018-11-18 08:43:36 -08:00

README.md

Burrow

A client/browser that accesses gopherspace. It is under current early stage development.

Burrow browser

Gopher

Gopher is a communications protocol that, in the early 90s, competed (briefly) with what became the world wide web. Gopher serves up files and text based menus. As such, it is much lighter weight than HTML documents and the like served over http. Due to its text based nature it also has the benefit of being reliable in its visual output and style, and for being relatively accessible.

Browser Features

The following is a list of current and future Burrow features:

  • Tk based GUI
    • Back button, move backwards in session history
    • Forward button, move forward in session history
    • Ffavorite button adds current page to favorites (non-functional)
    • Home, shows favorites and is a start page
    • An address bar, on ENTER submits a request for a gopher page
    • Settings button, brings up configuration menu (non-functional)
    • A display area for the requested information
    • Scroll bar
    • A status bar to display various information
  • Links
    • On hover, link destination shows in status bar
    • On hover, link is underlined
    • Links are colored differently from regular text (configurable)
    • Link type appears next to link in noticeable coloring (configurable)
    • On primary click, destination is loaded and new location replaces old location in address bar
    • On primary click, link background changes to visually confirm click (configurable)
    • Cursor is a pointer over links, while regular text is an I-beam cursor.
  • Menus, Pages, and Files
    • Menus display clickable links
    • Text files display in the viewport
    • Image files display in the viewport
    • Right click on image allows for download (non-functional)
    • Sound files (non-functional)
    • Binary files (non-functional)
    • HTML files, open in a new tab in the default web browser
    • Interactive pages/search (non-functional)
  • History
    • Session based history for backward and forward navigation
    • Persistent favorites (non-functional)
    • Suggestions on URL entry based on persistent history (non-functional)
  • Application settings and menus
    • Settings menu (non-functional)
      • Color themes
      • Icon themes
      • History settings
      • Files/download settings
    • Secondary click context menus for text manipulation & file saving (non-functional)
    • Page saving for offline viewing (non-functional)
    • Hotkey to view page source for menus (non-functional)
  • Errors
    • Error warnings to user (non-functional)
    • Error page on bad/malformed request (non-functional)
    • Error display for type 3 server response (non-functional)

Installation

Burrow requires python3 to be installed on the system prior to running. Until some bundling/setup-file creation occurs, you will also need to add:

pip3 install pillow

On some linux distributions an additional package for tkinter may be required. If you get a console error complaining about tkinter try the following (or equivalent for your package manager):

sudo apt-get install python3-tk
sudo apt-get install python3-pil.imagetk

Distribution

Burrow's primary system target is debian based linux systems. Once a version 1.0 is reached the plan is to distribute via .DEB packages and possibly through snapcraft (if a workable bundle can be figured out).

Some version of windows executable may come along as well, depending on configurability of build tools (py2exe, freeze, etc) for windows executables and time.

Contribute

To contribute, please branch off of develop and then submit a pull request into develop with any changes. As the project grows I will likely add wiki, issues, etc as the need arises and more people get involved.