CLI tool
lakinduakash/linux-wifi-hotspot avatar
lakinduakash/linux-wifi-hotspot

Linux Wifi Hotspot: a GUI and CLI for sharing one Wi-Fi card

Feature-rich wifi hotspot creator for Linux which provides both GUI and command-line interface. It is also able to create a hotspot using the same wifi card which is connected to an AP already ( Similar to Windows 10).

4,409 stars391 forksShellBSD-2-Clause

At a glance

What is it?
Linux Wifi Hotspot wraps hostapd, dnsmasq and iptables in a GTK3 front end and a create_ap script, so a Linux machine can broadcast an access point while staying connected to another one. Here is what it does, how to install it, and where the adapter firmware gets in the way.
Who is it for?
Adopt Linux Wifi Hotspot if you need a Linux laptop or SBC to rebroadcast an existing Wi-Fi connection, want a GTK3 window for it, and are willing to check your adapter's AP mode support before blaming the tool. Skip it if your only adapter is firmware-locked against AP mode with encryption, as documented for Broadcom parts in T2 Macs, because no create_ap option works around that and a USB Wi-Fi adapter is the documented fix.
Can I use it commercially?
Yes. BSD-2-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 13 days ago.
What is it written in?
Mainly Shell, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem: one Wi-Fi card, two roles

A Linux machine with a single wireless adapter normally has to choose. Either it is a client associated with an access point, or it is an access point serving other devices. Linux Wifi Hotspot exists to remove that choice. Its README describes the headline feature as sharing your wifi like in Windows: use wifi and enable hotspot at the same time. The project ships two front ends over the same underlying work, a GTK3 GUI and a command line interface, and the repository's primary language is Shell, which tells you where the real logic sits. The GUI is a control surface; the scripts do the network plumbing. The intended audience is anyone who has a Linux box with a usable Wi-Fi adapter and a wired or wireless uplink they want to redistribute: a laptop in a hotel room, a Raspberry Pi style board, a desktop acting as a temporary access point for phones, TVs or consoles. It is not aimed at people who want a permanent, managed wireless infrastructure; it is a per-session sharing tool.

How create_ap, hostapd, dnsmasq and iptables fit together

The mechanism is the standard Linux AP stack, orchestrated rather than reinvented. hostapd is the daemon that puts the wireless adapter into access point mode and handles beaconing, encryption and association. dnsmasq and iptables are required for the NATed or None Internet sharing methods, which is the path that hands out addresses to clients and forwards their traffic. The dependency list in the README makes this explicit: bash, util-linux for getopt, procps, hostapd, iproute2, iw, optionally iwconfig when iw cannot recognise the adapter, and haveged as an optional extra. Everything is driven by create_ap, whose own help and documentation live in src/scripts/README.md. Two design consequences follow. First, the tool inherits every capability and every limitation of the adapter's hostapd support, which is why the notes section reads like a firmware troubleshooting guide. Second, because the uplink and the AP can share one radio, the channel matters: the README states that many adapters can only host an access point on the channel their Wi-Fi client is already using, so the hotspot follows your current connection. That is the cause of the Failed to set beacon parameters error, and it is why the documentation tells you to connect to a 2.4GHz network for a 2.4GHz hotspot. The v5.0.0 release notes say the hotspot now follows the client channel instead of failing, and that frequency band selection in the GUI no longer silently falls back to 2.4GHz. The GUI also now shows the full create_ap log in a scrollable box instead of the last line, which matters because the interesting failure is usually several lines above the end.

Installing Linux Wifi Hotspot on Ubuntu, Fedora and Arch

The README marks the Debian/Ubuntu package and the Arch AUR package as deprecated in favour of building yourself, but it also states that PPA keys were restored and new versions will be available through the PPA. On Ubuntu or Debian the documented path is:

bash
sudo add-apt-repository ppa:lakinduakash/lwh
sudo apt update
sudo apt install linux-wifi-hotspot

On Fedora the project points at a COPR repository:

bash
sudo dnf copr enable zinix01/linux-wifi-hotspot
sudo dnf install linux-wifi-hotspot

On Arch the AUR package is linux-wifi-hotspot, installable with an AUR helper such as yay. For a source build, the README lists make, gcc and g++, build-essential, pkg-config, GTK, libgtk-3-dev, libqrencode-dev and libpng-dev, and gives this dependency line for Ubuntu or Debian:

bash
sudo apt install -y libgtk-3-dev build-essential gcc g++ pkg-config make hostapd libqrencode-dev libpng-dev

From the repository root, the Makefile prints instructions and delegates to src. Running sudo make install installs the full application, and the README notes that if you only need the command line without the GUI you run make install-cli-only as root. The top-level Makefile implements that target by descending into src/scripts. After installation you should have a GUI entry for the hotspot tool and a create_ap command available to root; the GUI preselects WiFi and Internet interfaces according to the release notes, so a first hotspot can be started without choosing them by hand.

A first hotspot, and the QR code path

The practical first run is: connect the machine to the network you want to share, open the GUI, confirm the preselected WiFi and Internet interfaces are the ones you expect, pick a band, set an SSID and password, then start. If you prefer the terminal, create_ap is the entry point and its options are documented in src/scripts/README.md rather than in the top-level README, so read that file before guessing at flags. The feature list includes sharing the wifi via QR code, which is generated with libqrencode at build time, and a MAC filter plus a connected-devices view for seeing who joined. Two behaviours are worth knowing before you start. If the hotspot refuses to come up, check the frequency band first: the README advises unselecting Auto and selecting 2.4GHz as a quick workaround for the Intel 5GHz case. If clients associate and immediately drop, the README says create_ap now warns when it detects that the adapter firmware may not support AP mode with encryption, and points at Broadcom adapters in T2 Macs as known cases. In that situation the documented answer is a USB Wi-Fi adapter, because no create_ap option works around it.

