Gophyr is a modern implementation of the Gopher protocol (RFC 1436) for Zephyr RTOS, with support for Wi-Fi connectivity and ASCII art image rendering.
- Full Gopher protocol implementation (RFC 1436)
- Shell-based interface for easy navigation
- Image rendering with ASCII art conversion (WiP)
- Support for ESP32's SPIRAM for processing larger images
- Navigation history with 'back' command
- Color terminal output
- Directory browsing
- Text file viewing
- Image viewing (WiP)
- Zephyr RTOS development environment
- Board with Wi-Fi support
To build the Gopher client for your board:
west build -b <board_name> .
Example for ESP32:
west build -b esp32s3_devkitm/esp32s3/procpu .
west flash
Once the application is running, the following commands are available:
gopher ip - Display network information
gopher connect <host> - Connect to a Gopher server
gopher get [selector] - Request a document or directory
gopher view <index> - View an item from the directory
gopher back - Navigate back to previous item
gopher search <idx> <q> - Search using a search server
gopher help - Display help information
You can also use the shorter alias g instead of gopher:
g 1 - View the first item in the directory
Configuration is done through the Kconfig system. Main configuration is in prj.conf with board-specific overrides in:
boards/*.conf: Board-specific configurationssocs/*.conf: SoC-specific configurationsnxp/overlay_*.conf: NXP-specific overlay configurations
Some key configurations:
CONFIG_WIFI: Enables Wi-Fi supportCONFIG_NET_L2_WIFI_SHELL: Enables Wi-Fi shell moduleCONFIG_NET_SHELL: Enables networking shell commandsCONFIG_ESP_SPIRAM: Enables SPIRAM support for ESP32
For ESP32 targets, the client can utilize SPIRAM for image processing, allowing larger images to be processed. This is enabled by the following configuration options:
CONFIG_ESP_SPIRAM=y
CONFIG_ESP_SPIRAM_SIZE=8388608
CONFIG_ESP_SPIRAM_HEAP_SIZE=4096000
CONFIG_SHARED_MULTI_HEAP=y
When SPIRAM is available, the image processing memory limit is increased from 200KB to 3MB.
Apache License 2.0