Skip to content

Repository files navigation

Kotlin Android Studio Jetpack Compose

Project Logo

Cross-platform app that automates login to VIT hostel WiFi networks.

Latest Release Total Downloads Stars

Website Report Bug Request Feature

About the project

Latch is a Kotlin application developed by VinnovateIT that automates the login process for VIT hostel WiFi networks. It detects network connections, submits credentials automatically, and optionally logs network statistics. The app reduces repetitive manual logins for students.

Key features

  • Automatic detection of VIT hostel WiFi networks
  • Auto-login with securely stored credentials
  • Logging and display of network usage statistics
  • Standalone CLI for Linux terminals and Windows PowerShell

Prerequisites

Before you start, make sure you have:

  • Android Studio
  • Kotlin (latest stable version)
  • JDK 21
  • Android device or emulator running Android 8.0 (API 26) or higher

Installation

Windows (desktop)

  1. Download Latch-Setup.msi from the latest release
  2. Run the installer and follow the setup wizard
  3. Launch Latch from the Start menu and enter your VIT hostel credentials

Linux (desktop)

  1. Run the install script:

    curl -fsSL https://latch.vinnovateit.com/install.sh | sh

    This installs Latch to /opt/latch (system-wide, if run with sudo access) or ~/.local/share/latch (user-local otherwise), and registers a desktop entry.

  2. Launch Latch from your application menu, or run latch in a terminal.

    To install manually instead, download the latch-<version>-linux-x64.tar.gz archive from the latest release and extract it.

Command-line app

latch-cli bundles its own trimmed Java runtime, so Java does not need to be installed separately.

Package-manager installs become available as each channel is published; until then, download the package for your system from the latest release.

Windows, with winget:

winget install VinnovateIT.LatchCLI

Debian and Ubuntu. Unlike winget, apt needs the repository added once before the install works, because Latch is not in the Debian or Ubuntu archives:

curl -fsSL https://vinnovateit.github.io/latch/latch.gpg \
  | sudo tee /usr/share/keyrings/latch.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/latch.gpg] \
  https://vinnovateit.github.io/latch/apt stable main" \
  | sudo tee /etc/apt/sources.list.d/latch.list
sudo apt update
sudo apt install latch-cli

Fedora and RPM-based distributions, likewise adding the repository first:

sudo dnf config-manager --add-repo https://vinnovateit.github.io/latch/latch.repo
sudo dnf install latch-cli

Direct download. The latest release carries a .deb, an .rpm, a portable Linux tarball and a Windows ZIP, with SHA256SUMS alongside them. On Windows the executable runs straight from the extracted folder:

.\latch-cli.exe --status

Flatpak is intentionally out of scope: its sandbox and desktop-first distribution model do not fit a host-network command-line daemon.

Run latch-cli with no arguments the first time. It prompts for your VIT credentials, starts the auto-login daemon in the background, and enables per-user startup at login. On later runs, latch-cli prints its help menu.

Use activate and deactivate to control the background daemon on Linux or from PowerShell on Windows:

latch-cli activate
latch-cli deactivate

activate is idempotent and enables startup at login. deactivate stops a CLI-owned daemon and disables its login startup entry; it does not terminate a running desktop app. Common one-shot commands are:

latch-cli --set-credentials
latch-cli --status
latch-cli --login
latch-cli --logout
latch-cli --history
latch-cli --settings
latch-cli --settings set auto-login on
latch-cli --settings set allowed-ssids "VIT2.4G,VIT5G"

Desktop and CLI installations can coexist. They coordinate through an authenticated local connection so only one networking engine is active, and opening Desktop takes ownership from a running CLI daemon.

Android

Latch is on Google Play:

Get Latch on Google Play

To build it from source instead, see Dev setup below.

Dev setup

Android app

  1. Clone the repository:

    git clone https://github.com/vinnovateit/latch.git
  2. Open the project in Android Studio

  3. Sync Gradle and build the project.

    The app targets compileSdk 37. If Android Studio's SDK Manager doesn't already have Android SDK Platform 37 installed, the first sync will prompt you to download it and accept its license.

  4. Run on a connected device or emulator

  5. Enter your VIT hostel credentials when prompted

Desktop app

  1. Clone the repository (if not already done above)

  2. Run it directly:

    ./gradlew :desktop:run
  3. Or build a native package for your OS:

    ./gradlew :desktop:packageReleaseDeb          # .deb
    ./gradlew :desktop:packageReleaseRpm          # .rpm
    ./gradlew :desktop:packageReleaseAppImage     # AppImage
    ./gradlew :desktop:packageReleaseTarGz        # .tar.gz (Linux)

    Build artifacts land in desktop/build/distributions/.

  4. To test a locally-built (or otherwise custom) tarball without publishing a release, point install.sh at it directly instead of letting it download from GitHub:

    LATCH_LOCAL_TAR=desktop/build/distributions/latch-1.3.8-linux-x64.tar.gz sh install.sh

    This module is built as part of the same Gradle project as :app, so the Android SDK still needs to be configured (see the Android app prerequisites above) even though the desktop app itself doesn't run on Android.

Usage

Latch automatically detects VIT hostel WiFi networks and logs in using the credentials you provide.

Optionally, it records network statistics for monitoring purposes.

Screenshots

Landing screen Home screen
Landing screen Home screen
Stats Settings
Network stats Settings screen

Roadmap

  • Add support for multiple VIT campuses
  • Improve UI responsiveness
  • Publish the generated CLI manifests to additional package repositories

See the open issues for a full list of proposed features and known issues.

Made with love by VinnovateIT.

License

Latch is released under the MIT License.

About

VIT Wi-Fi Auto-Connector. Available for Android, Windows, Linux and macOS (coming soon)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

18 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages