summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/Supported-OS-Types.md1
-rw-r--r--lib/oxidized/model/opnsense.rb21
2 files changed, 22 insertions, 0 deletions
diff --git a/docs/Supported-OS-Types.md b/docs/Supported-OS-Types.md
index 9176f2e..99566c4 100644
--- a/docs/Supported-OS-Types.md
+++ b/docs/Supported-OS-Types.md
@@ -117,6 +117,7 @@
* [OneOS](/lib/oxidized/model/oneos.rb)
* Opengear
* [Opengear](/lib/oxidized/model/opengear.rb)
+ * [OPNsense](/lib/oxidized/model/opnsense.rb)
* Palo Alto
* [PANOS](/lib/oxidized/model/panos.rb)
* [PLANET SG/SGS Switches](/lib/oxidized/model/planet.rb)
diff --git a/lib/oxidized/model/opnsense.rb b/lib/oxidized/model/opnsense.rb
new file mode 100644
index 0000000..b874fca
--- /dev/null
+++ b/lib/oxidized/model/opnsense.rb
@@ -0,0 +1,21 @@
+class OpnSense < Oxidized::Model
+
+ # minimum required permissions: "System: Shell account access"
+ # must enable SSH and password-based SSH access
+
+ cmd :all do |cfg|
+ cfg.each_line.to_a[1..-1].join
+ end
+
+ cmd 'cat /conf/config.xml' do |cfg|
+ cfg.gsub! /\s<revision>\s*<time>\d*<\/time>\s*.*\s*.*\s*<\/revision>/, ''
+ cfg.gsub! /\s<last_rule_upd_time>\d*<\/last_rule_upd_time>/, ''
+ cfg
+ end
+
+ cfg :ssh do
+ exec true
+ pre_logout 'exit'
+ end
+
+end