Pake
Turn any webpage into a desktop app with Rust with ease.
Pake supports Mac, Windows, and Linux. Check out README for Popular Packages, Command-Line Packaging, and Customized Development information. Feel free to share your suggestions in Discussions.
Features
Nearly 20 times smaller than an Electron package (around 5M!)
With Rust Tauri, Pake is much more lightweight and faster than JS-based frameworks.
Battery-included package — shortcut pass-through, immersive windows, and minimalist customization.
Pake is just a simple tool — replace the old bundle approach with Tauri (though PWA is good enough).
Popular Packages
WeRead Mac Windows Linux | Twitter Mac Windows Linux |
---|---|
ChatGPT Mac Windows Linux | Poe Mac Windows Linux |
YouTube Music Mac Windows Linux | YouTube Mac Windows Linux |
![]() |
|
LiZhi Mac Windows Linux | ProgramMusic Mac Windows Linux |
Qwerty Mac Windows Linux | CodeRunner Mac Windows Linux |
Flomo Mac Windows Linux | XiaoHongShu Mac Windows Linux |
You can download more applications from Releases. Click here to expand the shortcuts reference!
Before starting
- For beginners: Play with Popular Packages to find out Pake’s capabilities, or try to pack your application with GitHub Actions. Don’t hesitate to reach for assistance at Discussion!
- For developers: “Command-Line Packaging” supports macOS fully. For Windows/Linux users, it requires some tinkering. Configure your environment before getting started.
- For hackers: For people who are good at both front-end development and Rust, how about customizing your apps’ function more with the following Customized Development?
Command-Line Packaging
Pake provides a command line tool, making the flow of package customization quicker and easier. See documentation for more information.
# Install with npm
npm install -g pake-cli
# Command usage
pake url [OPTIONS]...
# Feel free to play with Pake! It might take a while to prepare the environment the first time you launch Pake.
pake https://weekly.tw93.fun --name Weekly --hide-title-bar
If you are new to the command line, you can compile packages online with GitHub Actions. See the Tutorial for more information.
Development
Prepare your environment before starting. Make sure you have Rust >=1.63
and Node >=16
(e.g., 16.18.1
) installed on your computer. For installation guidance, see Tauri documentation.
If you are unfamiliar with these, it is better to try out the above tool to pack with one click.
# Install Dependencies
npm i
# Local development [Right-click to open debug mode.]
npm run dev
# Pack application
npm run build
Advanced Usage
- You can refer to the codebase structure before working on Pake, which will help you much in development.
- Modify the
url
andproductName
fields in thepake.json
file under the src-tauri directory, the “domain” field in thetauri.config.json
file needs to be modified synchronously, as well as theicon
andidentifier
fields in thetauri.xxx.conf.json
file. You can select anicon
from theicons
directory or download one from macOSicons to match your product needs. - For configurations on window properties, you can modify the
pake.json
file to change the value ofwidth
,height
,fullscreen
(or not),resizable
(or not) of thewindows
property. To adapt to the immersive header on Mac, changehideTitleBar
totrue
, look for theHeader
element, and add thepadding-top
property. - For advanced usages such as style rewriting, advertisement removal, JS injection, container message communication, and user-defined shortcut keys, see Advanced Usage of Pake.