awall-cli 766 Bytes
Newer Older
Kaarle Ritvanen's avatar
Kaarle Ritvanen committed
1 2 3 4 5 6 7 8
#!/usr/bin/lua

--[[
Alpine Wall
Copyright (C) 2012 Kaarle Ritvanen
Licensed under the terms of GPL2
]]--

9
require 'alt_getopt'
10 11 12
require 'lfs'
require 'stringy'

13 14
short_opts = 'o:'
long_opts = {['output-dir']='o'}
15

16 17 18 19 20 21 22 23 24 25 26 27 28 29
if stringy.endswith(arg[0], '/awall-cli') then
   basedir = string.sub(arg[0], 1, -11)
   input = {basedir..'/json'}

   short_opts = short_opts..'i:'
   long_opts['input-dir'] = 'i'
end

for switch, value in pairs(alt_getopt.get_opts(arg, short_opts, long_opts)) do
   if switch == 'i' then table.insert(input, value)
   elseif switch == 'o' then
      iptdir = value
      ipsfile = value..'/ipset'
   else assert(false) end
30
end
Kaarle Ritvanen's avatar
Kaarle Ritvanen committed
31

32

Kaarle Ritvanen's avatar
Kaarle Ritvanen committed
33
require 'awall'
34
awall.loadmodules(basedir)
35

36
config = awall.Config.new(input)
37
config:test()
38
config:dump(iptdir, ipsfile)