6 releases
| 0.1.5 | Dec 21, 2025 |
|---|---|
| 0.1.4 | Dec 21, 2025 |
#836 in Command line utilities
29KB
433 lines
⚡ eweb-tauri
Transform any website into a native desktop/mobile app with one command
Ultra lightweight: ~3MB vs Electron's 150MB+
🎯 Why eweb-tauri?
| Feature | eweb-tauri (Tauri) | Electron |
|---|---|---|
| 📦 App Size | ~3 MB | ~150 MB |
| 💾 Memory Usage | ~30 MB | ~100+ MB |
| 🚀 Startup Time | Instant | 2-5 seconds |
| 📱 Mobile Support | ✅ iOS & Android | ❌ |
| 🔒 Security | System WebView | Bundled Chromium |
✨ Features
- 🚀 One Command - Generate & build in single command
- 📱 Cross-Platform - Windows, macOS, Linux, iOS, Android
- 🎨 Auto Icons - Generate all icon sizes from URL or file
- ⚡ Ultra Light - 50x smaller than Electron apps
- 🦀 Pure Rust - Fast, safe, no Node.js required
- 🔧 Zero Config - Works out of the box
📦 Installation
cargo install eweb-tauri
Prerequisites
- Rust 1.70+
- Tauri Prerequisites
- For Android: Android SDK + NDK (see Android Setup)
🚀 Quick Start
One Command Build
# Linux desktop app
eweb-tauri https://github.com -n MyApp -p linux
# Android app
eweb-tauri https://github.com -n MyApp -p android
# Just generate project (build later)
eweb-tauri https://github.com -n MyApp
Full Example
eweb-tauri "https://docker-gpu.aws.xin/" \
-n "Docker-Monitor" \
-i "https://example.com/icon.png" \
-p linux
⚙️ Options
| Option | Short | Description |
|---|---|---|
--name |
-n |
App name |
--app-version |
App version (default: 1.0.0) | |
--icon |
-i |
Icon path or URL |
--output |
-o |
Output directory |
--platform |
-p |
Build platform (see below) |
--debug |
-d |
Debug build (auto-signed APK) |
--help |
-h |
Show help |
--version |
-V |
Show version |
Platform Options (-p)
| Value | Platform | Output | Required OS |
|---|---|---|---|
linux |
Linux | .deb, .rpm, .AppImage | Linux |
mac |
macOS | .app, .dmg | macOS |
windows |
Windows | .exe, .msi | Windows |
android |
Android | .apk, .aab | Any (with SDK) |
ios |
iOS | .ipa | macOS + Xcode |
⚠️ Note: Desktop builds require the target OS. Cross-compilation is not supported for desktop platforms.
💡 Tip: Use
--debugfor Android to get auto-signed APK that can be installed directly!
📊 Size Comparison
| Format | eweb-tauri | Electron | Savings |
|---|---|---|---|
| .deb | 2.8 MB | ~150 MB | 98% |
| .rpm | 2.8 MB | ~150 MB | 98% |
| .apk | 20 MB | N/A | ✅ Mobile! |
| .aab | 11 MB | N/A | ✅ Mobile! |
📱 Android Setup
1. Install Android SDK
# Ubuntu/Debian
sudo apt install openjdk-17-jdk
# Download command line tools
mkdir -p ~/Android/Sdk
cd ~/Android/Sdk
wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
unzip commandlinetools-linux-11076708_latest.zip
mkdir -p cmdline-tools/latest
mv cmdline-tools/{bin,lib} cmdline-tools/latest/
2. Install SDK Components
export ANDROID_HOME=~/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
yes | sdkmanager --licenses
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" "ndk;27.0.12077973"
3. Add Rust Targets
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android
4. Set Environment Variables
Add to your ~/.bashrc, ~/.zshrc, or ~/.env:
# Android SDK / Tauri Development
export ANDROID_HOME=~/Android/Sdk
export NDK_HOME=$ANDROID_HOME/ndk/27.0.12077973
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 # Linux
# export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home # macOS
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools
5. Build!
# Debug build (auto-signed, can install directly)
eweb-tauri https://example.com -n MyApp -p android --debug
# Release build (unsigned, needs signing for distribution)
eweb-tauri https://example.com -n MyApp -p android
📁 Generated Project Structure
<app>-tauri/
├── src/
│ └── index.html
├── dist/ # Build artifacts (auto-renamed)
│ ├── MyApp-1.0.0-universal.apk
│ └── MyApp-1.0.0-universal.aab
└── src-tauri/
├── Cargo.toml
├── tauri.conf.json
├── build.rs
├── capabilities/
├── icons/
└── src/
├── main.rs # Desktop entry
└── lib.rs # Mobile entry
🛠️ Tech Stack
- Rust - Systems programming language
- Tauri 2.0 - Cross-platform app framework
- clap - CLI argument parsing
- image - Icon processing
- reqwest - HTTP client
📋 Changelog
v0.1.4 (2024-12-21)
- ✅ Add
--debugflag for auto-signed APK (can install directly) - ✅ Debug APK output to
dist/folder
v0.1.3 (2024-12-21)
- ✅ Copy custom icons to Android mipmap resources
- ✅ Support all Android icon densities (mdpi to xxxhdpi)
v0.1.2 (2024-12-21)
- ✅ Auto-rename build artifacts with app name and version
- ✅ Add
--app-versionoption - ✅ Output to
dist/folder
v0.1.1 (2024-12-21)
- ✅ Add
lib.rsfor Android/iOS mobile support - ✅ Fix mobile build configuration
v0.1.0 (2024-12-21)
- 🎉 Initial release
- ✅ One-command project generation
- ✅ Auto icon generation from URL
- ✅ Cross-platform support
- ✅ Published to crates.io
📄 License
MIT © neosun100
⭐ Star History
📱 Follow Us
If this project helps you, please give it a ⭐!
Made with ❤️ and 🦀 Rust
Dependencies
~10–27MB
~322K SLoC