• Stars
    star
    251
  • Rank 161,862 (Top 4 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created over 6 years ago
  • Updated 10 months ago

Reviews

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

Repository Details

Feature expansion of guest WiFi networks on AsusWRT-Merlin, including SSID -> VPN, separate subnets per guest network, pinhole access to LAN resources (e.g. DNS) and more!

YazFi - enhanced AsusWRT-Merlin Guest WiFi Networks

Codacy Badge Shellcheck

v4.4.3

Updated on 2023-01-24

About

Feature expansion of guest WiFi networks on AsusWRT-Merlin, including, but not limited to:

  • Dedicated VPN WiFi networks
  • Separate subnets for organisation of devices
  • Restrict guests to only contact router for ICMP, DHCP, DNS, NTP and NetBIOS
  • Allow guest networks to make use of pixelserv-tls (if installed)
  • Allow guests to use a local DNS server
  • Extend DNS Filter to guest networks

YazFi is free to use under the GNU General Public License version 3 (GPL 3.0).

Supporting development

Love the script and want to support future development? Any and all donations gratefully received!

paypal

PayPal donation
paypal

Supported firmware versions

Core YazFi features

You must be running firmware no older than:

WebUI page for YazFi

You must be running firmware Merlin 384.15/384.13_4 or Fork 43E5 (or later) Asuswrt-Merlin

Installation

Using your preferred SSH client/terminal, copy and paste the following command, then press Enter:

/usr/sbin/curl -fsL --retry 3 "https://jackyaz.io/YazFi/master/install/YazFi.sh" -o /jffs/scripts/YazFi && chmod 0755 /jffs/scripts/YazFi && /jffs/scripts/YazFi install

Please then follow instructions shown on-screen. An explanation of the settings is provided in the FAQs

Usage

WebUI

YazFi can be configured via the WebUI, in the Guest Network section.

Command Line

To launch the YazFi menu after installation, use:

YazFi

If you do not have Entware installed, you will need to use the full path:

/jffs/scripts/YazFi

Screenshots

WebUI

CLI

Help

Please post about any issues and problems here: Asuswrt-Merlin AddOns on SNBForums

FAQs

Explanation of YazFi settings

wl01_ENABLED

Enable YazFi for this Guest Network (true/false)

wl01_IPADDR

IP address/subnet to use for Guest Network

wl01_DHCPSTART

Start of DHCP pool (2-253)

wl01_DHCPEND

End of DHCP pool (3-254)

wl01_DHCPLEASE

DHCP Lease Time: 120 to 7776000 seconds (2 minutes to 90 days). Values can be entered in seconds (e.g. 86400s), minutes (e.g. 1440m), hours (e.g. 24h), days (e.g. 2d), or weeks (e.g. 2w). A single digit ZERO '0' or an upper-case letter 'I' indicates that an "infinite" lease time value will be applied.

wl01_DNS1

IP address for primary DNS resolver

wl01_DNS2

IP address for secondary DNS resolver

wl01_FORCEDNS

Should Guest Network DNS requests be forced/redirected to DNS1? (true/false) N.B. This setting is ignored if sending to VPN, and VPN Client's DNS configuration is Exclusive

wl01_REDIRECTALLTOVPN

Should Guest Network traffic be sent via VPN? (true/false)

wl01_VPNCLIENTNUMBER

The number of the VPN Client to send traffic through (1-5)

wl01_TWOWAYTOGUEST

Should LAN/Guest Network traffic have unrestricted access to each other? (true/false) Cannot be enabled if _ONEWAYTOGUEST is enabled

wl01_ONEWAYTOGUEST

Should LAN be able to initiate connections to Guest Network clients (but not the opposite)? (true/false) Cannot be enabled if _TWOWAYTOGUEST is enabled

wl01_CLIENTISOLATION

Should Guest Network radio prevent clients from talking to each other? (true/false)

Custom firewall rules

Yes. YazFi supports calling custom scripts after setting up the guest network. To use a user script, create your script file the appropriate directory with a .sh extension. e.g.

/jffs/addons/YazFi.d/userscripts.d/myscript.sh

Remember to make it executable with

chmod +x /jffs/addons/YazFi.d/userscripts.d/myscript.sh

An example script to allow a guest on 2.4GHz guest 1 to talk to a specific IP address on the LAN:

#!/bin/sh
iptables -I YazFiFORWARD -i wl0.1 -o br0 -d 192.168.1.50 -j ACCEPT

The above will work if "One way" access to the guest enabled. With no access enabled, the script would be:

#!/bin/sh
iptables -I YazFiFORWARD -i wl0.1 -o br0 -d 192.168.1.50 -j ACCEPT
iptables -I YazFiFORWARD -i br0 -o wl0.1 -s 192.168.1.50 -j ACCEPT

Scarf Gateway

Installs and updates for this addon are redirected via the Scarf Gateway by Scarf. This allows me to gather data on the number of new installations of my addons, how often users check for updates and more. This is purely for my use to actually see some usage data from my addons so that I can see the value provided by my continued work. It does not mean I am going to start charging to use my addons. My addons have been, are, and will always be completely free to use.

Please refer to Scarf's Privacy Policy for more information about the data that is collected and how it is processed.

More Repositories

1

spdMerlin

spdMerlin is an internet speedtest and monitoring tool for AsusWRT Merlin with charts for daily, weekly and monthly summaries. It tracks download/upload bandwidth as well as latency, jitter and packet loss.
Shell
89
star
2

scMerlin

scMerlin allows you to easily control the most common services/scripts on your router. scMerlin also augments your router's WebUI with a Sitemap and dynamic submenus for the main left menu of Asuswrt-Merlin.
Shell
75
star
3

YazDHCP

Feature expansion of DHCP assignments using AsusWRT-Merlin's Addons API to read and write DHCP assignments, increasing the limit on the number of reservations.
Shell
57
star
4

connmon

connmon is an internet connection monitoring tool for AsusWRT Merlin with charts for daily, weekly and monthly summaries.
Shell
57
star
5

ntpMerlin

ntpMerlin implements an NTP time server for AsusWRT Merlin with charts for daily, weekly and monthly summaries of performance. A choice between ntpd and chrony is available.
Shell
37
star
6

uiDivStats

A graphical representation of domain blocking performed by Diversion
Shell
33
star
7

DisplaySwitchVNC

Better multi monitor support for VNC Connect - makes it easy to view 1 monitor of your VNC Server at a time
C#
19
star
8

uiScribe

uiScribe updates the System Log page to show log files created by Scribe (syslog-ng). Requires Scribe https://github.com/cynicastic/scribe
Shell
15
star
9

modmon

modmon is a tool that tracks your cable modem's stats (such as signal power levels) for AsusWRT Merlin with charts for daily, weekly and monthly summaries.
Shell
15
star
10

scarfgatewaystats

Shell
6
star
11

shared-jy

Shared resources for AsusWRT-Merlin scripts/addons
HTML
4
star
12

KodiWOLLauncher

Use WoL to automatically launch Kodi and display on an attached TV/AVR
C#
1
star
13

YazPiSync

Syncs videos from an NFS share to removable drives within Kodi
Python
1
star
14

RealVNC-Server-CloudAware-Installer

How-to guide to generate an MSI for VNC Server that accepts a cloud token to enable cloud connectivity at install time
Go
1
star