Ohy
A Lightweight, Privacy-First CLI for Packaging Web into Desktop Apps
Install / Use
/learn @ohyfun/OhyREADME
ohy
"ohy" is derived from the Japanese word "おはよ" (good morning). It's a lightweight command-line tool written in Rust that converts web applications into desktop applications.
Key Features
- Small single executable: Less than 5MB.
- Data privacy isolation: Isolates based on the connection address and application name.
- Multiple instances: Applications can be run concurrently with isolated session data by default.
- Easy deployment: Simply copy the binary file for use; no need for sudo privileges.
- Automatic icon retrieval: Automatically fetches the application icon.
- Centralized caching: Local cache data is stored in a fixed directory, avoiding scattered data writes that could clutter system directories.
Usage
Usage: ohy --url <url> [-n <name>] [-w <width>] [-h <height>] [-a <user-agent>]
Options:
--url url example https://www.github.com
-n, --name name
-w, --width width default 1200
-h, --height height default 780
-a, --user-agent user agent
--help, help display usage information
Example
To create a desktop application for qwen chat:
ohy --url https://chat.qwenlm.ai -n qwen
Installation
- Install the application using Cargo
cargo install ohy
- Linux Dependencies (Windows and macOS do not require this step)
Arch Linux / Manjaro:
sudo pacman -S webkit2gtk-4.1
Debian / Ubuntu:
sudo apt install libwebkit2gtk-4.1-dev
Fedora
sudo dnf install gtk3-devel webkit2gtk4.1-devel
Centos
sudo yum install gtk3-devel webkit2gtk4.1-devel
Benefits
- Lightweight and efficient resource usage
- Enhanced privacy through session isolation
- Simple and straightforward configuration
- Cross-platform compatibility
Developers
The program has only been tested on Linux and Windows (since I'm a Linux user and don't have a Mac). <br/> In theory, it should work on macOS (as the underlying dependency, wry, supports all platforms).<br/> although there might be some bugs with crate imports. Mac users are welcome to submit issues.
screenshot
linux
linux app cache data directory
$HOME/.config/ohy/*
windows
windows app cache data directory
C:\Users\$USER_NAME\AppData\Roaming\ohy\*
