'ACTDIR SITE:listener.activity.dir
'CONTROL.DAT SITE:control.dat
'EXTRA.DAT SITE:control.extra.dat
- 'USAGE.DAT SITE:usage.dat
- 'USAGE.TMP SITE:usage.tmp
+ 'USAGE.DAT SITE:control.usage.dat
+ 'USAGE.TMP SITE:control.usage.tmp
+ 'ACTION SITE:control.action
)
# Set current time variables in local timezone
)
# Load CONTROL.DAT
-# ( (control "file") (gap minutes) ( weekday start limit stop ) ... )
+# (( weekday start limit stop ) ... )
(setf CONTROL (read-expr (or (read-file CONTROL.DAT)
(die "** Missing " CONTROL.DAT " ** Exiting."))
))
+
+(write-line 2 (string (list CONTROL DOW)))
+
(map set '(dow MODE START LIMIT END)
(or (assoc DOW CONTROL)
(assoc 'policy CONTROL)
)
# Load the configured control mechanism
-(if (lookup 'control CONTROL) (load $it)
+(if (file? ACTION) (load ACTION)
(die "** Unknown control mechanism. Exiting!!"))
(unless control
- (die "** Control function (control cmd reason) not defined. Exiting!!"))
+ (die "** Control function (control cmd reason) not defined. Exiting!!"))
;; Apply control command with reason, then exit
(define (do-control x r) (control x r) (exit 0))
; Hourglass site configuration
-listener.net = 192.168.255
-listener.ports = 80 443
+listener.net = 192.168.255
+listener.ports = 80 443 1080
listener.activity.dir = activity
listener.tap = hourglass
control.action = ipset-control.lsp
control.dat = control.dat
-control.net = 10.0.0.0/8
+control.net = 10.0.0.0/24
control.extra.dat = control-extra.dat
control.usage.dat = usage.dat
control.usage.tmp = .usage.dat
control.activity.gap = 10
control.activity.clip = 1000
-ipset.bin = /sbin/ipset
+ipset.bin = /usr/sbin/ipset
ipset.table = TIMO
wui.port = 1070
-wui.passwd = .htpassswd
+wui.passwd = htpasswd
libc = /lib/x86_64-linux-gnu/libc.so.6
tundev = /dev/net/tun
# Should load from "ipset.cfg"
-(constant 'IPSET SITE:ipset.bin 'TABLE SITE:ipset.table NET SITE:control.net)
+(constant 'IPSET SITE:ipset.bin 'TABLE SITE:ipset.table 'NET SITE:control.net)
;; Return current low-leve "close" or "open" status
(define (current-status)