web2app

Crates.ioweb2app
lib.rsweb2app
version0.2.12
sourcesrc
created_at2023-03-21 05:42:17.33757
updated_at2024-02-19 05:09:50.569955
descriptionTurn any web page into a desktop app (but, lightweight ~3MB)
homepage
repository
max_upload_size
id815880
size183,209
(hamza72x)

documentation

README

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

Commit count: 0

cargo fmt