Where it breaks: firmware, channels and firewalld

The limitations are not edge cases; they are the main content of the notes section. On Intel iwlwifi adapters, the README says a 5GHz hotspot will not start because the adapter firmware keeps every 5GHz channel flagged no IR, which forbids beaconing. The project ships docs/howto/intel-5ghz-lar.md with helper scripts that restore the removed iwlwifi lar_disable parameter, and the release notes credit that guide with making 5GHz work on Intel adapters. This is a kernel and firmware workaround, not a configuration toggle inside the app, and it should be treated as such. Channel co-existence is the second constraint: single-radio adapters generally host the AP on the channel the client is already using, so you cannot freely pick an unrelated channel. Third, the README flags a firewalld issue that produces Unable to allocate IP, with fixes tracked in issues #209 and #166 rather than in the documentation proper. Fourth, Realtek adapters have their own guide in docs/howto/realtek.md. If your hardware falls into one of these categories and you need a guaranteed result, this is the wrong tool for that specific machine; the honest answer is that the software is fine and the radio is not. The project also carries a maintainer note asking for contributors and maintainers, stating the author has been inactive for a while, which is a signal about response time on issues rather than about code quality.

How it differs from NetworkManager's shared connection

NetworkManager can already share a connection through its ipv4.method shared setting, and many distributions expose that as a GUI toggle. The difference is scope. NetworkManager's shared mode is a general IP forwarding feature attached to a connection profile; it does not present itself as an access point management tool, and it does not offer the things this project advertises: MAC filtering, a connected-devices list, QR code sharing, hiding the SSID, a custom gateway IP, explicit IEEE 802.11n, 802.11ac and 802.11ax mode selection, and VPN-tunnelled hotspot traffic for devices that cannot run a VPN client. The v5.0.0 notes add that --ieee80211ac can now reach 80MHz through a new --vht-chwidth option, which is a level of radio control NetworkManager's shared mode does not expose. The trade-off runs the other way too. NetworkManager is already installed, already integrated with desktop policy, and already manages your adapter's state; Linux Wifi Hotspot sits alongside it and manipulates interfaces directly through hostapd and iptables, which is more powerful and also more likely to conflict with whatever else is managing the radio. If all you need is to hand out addresses from an existing interface, the built-in tool is fewer moving parts.

Maintenance, licence and upgrade cost

The repository is not archived, and the last push was on 2026-09-17, so the codebase is being touched, but the README's own project update says the author was inactive for a while and is now looking for contributors and maintainers, including trusted collaborators with commit access. Read those two facts together: recent commits exist, sustained maintenance is being solicited. The release cadence supports that reading. v4.7.1 landed in January 2024, v4.7.2 in July 2024, and v5.0.0 in September 2026, so the gap between v4.7.2 and v5.0.0 is over two years. Upgrading from the 4.7.x line to 5.0.0 changes user-visible behaviour: band selection no longer silently falls back to 2.4GHz, the GUI surfaces create_ap errors and the full log, virtual interfaces are no longer refused on PCIe and USB brcmfmac adapters, and 5GHz on Intel adapters depends on the new helper scripts. Expect to re-check your band and channel settings after that jump. The licence is BSD-2-Clause, a permissive licence that allows modification and redistribution with the copyright notice and disclaimer retained; the repository carries a LICENSE file and a FOSSA badge. Nothing here is legal advice, and the licence text in LICENSE is the authority. The project lives on GitHub with no separate homepage listed, so releases, issues and the docs/ directory are the places to watch.

Editorial conclusion

Adopt Linux Wifi Hotspot if you need a Linux laptop or SBC to rebroadcast an existing Wi-Fi connection, want a GTK3 window for it, and are willing to check your adapter's AP mode support before blaming the tool. Skip it if your only adapter is firmware-locked against AP mode with encryption, as documented for Broadcom parts in T2 Macs, because no create_ap option works around that and a USB Wi-Fi adapter is the documented fix. Before rolling it out, verify on the target machine that hostapd starts with your chosen band and channel, and read docs/howto/intel-5ghz-lar.md if you intend to use 5GHz on Intel hardware.

Frequently asked questions

How do I install Linux Wifi Hotspot on Ubuntu?

The README gives a PPA path: add ppa:lakinduakash/lwh, update, then install the linux-wifi-hotspot package. It marks the downloadable Debian package as deprecated and says new versions will come through the PPA, and a source build is also documented with the GTK and build dependencies listed in the README.

How do I use Linux Wifi Hotspot?

Connect the machine to the network you want to share, then start the hotspot from the GUI, where the WiFi and Internet interfaces are preselected, or from the create_ap command line. Command line options are documented in src/scripts/README.md rather than the top-level README.

Is there a Linux Wifi Hotspot alternative?

NetworkManager can share a connection through its ipv4.method shared setting, but it does not offer the MAC filter, connected-devices view, QR code sharing, SSID hiding, custom gateway IP or explicit 802.11n/ac/ax mode selection that this project lists as features.

Can I create a hotspot using Wi-Fi on Linux?

Yes, provided your adapter and its firmware support access point mode. The README notes that some adapters, notably Broadcom parts in T2 Macs, may not support AP mode with encryption, in which case create_ap warns and the documented fix is a USB Wi-Fi adapter.

Official sources

  1. Issues
  2. lakinduakash/linux-wifi-hotspot on GitHub
  3. License: BSD-2-Clause
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/lakinduakash-linux-wifi-hotspot.svg)](https://hysenlabs.com/projects/lakinduakash-linux-wifi-hotspot)