Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
fe38cc7
Remove UCIContainer.listOptions
nworbnhoj Nov 27, 2015
a129734
resolve conflict
nworbnhoj Nov 28, 2015
7df3c0c
bugfix add new key
nworbnhoj Nov 28, 2015
92a0def
Remove UCIContainer.keys
nworbnhoj Nov 30, 2015
c41a186
Remove UCIContainer.keys
nworbnhoj Nov 30, 2015
30aaad8
Rough-cut Device Group implementation
nworbnhoj Dec 2, 2015
66952b8
fix i18n implementation
nworbnhoj Dec 2, 2015
00e00fb
Add device.sh to Gargoyle Menu
nworbnhoj Dec 2, 2015
2333052
Implement SaveChanges & validate GroupName
nworbnhoj Dec 2, 2015
b67a125
Bugfix extra }
nworbnhoj Dec 2, 2015
efae785
Bump dosfstools 3.0.28
nworbnhoj Dec 2, 2015
f1829c4
Create README.md
nworbnhoj Dec 3, 2015
a3ae34c
Merge branch 'known-devices' of http://github.com/nworbnhoj/gargoyle …
nworbnhoj Dec 3, 2015
ad9eda6
Bug Fix
nworbnhoj Dec 3, 2015
99a10fe
Merge UCIContainer developments
nworbnhoj Dec 3, 2015
45eb832
Bug fix
nworbnhoj Dec 4, 2015
403d641
Add blank uci file: known
nworbnhoj Dec 4, 2015
5ef607b
Various tidyup & bug fix
nworbnhoj Dec 4, 2015
7469eb6
Implement Edit & Remove Buttons
nworbnhoj Dec 5, 2015
434387a
Integrate Device Groups into Quotas page
nworbnhoj Dec 6, 2015
b523cba
uci dhcp
nworbnhoj Dec 10, 2015
5bf6f4a
Implement ipsets for Device Groups
nworbnhoj Dec 10, 2015
4b6fb90
Add dnsmasq.conf
nworbnhoj Dec 10, 2015
03a93d9
Remove /etc/config/known
nworbnhoj Dec 10, 2015
3ed0a79
Improve layout of Select Elements
nworbnhoj Dec 10, 2015
67ac871
Improve refresh of Tables & Selects
nworbnhoj Dec 10, 2015
e97058a
Validation of Hosts MACs & Groups
nworbnhoj Dec 11, 2015
c53e308
Bug fixes
nworbnhoj Dec 15, 2015
b5adb55
Update README.md
nworbnhoj Dec 15, 2015
20a6974
Bug fix
nworbnhoj Dec 16, 2015
a476848
Merge branch 'known-devices' of http://github.com/nworbnhoj/gargoyle …
nworbnhoj Dec 16, 2015
376063d
Merge branch 'master' of https://github.com/ericpaulbishop/gargoyle
nworbnhoj Dec 16, 2015
6bc349a
Implement Device Groups into Firewall Restrictions
nworbnhoj Dec 18, 2015
bd5fddc
Remove duplicate code
nworbnhoj Dec 18, 2015
2a94a5f
Minor renaming
nworbnhoj Dec 18, 2015
fb0b5c9
Implement Device Groups for QoS
nworbnhoj Dec 19, 2015
3745514
Implement Device Group quotas on login page
nworbnhoj Dec 19, 2015
5b866da
Bugfix testAddrOverlap
nworbnhoj Dec 19, 2015
ae08937
Merge branch 'master' of https://github.com/ericpaulbishop/gargoyle i…
nworbnhoj Dec 19, 2015
1d6f1bc
Merge branch 'master' of https://github.com/ericpaulbishop/gargoyle i…
nworbnhoj Jan 1, 2016
be62450
Merge branch 'known-devices' of https://github.com/nworbnhoj/gargoyle…
nworbnhoj Jan 7, 2016
1c21f95
Implement Groups into Quota Edit popup
nworbnhoj Jan 10, 2016
9540eaa
Implement Groups into Restrictions Edit popup
nworbnhoj Jan 10, 2016
35718cd
Implement Groups into Qos Edit popup
nworbnhoj Jan 10, 2016
74237e7
Merge branch 'master' of https://github.com/ericpaulbishop/gargoyle i…
nworbnhoj Jan 10, 2016
710d575
Replace StaticIP fieldset with Known Devices Fieldset
nworbnhoj Jan 14, 2016
44d6498
Bugfix typo
nworbnhoj Jan 14, 2016
6747567
Remove redundant entries from hosts and ethers
nworbnhoj Jan 15, 2016
5f5f543
Add a UCI dnsmasq networkid for each Device Group
nworbnhoj Jan 20, 2016
4327503
Retrieve WOL candidates from uci
nworbnhoj Jan 22, 2016
dbe7b60
Merge branch 'master' of https://github.com/ericpaulbishop/gargoyle i…
nworbnhoj Jan 23, 2016
8cfc235
Bugfix typo
nworbnhoj Jan 23, 2016
2e8c85b
Bugfix typo
nworbnhoj Jan 24, 2016
96a1399
French Translations for Known Devices & Groups
nworbnhoj Jan 26, 2016
eb8d437
Show valid characters for Device and Group names
nworbnhoj Feb 8, 2016
256923f
Simplified Chinese Translations for Known Devices & Groups
nworbnhoj Feb 11, 2016
c215bf4
Merge branch 'master' of https://github.com/ericpaulbishop/gargoyle i…
nworbnhoj Feb 28, 2016
e930b3d
Merge branch 'master' of https://github.com/ericpaulbishop/gargoyle i…
nworbnhoj Mar 2, 2016
6e1bb82
Bugfix save known device group
nworbnhoj Mar 5, 2016
3233e46
Merge branch 'master' of https://github.com/ericpaulbishop/gargoyle i…
nworbnhoj May 18, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# gargoyle
Known Devices

