Skip to content

🔥 Concurrent WiFi + Hotspot Manager for Linux - Share your WiFi connection while staying connected. GTK3 GUI with system tray, CLI, hardware detection, and apt package support.

License

Notifications You must be signed in to change notification settings

davytheprogrammer/hotspot-manager

Repository files navigation

Hotspot Manager Logo

🔥 Hotspot Manager

Concurrent WiFi + Hotspot for Linux
Share your WiFi connection while staying connected

Release License Issues Stars

InstallationUsageScreenshotsCompatibilityContributing


🎯 What is this?

Hotspot Manager is a native Linux GTK3 application that solves a common problem: how to share your WiFi connection with other devices while you're still using it.

Normally, when you create a hotspot on Linux, your WiFi disconnects. This app enables concurrent mode - you stay connected to WiFi for internet access while simultaneously broadcasting a hotspot that other devices can connect to.

Perfect for:

  • 📱 Sharing hotel WiFi with your phone, tablet, and laptop
  • 🎮 Creating a local network for multiplayer gaming
  • 🏢 Sharing a single WiFi connection at conferences or meetings
  • 🏠 Extending WiFi range to devices that have weak reception

✨ Features

Feature Description
🔀 Concurrent Mode WiFi + Hotspot at the same time
🔌 Ethernet Sharing Share wired connection via WiFi hotspot
🖥️ GTK3 GUI Clean, native Linux interface
📍 System Tray Quick toggle from notification area
🔍 Hardware Detection Auto-detects concurrent mode support
📱 Device List See who's connected to your hotspot
⌨️ CLI Interface Script and automate hotspot management
🔄 Auto-Recovery Restarts hotspot when WiFi reconnects
💾 Config Save Remember your hotspot settings
Forced Mode Virtual interfaces for incompatible hardware

📸 Screenshots

Main Window System Tray


📦 Installation

Option 1: Download DEB (Recommended)

Download the latest .deb from Releases:

wget https://github.com/davytheprogrammer/hotspot-manager/releases/latest/download/hotspot-manager.deb
sudo dpkg -i hotspot-manager.deb
sudo apt install -f

Option 2: From Source

git clone https://github.com/davytheprogrammer/hotspot-manager.git
cd hotspot-manager
sudo ./install.sh

Dependencies

The packages are automatically installed with the .deb, but for source installation:

sudo apt install python3-gi gir1.2-gtk-3.0 gir1.2-appindicator3-0.1 \
    network-manager iw hostapd dnsmasq libnotify4 arp-scan

🚀 Usage

GUI

  1. Connect to WiFi first - Join a WiFi network normally
  2. Open Hotspot Manager from your application menu
  3. Enter hotspot name and password (min 8 characters)
  4. Click Start Hotspot
  5. Other devices can now find and connect to your hotspot

CLI

# Check status
hotspot-cli status

# Check hardware support
hotspot-cli interfaces

# Start hotspot
hotspot-cli start --ssid MyHotspot --password mypassword123

# Stop hotspot
hotspot-cli stop

# Advanced options
hotspot-cli start --ssid MyHotspot --password secret \
    --channel 6 --band bg --interface wlan0

System Tray

The app runs in the system tray. Right-click to:

  • Toggle hotspot on/off
  • Show the main window
  • Quit the application

⚙️ Compatibility

Supported OS

  • Ubuntu 20.04+ / Pop!_OS
  • Debian 11+
  • Linux Mint 20+
  • Any Debian-based distribution with NetworkManager

Hardware Requirements

Not all WiFi cards support concurrent mode. Check yours:

hotspot-cli interfaces

Or manually:

iw phy | grep -A10 "Supported interface"

Look for both * AP and * managed in the output. Cards with AP/VLAN typically support concurrent mode best.

Known Compatible Cards

  • Intel AX200, AX201, AX210, AX211
  • Realtek RTL8812AU, RTL8814AU (USB)
  • Atheros AR9271, AR9485
  • MediaTek MT7612U (USB)

Problematic Cards

  • Some Realtek RTL8188CE/RTL8192CE (limited concurrent support)
  • Older Broadcom cards (may need proprietary drivers)

🔧 How It Works

┌─────────────────────────────────────────────────────────┐
│                    YOUR LAPTOP                          │
│                                                         │
│  ┌─────────────┐         ┌─────────────────────────┐   │
│  │   WiFi      │         │      Hotspot            │   │
│  │  Client     │         │      (AP Mode)          │   │
│  │ (Managed)   │         │                         │   │
│  └──────┬──────┘         └───────────┬─────────────┘   │
│         │                            │                  │
│         │  ┌──────────────────────┐  │                  │
│         └──┤  NetworkManager      ├──┘                  │
│            │  (Concurrent Mode)   │                     │
│            └──────────┬───────────┘                     │
│                       │                                 │
│            ┌──────────┴───────────┐                     │
│            │   NAT / IP Forward   │                     │
│            └──────────┬───────────┘                     │
└───────────────────────┼─────────────────────────────────┘
                        │
          ┌─────────────┴─────────────┐
          │                           │
    ┌─────▼─────┐               ┌─────▼─────┐
    │  Router   │               │  Devices  │
    │ (Internet)│               │  (Phone,  │
    │           │               │  Tablet)  │
    └───────────┘               └───────────┘
  1. Connects to WiFi as a client (managed mode)
  2. Creates a hotspot access point (AP mode) on the same card
  3. NetworkManager handles the concurrent mode
  4. NAT/IP forwarding shares internet with hotspot clients

🐛 Troubleshooting

"WiFi connection was lost"

Your WiFi card may not support concurrent mode fully. Try:

  • Different channel (1, 6, or 11 for 2.4GHz)
  • Use a USB WiFi adapter with AP support
  • Check iw phy output

"No WiFi connection active"

You must connect to WiFi before starting the hotspot. This app shares an existing connection.

Hotspot won't start

# Check NetworkManager is running
systemctl status NetworkManager

# Check your WiFi hardware
iw phy

# Try a different interface
hotspot-cli interfaces

Can't connect devices to hotspot

  • Check password is correct
  • Try a different channel (avoid interference)
  • Ensure DHCP is working (restart dnsmasq)

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Setup

git clone https://github.com/davytheprogrammer/hotspot-manager.git
cd hotspot-manager
python3 -m venv venv
source venv/bin/activate
pip install -e .
python3 run.py

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • NetworkManager team for concurrent mode support
  • GTK3/GObject developers
  • The Linux wireless community

Made with ❤️ by Davis Ogega

Report BugRequest Feature

About

🔥 Concurrent WiFi + Hotspot Manager for Linux - Share your WiFi connection while staying connected. GTK3 GUI with system tray, CLI, hardware detection, and apt package support.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors