explaingit

oblique/create_ap

4,513ShellAudience · ops devopsComplexity · 2/5Setup · moderate

TLDR

Linux shell script that turns a wireless network adapter into a Wi-Fi hotspot from the command line, with support for NATed or bridged internet sharing, WPA2 encryption, and boot-time auto-start.

Mindmap

mindmap
  root((create_ap))
    What it does
      Wi-Fi hotspot creation
      Internet sharing
      Boot-time auto-start
    Sharing modes
      NATed sharing
      Bridged sharing
      No internet mode
    Features
      WPA2 encryption
      Client isolation
      Hidden network
    Audience
      Linux users
      Sysadmins
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Turn a Linux computer into a Wi-Fi access point that shares a wired internet connection to nearby devices.

USE CASE 2

Create a hidden Wi-Fi network or an open hotspot with no password using a single command.

USE CASE 3

Configure the hotspot to start automatically at boot on systemd-based Linux systems.

USE CASE 4

Isolate hotspot clients from each other so devices on the network cannot communicate directly.

Tech stack

ShellLinux

Getting it running

Difficulty · moderate Time to first run · 30min

Project is unmaintained by original author, active forks are recommended, requires make install and a compatible wireless driver.

In plain English

create_ap is a shell script for Linux that turns a wireless network adapter into a Wi-Fi access point. You run it from the command line, pass it the names of your network interfaces along with a name and password for the new network, and it configures everything needed to broadcast a Wi-Fi signal. It supports several encryption options including WPA, WPA2, or an open network with no password, and you can also hide the network name if you want it to not appear in nearby devices' Wi-Fi lists. The script supports two main ways of sharing an internet connection: a NATed method (where connected devices get their own subnet and traffic is translated through your main connection) and a Bridged method (where the wireless clients join the same network as the wired side). A third option creates the access point without sharing any internet connection at all. The README includes a variety of command-line examples covering all these modes, plus options like client isolation (so devices on the hotspot cannot see each other), choosing a specific channel, and enabling newer Wi-Fi standards for faster throughput. On systems that use systemd for service management, the access point can be set to start automatically at boot, which makes it usable as a persistent hotspot configuration rather than a one-off command. The project is no longer maintained by the original author. The README points to two active forks: one focused on adding a graphical interface, and another that extends the concept beyond Wi-Fi to include wired interface sharing and proxy routing. If you need ongoing support or new features, those forks are the recommended direction. Installation is done by cloning the repository and running a make command, or through the package managers of certain Linux distributions like Arch Linux and Gentoo.

Copy-paste prompts

Prompt 1
Show me the create_ap command to share my eth0 internet connection over wlan0 as a WPA2-protected network with a custom name.
Prompt 2
How do I set create_ap to start automatically at boot using systemd on Ubuntu or Debian?
Prompt 3
What is the difference between NAT mode and bridge mode in create_ap, and when should I use each one?
Prompt 4
How do I enable client isolation in create_ap so devices connected to my hotspot cannot see each other?
Open on GitHub → Explain another repo

← oblique on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.