| Crates.io | Yoda |
| lib.rs | Yoda |
| version | 0.12.6 |
| created_at | 2024-09-18 17:48:00.545136+00 |
| updated_at | 2025-11-15 17:55:48.820915+00 |
| description | Browser for Gemini Protocol |
| homepage | |
| repository | https://github.com/YGGverse/Yoda |
| max_upload_size | |
| id | 1379444 |
| size | 697,282 |
Privacy-oriented GTK 4 / Libadwaita client written in Rust.
The term Privacy-oriented means that Yoda complies to the Gemini protocol specification and excludes third-party connections, that making it safe to use in combination with I2P. It also includes useful tools, such as connection details, optional DNS/Geo-IP features, flexible proxy configuration for use with modern IPv6 mesh networks like Yggdrasil, Mycelium, CJDNS, and others.
Yoda browser is primarily designed by and for experienced network users who care about their fingerprints and prefer to control every action manually. It does not preload tab content on app opening, does not run any background connections, does not incorporate web-like media preloading without user initiation, and does not automatically check for updates, even from 'official' servers. Additionally, it prevents auto-follow external redirection by default and requires manual confirmation, which is currently not clearly specified.
The Gemini protocol was designed as a minimalistic, tracking-resistant alternative to the Web, and Yoda embraces this philosophy by providing a straightforward graphical user interface (GUI) that is partially inspired by the Firefox UI, making it intuitively comfortable for regular users.
[!IMPORTANT] Project in development, for stable version use checkpoint releases!
2010 Input11 Sensitive input30 Temporary31 Permanent40 Unspecified condition41 Server unavailable42 CGI error43 Proxy error44 Slow down50 General51 Not found52 Gone53 Proxy request refused59 Bad request60 Certificate requested61 Certificate not authorized62 Certificate not validfile:// - local files browserdownload: - save location to filesource: - source viewer (by sourceview5)text/geminitext/plaintext/neximage/gifimage/jpegimage/pngimage/webpimage/svg+xmlaudio/flacaudio/mpegaudio/ogg1.18+2.42+2.80+4.14+5.14+1.5+ (Ubuntu 24.04+)0.1+sudo apt install git curl build-essential\
libgtk-4-dev libgtksourceview-5-dev libglib2.0-dev libadwaita-1-dev libspelling-1-dev\
libsqlite3-dev libssl-dev
sudo dnf install git curl gcc\
gtk4-devel gtksourceview5-devel glib2-devel libadwaita-devel libspelling-devel\
sqlite-devel openssl-devel
Use rustup installer to setup latest Rust compiler and Cargo package manager:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install Yoda
Yodagit clone https://github.com/YGGverse/Yoda.git
cd Yoda
cargo build --release
target/release/Yodagit clone https://github.com/YGGverse/Yoda.git
cd Yoda
flatpak-builder --force-clean build\
--install-deps-from=flathub\
--install --repo=repo --user\
io.github.yggverse.Yoda.yaml
flatpak run io.github.yggverse.Yodaflatpak build-bundle repo Yoda.flatpak io.github.yggverse.Yodagit checkout -b 'contribution-name'cargo fmt --checkcargo clippy for final optimization
UI localization planed as Crowdin repository, but it is not implemented yet.
To install new spell dictionaries in Fedora, use sudo dnf install hunspell-CODE
CODE with the locale code you wantTo enable geo-location features, get official IP database from MaxMind
then copy following files into the config folder (available from menu)
GeoLite2-Country.mmdbGeoLite2-City.mmdb (not implemented yet)CARGO_PKG_VERSION_MAJOR.CARGO_PKG_VERSION_MINOR change