/web2app

Turn any web page into a desktop app (but, lightweight ~3MB)

Primary LanguageRustOtherNOASSERTION

Intro

Convert any web page into a desktop app (but, lightweight ~3MB)

Pre-requisites

macOS

# cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Linux

You should first install the Rust toolchain

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Then you need to install some dependencies, which depends on your Linux distribution.

Ubuntu (and derivates such as KDE Neon, PopOS etc.)
sudo apt install libwebkit2gtk-4.0-dev -y
OpenSUSE
sudo zypper in -y webkit2gtk3-soup2-devel
Other

You need to look for another package that provides the development libraries for webkit with GTK4. There might also be other missing packages.

Windows

Windows Setup (x64)

Install

cargo install web2app tauri-cli

Usages

# Run with args

web2app args -n Notion -u https://www.notion.so -i icon.png
# Run with interactive mode

web2app interactive

# 🍀 Enter Name (TestApp):
# 🍀 Enter URL (https://trello.com):
# 🍀 Enter Description (An example application.):
# 🍀 Enter Version (0.1.0):
# 🍀 Enter Author (John Doe):
# 🍀 Enter Identifier (com.example.testapp):
# 🍀 Enter Icon (icon_path.png):
# 🍀 Enter User Agent (Mozilla/5.0):

Output

  • The output will be saved in $HOME/web2app_apps/<name> directory.

Roadmap

  • Zoom In/Out
  • Reload
  • Standard Copy/Paste
  • Custom User Agent
  • Desktop Notification (working for some apps)
  • Back and forward navigation
  • Automatically fetch icon from website
  • Dark Reader Extension (already there but, not fully working)
  • Retain window size and position after restart
  • Separate web2app_apps repo to host common built apps through Github Action
  • File download support

Libraries