• Stars
    star
    281
  • Rank 147,023 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple daemon to create a wifi hotspot on Linux

license last-commit patreon paypal follow

Introduction

Hotspotd is a small daemon to create a wifi hotspot on linux. It depends on hostapd for AP provisioning and dnsmasq to assign IP addresses to devices.

Hotspotd works by creating a virtual NAT (Network address transation) table between your connected device and the internet using linux iptables.

Installation

To install hotspotd, just follow these steps:

wget https://github.com/prahladyeri/hotspotd/raw/master/dist/hotspotd-latest.tar.gz
tar xvf hotspotd-latest.tar.gz
cd hotspotd-latest/
sudo python setup.py install

To uninstall hotspotd, just say:

sudo python setup.py uninstall

Dependencies

  • dnsmasq (typically pre-installed on most linux distributions)
  • hostapd for AP provisioning

To install hostapd on ubuntu:

apt-get install hostapd

Or on RHEL based distros:

yum install hostapd

Usage

To start hotspot:

sudo hotspotd start

To stop hotspot:

sudo hotspotd stop

The first time you run hotspotd, it will ask you for configuration values for SSID, password, etc. Alternatively, you may also run:

sudo hotspotd configure

Troubleshooting

  • Make sure all dependencies (hostapd, dnsmasq and python 2.7) are installed.

  • hotspotd creates the NAT by manipulating iptables rules. So if you have any other firewall software that manipulates the iptables rules (such as the firewalld on fedora), make sure you disable that.

  • To create a hotspot, your wifi must support AP mode. To find that out, use this process:

    • Find your kernel driver module in use by issuing the below command:

      lspci -k | grep -A 3 -i network

      (example module: ath9k)

    • Now, use the below command to find out your wifi capabilities (replace ath9k by your kernel driver):

      modinfo ath9k | grep depend

    • If the above output includes โ€œmac80211โ€ then it means your wifi card will support the AP mode.

Testing status

This package has been tested on Qualcomm Atheros adapter on the following distros:

  • Ubuntu 12.04 LTS
  • Ubuntu 14.04 LTS

In theory, it should work with all other distros too (on machines having wifi adapters supported by hostapd), but you will have to try that out and tell me!

Notes

  • Replace sudo with su or su -c if you manage superuser access in that manner.
  • PyPI home page could be found at https://pypi.python.org/pypi/hotspotd.
  • I need someone to test this daemon across various linux distros. If you are interested in testing of open-source apps, please contact me.

Donation

Please consider donating if this tool has helped you in any way. You can also hire me through upwork or fiverr to get professional support and customization.

More Repositories

1

VisualAlchemist

Open source database diagramming and automation tool
JavaScript
727
star
2

curated-lists

Curated Lists of various things
285
star
3

http-live-simulator

A simple HTTP Server that serves with random delay for live simulation
JavaScript
58
star
4

tuxdrive

Console based DIY Google Drive Client
Python
57
star
5

tiddly

Minimal, prototype RESTful server for basic CRUD transactions
Python
40
star
6

listoffreelancingvideos

Curated List of Videos about Freelancing
38
star
7

pipshow

A script to show details of any python package, irrespective of whether its installed or not
Python
32
star
8

enforce-git-message

Enforces conventional git commit messages for git repositories
Python
29
star
9

siterank

Console program to get global ranking for a given website or domain
Python
20
star
10

List_Of_Free_MOOC

List of Free MOOC
20
star
11

vtscan

Command line tool to scan for malicious files using the VirusTotal API
Python
19
star
12

sqlite-gui

Simple app to browse and edit tables in a SQLITE database file
C#
14
star
13

minimal-mvc

A frugal and utilitarian PHP micro-framework with basic routing and templating capabilities
PHP
10
star
14

fixnames

A utility to scan and fix linux filenames with special characters by renaming them
Python
8
star
15

gh_announce

Twitter bot that posts a tweet each time you make a release on github!
Python
8
star
16

benchthemall

A bunch of programs used to benchmark various server platforms from a central location
JavaScript
7
star
17

static-tools

Tools for static website hosting
PHP
6
star
18

distroverify

Utility to verify any linux distro file (*.iso) for its integrity
Python
6
star
19

md-editor

A simple Markdown to HTML editor
HTML
5
star
20

netpatrol

A small userspace daemon to get detailed bandwidth stats for Ubuntu
Python
5
star
21

PyPomodoro

A small python script for freelancers to track time using the time-tested Pomodoro technique
Python
5
star
22

php-drive-example

An example drive app in php
PHP
5
star
23

learn-js

Javascript beginner examples
HTML
4
star
24

cfgsaver

Module to save and fetch configuration data in a standard path and format
Python
4
star
25

comment-monk

Simple comment hosting system for static blogs and websites
PHP
4
star
26

experimental-backbone

An Experimental Full Stack Starter App
JavaScript
3
star
27

WebPatterns

Boilerplate code to kickstart app development process
HTML
3
star
28

gar-cron

A script to send you reminders about your github commit activity
Python
3
star
29

indiegogo-php

An unofficial Indiegogo client library
PHP
3
star
30

resume

Resume of Prahlad Yeri
2
star
31

prahladyeri.github.io

Source code that powers my blog
HTML
2
star
32

droidwells

An android specimen app for mining and wells site management
Java
2
star
33

exch-rate

Simple Python tool to fetch and convert foreign exchange rates
Python
2
star
34

randombits

Auto-generated repository to keep your github active while you're busy or on vacation
Python
1
star
35

prahladyeri

1
star
36

contests

Solutions to various programming puzzles and contests
Python
1
star