RozsdásFilc: E-Kréta console client in Rust
E-Krétais an awful Hungarian electronic school administration system
- 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"
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
compcompletionsis called. You may have to rebuild your completions cache by runningrm ~/.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 $profilein 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.
general help: rsfilc --help
log in to an account: rsfilc user --login <USER_ID>
- when in doubt, be sure to check
rsfilc --helpfirst - 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_NETto1, 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 forgetrsfilc user --cache-direither - 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 +0orrsfilc tt -- -0
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)
- linux
- windows
- macOS
- android via Termux
- everything else that Rust supports
- basic usage of API
- filtering what to show
- multi-user feature
- somehow rendering
htmlthat messages return - render
htmlmessages withw3morlynxif possible - shell completions: [bash, zsh, fish, elvish, powershell]
- logger:
fernmaybe - 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
- dependencies used (although many of them wouldn't be necessary with a proper API, this is not the case with e-kréta.)
- See ekreta-rs, which provides the API client for E-Kréta
- Shell completions section got from zoxide