summaryrefslogtreecommitdiffstats
path: root/awall-cli
blob: 2e981928af0c5085143e43a95e39e69c94ba5132 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/lua

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

require 'alt_getopt'
require 'lfs'
require 'stringy'

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

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
end


require 'awall'
awall.loadmodules(basedir)

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