Skip to content

AIRCTL, a modern WiFi management tool for Linux built with GTK4 and Python. It provides a clean interface to scan, connect, and manage wireless networks.

License

Notifications You must be signed in to change notification settings

pshycodr/airctl

Repository files navigation

Project Logo

A modern WiFi management tool for Linux built with GTK4 and Python.
AIRCTL provides a clean interface to scan, connect, and manage wireless networks.



GitHub stars GitHub forks GitHub watchers

License: GPL v3 Python GTK Arch Linux

GitHub issues GitHub pull requests Last commit

AIRCTL Demo

Features

  • Scan available WiFi networks
  • Connect to secured and open networks
  • View detailed network information
  • Manage saved connections
  • Disconnect and forget networks
  • Auto-refresh network list
  • Modern GTK4 interface
  • Powerful command-line interface
  • Distributed via AUR (airctl-bin)

Installation

Arch Linux (Recommended)

Install directly from AUR:

yay -S airctl-bin

OR

curl -fsSL https://raw.githubusercontent.com/pshycodr/airctl/main/scripts/install.sh | bash

After installation, launch it from your app launcher or run:

airctl

From Source

Clone the repository:

git clone https://github.com/pshycodr/airctl.git
cd airctl

Install dependencies using uv:

uv sync

Run the application:

uv run airctl/main.py

Build the application

# activate the venv
source .venv/bin/activate

# run the build script
./scripts/build.sh

Requirements

  • Python 3.12 or higher
  • GTK 4
  • NetworkManager
  • nmcli

Usage

GUI Mode

Launch AIRCTL and toggle WiFi on or off using the switch at the top.

  • The connected network appears as a highlighted card.
  • Available networks are listed below.
  • Click any network to connect.
  • For secured networks, enter the password when prompted.
  • Use the settings icon on a connected network to view details or disconnect.

CLI Mode

AIRCTL includes a powerful command-line interface for managing WiFi networks.

airctl <command> [options]

# run to get all the commands
airctl -h

Dependencies

  • PyGObject (gi)
  • nmcli
  • rich (for CLI output)

All dependencies are defined in pyproject.toml and handled via uv.


Contributing

See CONTRIBUTING.md for contribution guidelines.

License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.

Credits

Built by pshycodr

Special thanks to the NetworkManager team, GTK developers, and the open source community.

Show Your Support

If you found this project useful, consider giving it a star ⭐

Star this repo

Found a bug or have a feature request? Open an issue on GitHub.

About

AIRCTL, a modern WiFi management tool for Linux built with GTK4 and Python. It provides a clean interface to scan, connect, and manage wireless networks.

Topics

Resources

License

Contributing

Stars

Watchers

Forks