The idea is to be able to set policy (Quota, QoS, Restrictions etc) over a
Group of Known Devices (owned by an individual for example). To achieve this,
the Known Devices need to be identified by their MAC address' and then arranged
into Groups. Both Devices and Groups can be named by the Gargoyle Administrator.

Up until now, the best way for a Gargoyle admin to apply policy to users with
a number of devices has been to assign a static IP address to each device such
that each users' devices are in an IP range. Then, the policy is applied to the
IP range, and the IP range is displayed throughout the Gargoyle GUI. Known Devices
and Groups enable the Gargoyle admin to work with meaningful names rather than IP
ranges, and relieves the need to assign static IP addresses.

Status
- Gargoyle-Connection-Devices has a Section for Known Devices and another for Device Groups.
- Device Groups may be used:
- Gargoyle-Firewall-Quotas-BandwidthQuotas-AppliesTo
- Gargoyle-Firewall-Restrictions-AccessRestrictions-RuleAppliesTo
- Gargoyle-Firewall-Restrictions-Exceptions(Whitelist)-RuleAppliesTo
- Gargoyle-Forewall-QoS(Upload)-ClassificationRules
- Gargoyle-Forewall-QoS(Download)-ClassificationRules

Technical
- Approx 17k in size
- Known Devices are stored as a host in uci /etc/config/dhcp
- Each host has a supplementary Group section
- Each Device Group is represented by an ipset (each set = 550 bytes min)
- IP addresses in each ipset are dynamically adjusted when dnsmasq issues a dhcp lease
- Existing iptables quota rules can check against the membership of an ipset
4 changes: 2 additions & 2 deletions package/gargoyle-firewall-util/src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ print_quotas: print_quotas.c
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lericstools -luci -liptbwctl

restore_quotas: restore_quotas.c
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lericstools -luci -liptbwctl
$(CC) $(CFLAGS) $(LDFLAGS) uci-util.c restore_quotas.c -o restore_quotas -lericstools -luci -liptbwctl

backup_quotas: backup_quotas.c
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lericstools -luci -liptbwctl
Expand All @@ -13,7 +13,7 @@ delete_chain_from_table: delete_chain_from_table.c
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lericstools

make_iptables_rules: make_iptables_rules.c
$(CC) $(CFLAGS) $(LDFLAGS) make_iptables_rules.c -o make_iptables_rules -lericstools -luci -lm
$(CC) $(CFLAGS) $(LDFLAGS) uci-util.c make_iptables_rules.c -o make_iptables_rules -lericstools -luci -lm

clean:
rm -rf make_iptables_rules delete_chain_from_table print_quotas backup_quotas restore_quotas *.o *~ .*sw*
Loading