Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Browser for Gemini Protocol

License

NotificationsYou must be signed in to change notification settings

YGGverse/Yoda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GTK 4 / Libadwaita client written in Rust

Important

Project in development, for stable version use crates.io release!

image

Features

Interface

  • Multi-tab
  • Hotkeys
  • Bookmarks
    • Browser window
    • Recent bookmarks list
  • Build-in multimedia support
  • Certificates
    • Generate new identity
    • Select for path
    • Export to PEM
    • Import from PEM
    • Delete
  • Custom search providers
  • Downloads
    • Browser window
    • Save page as file
    • Unsupported content type downloads
  • History
    • Browser window
    • Page navigation
    • Recently visited
    • Recently closed
  • Proxy
  • Session
    • Window
      • Size
      • Tabs
        • Pin
        • Page
          • Content (cache)
          • Meta
            • Title
          • Navigation
            • Request
            • History
  • User settings

Protocols

  • Gemini
    • Status code
      • Success
        • 20
      • Input
        • 10 Input
        • 11 Sensitive input
      • Redirection
        • 30 Temporary
        • 31 Permanent
      • Temporary failure
        • 40 Unspecified condition
        • 41 Server unavailable
        • 42 CGI error
        • 43 Proxy error
        • 44 Slow down
      • Permanent failure
        • 50 General
        • 51 Not found
        • 52 Gone
        • 53 Proxy request refused
        • 59 Bad request
      • Client certificates
        • 60 Certificate requested
        • 61 Certificate not authorized
        • 62 Certificate not valid
    • Gemtext (byggemtext)
      • Code (inline/multiline)
        • Inline
        • Multiline
          • Alt
        • Syntax highlight* (bysyntect)
        • Terminal emulation* (byansi-parser)
          • foreground
          • background
          • intensity
          • italic
          • underline
          • blink
          • reversed
          • strikethrough
      • Header
        • H1
        • H2
        • H3
      • Link
        • Address
        • Date
        • Alt
      • List
      • Quote
    • Gemfeed
      • by headers
      • by links
      • by content hash*
    • Titan
      • Binary data (file uploads)
      • Text input
      • Header options
        • MIME
        • Token
  • NEX - useful for networks with build-in encryption (e.g.Yggdrasil)
  • System
    • file:// - local files browser
  • Request prefix
    • about:
      • config - low-level key/value settings editor
    • bookmarks: - bookmarks browser
    • history: - history browser
    • download: - save location to file
    • source: - source viewer (bysourceview5)

Media types

Text

  • text/gemini
  • text/plain

Images

  • image/gif
  • image/jpeg
  • image/png
  • image/webp
  • image/svg+xml

Audio

  • audio/flac
  • audio/mpeg
  • audio/ogg

Video

Build

LinuxDependenciescrates.io

Requirements

  • Cairo1.18
  • GdkPixBuf2.42
  • Glib2.80
  • Gtk4.14
  • GtkSourceView5.14
  • libadwaita1.5 (Ubuntu 24.04+)
  • libspelling0.1

Debian

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

Fedora

sudo dnf install git curl gcc\                 gtk4-devel gtksourceview5-devel glib2-devel libadwaita-devel libspelling-devel\                 sqlite-devel openssl-devel

Rust

Userustup installer to setup latest Rust compiler and Cargo package manager:

curl --proto'=https' --tlsv1.2 -sSf https://sh.rustup.rs| sh

Install

Stable

cargo install Yoda
  • runYoda

Repository

git clone https://github.com/YGGverse/Yoda.gitcd Yodacargo build
  • cargo run

Development

Contribution

  • Before commit, please make sure:
    • new branch created for every new PRgit checkout -b 'contribution-name'
    • new code follows commonrustfmt stylecargo fmt --check
    • runcargo clippy for final optimization

Contributors

wakatimeStandWithUkraine

Localization

UI localization planed as Crowdin repository, but it is not implemented yet.

To install new spell dictionaries in Fedora, usesudo dnf install hunspell-CODE

  • just replaceCODE with the locale code you want

Releases

  • Package version in repository increase aftercrates.io release
  • Until DB migration not implemented, application will create new profile on everyCARGO_PKG_VERSION_MAJOR.CARGO_PKG_VERSION_MINOR change

See also


[8]ページ先頭

©2009-2025 Movatter.jp