Skip to content
This repository has been archived by the owner on Sep 30, 2021. It is now read-only.

Announcing linux-router. I forked create_ap and have been improving it for more than 2 years #463

Open
garywill opened this issue Jan 23, 2021 · 3 comments

Comments

@garywill
Copy link
Contributor

garywill commented Jan 23, 2021

2 years ago I forked create_ap to linux-router. I started the project (when create_ap was being hardly maintained) for my personal use at the beginning . Now it has been quite different to create_ap.

I've added features:

  • not limited to wifi hotspot, but also able to do with wired or virtual interfaces
  • redsocks
  • NATed IPv6
  • some tricks to make a sandboxed LAN and some clients-monitoring features
  • can be used as a tool to list all neighbors of any interface, showing their wifi signals and status
  • a bit more security, for example running dnsmasq as nobody
  • cleaning up will work even if user click the X of terminal window
  • other changes and improvements

Recently I refactored the code, making it tidy, more readable, more flexable and more maintainable (found I should have done it 2 years ago so much easier to do jobs):

  • put the long bunchs of code into functions
  • modified some dedicated functions to be universal
  • added many comments and notes

I want to thank @oblique for create_ap. This repo helped a lot. We find many solutions on wireless drivers and issues here. Thank those who contributed to that!

Since now it has met all my personal requirements, I think it's time to announce it and present it to community. Welcome who interested and or wants to be collaborator (it would be better if found someone more qualified to hand it over to).

I removed:

  • bridge. Cause in some way it's not compatible with wireless-to-wired Internet sharing. And also in some degree not compatible with redsocks. Maybe we will find some way to solve that and bring bridging back
  • To make the repo simpler, I deleted systemd file, config file, installing or packaging stuff. People who need those can do their packaging work. It's now a single-file script.

Welcome developers and users. Feel free to join or fork.

@garywill garywill changed the title Announce linux-router. I forked create_ap and have been working on it for more than 2 years Announcing linux-router. I forked create_ap and have been improving it for more than 2 years Jan 23, 2021
@oblique
Copy link
Owner

oblique commented Jan 23, 2021

Hey @garywill! This is amazing! Thanks for continuing this project and good luck with your fork.

I added a link about your project in the readme.

@Gictorbit
Copy link

Hello, thank you for your helpful shell script
actually I'm working on a project and I need to create an access point on Linux just like create_ap does .my question is how create_ap works? I need to understand all steps that create_ap does, so I read your source code, but I got confused a little, can you simply explain how we can create an AP step by step please?
Here is what I understood from source code:
1- create a new interface for nat
2- configure hostapd and dnsmasq based on settings for dhcp
3- set network manager to unmanage new interface
4- add some rules with iptables
5- run hotspot
is it correct?can you guide me please?

@garywill
Copy link
Contributor Author

@Gictorbit
Almost. Set forwarding bit and set interface IP. Run dnsmasq.

Googling about this topic will give you lots of results telling similar steps.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants