RozsdásFilc: Kréta console client written entirely in Rust from the ground up. https://crates.io/crates/rsfilc
Find a file
2026-06-05 17:44:10 +02:00
.github chore: bump deps, run ci on pr-s (dependabot pulls will be tested) 2026-03-24 18:51:18 +01:00
assets fix(rename)!: a whole lot more user-friendly and correct 2025-11-23 22:36:17 +01:00
src fix: respect NO_COLOR 2026-02-04 18:31:28 +01:00
.gitignore refactor: ekreta will live in a new repo, as this was messy 2025-02-07 17:56:29 +01:00
Cargo.lock chore: bump deps 2026-06-05 17:20:04 +02:00
Cargo.toml chore: bump deps, run ci on pr-s (dependabot pulls will be tested) 2026-03-24 18:51:18 +01:00
LICENSE misc(license): update license year 2025-04-10 19:24:48 +02:00
README.hu.md docs: add alternatives, docs 2026-06-05 17:41:13 +02:00
README.md docs: add alternatives, docs 2026-06-05 17:41:13 +02:00

RozsdásFilc: E-Kréta console client in Rust

E-Kréta is an awful Hungarian electronic school administration system

Magyar leírás

dependency status

Installation

  • EZ mode: grab a prebuilt binary from releases

if not available for your platform (file an issue), not a preferred method or feels a bit outdated:

  • Rust
  • cargo install --locked rsfilc

for latest, beta builds: cargo install --locked --git "https://codeberg.org/jark/rsfilc"

Shell completions:

Bash

Add this to the end of your config file (usually ~/.bashrc):

eval "$(rsfilc completions bash)"
Zsh

Add this to the end of your config file (usually ~/.zshrc):

eval "$(rsfilc completions zsh)"

For completions to work, the above line must be added after compcompletions is called. You may have to rebuild your completions cache by running rm ~/.zcompdump*; compcompletions.

Fish

Add this to the end of your config file (usually ~/.config/fish/config.fish):

rsfilc completions fish | source
PowerShell

Add this to the end of your config file (find it by running echo $profile in PowerShell):

Invoke-Expression (& { (rsfilc completions powershell | Out-String) })
Elvish

Add this to the end of your config file (usually ~/.elvish/rc.elv):

eval (rsfilc completions elvish | slurp)

Note RsFilc only supports elvish v0.18.0 and above.

Usage

general help: rsfilc --help
log in to an account: rsfilc user --login <USER_ID>

useful stuff

  • when in doubt, be sure to check rsfilc --help first
  • if you'd like to have instant replies, only loading cached data, not caring about latest changes on the server, you shall try setting the environment variable NO_NET to 1, eg. on linux: NO_NET=1 rsfilc timetable
  • if you feel like refreshing your cache, you'd do (again on linux): NO_CACHE=1 rsfilc absences, but don't forget rsfilc user --cache-dir either
  • if your lessons are over for a day, and say: rsfilc (timetable|tt), the next day with lessons will be shown by default, to show today you could: rsfilc tt +0 or rsfilc tt -- -0

demo

Features

renaming

like: teachers, subjects, ...
check out the config path with rsfilc --config-path and edit rename to your liking
you may wanna check out example config if you don't feel like renaming at all at a specific moment, use NO_RENAME=1 (note: this won't apply to already cached data)

cross-platform: not tested thoroughly but should run on

  • linux
  • windows
  • macOS
  • android via Termux
  • everything else that Rust supports

CLI

  • basic usage of API
  • filtering what to show
  • multi-user feature
  • somehow rendering html that messages return
  • render html messages with w3m or lynx if possible
  • shell completions: [bash, zsh, fish, elvish, powershell]
  • logger: fern maybe
  • helpful crashes
  • caching everything so that life remains enjoyable
    • token
    • timetable
    • evals
    • user info
    • absences
    • announced tests
    • messages
    • note messages
  • encoding passwords
  • sending messages
  • class averages
  • fetching administrational processes
  • starting new administrational processes

Acknowledgements, alternatives, similar software, docs, ...