summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--lib/oxidized/pfsense.rb34
2 files changed, 35 insertions, 0 deletions
diff --git a/README.md b/README.md
index c94919e..8901137 100644
--- a/README.md
+++ b/README.md
@@ -123,6 +123,7 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen
* Opengear
* Palo Alto
* PANOS
+ * pfSense
* Quanta
* Quanta / VxWorks 6.6 (1.1.0.8)
* Supermicro
diff --git a/lib/oxidized/pfsense.rb b/lib/oxidized/pfsense.rb
new file mode 100644
index 0000000..67a1a49
--- /dev/null
+++ b/lib/oxidized/pfsense.rb
@@ -0,0 +1,34 @@
+class PfSense < Oxidized::Model
+
+ prompt /^\e\[0;1;33m\[\S*\e\[0;1;33m\]\e\[0;1;33m\e\[\S*\e\[0;1;31m@\S*\e\[0;1;33m\]\S*\e\[0;1;31m:\e\[0;0;0m\s$/
+ comment '# '
+
+
+ #add a comment in the final conf
+ def add_comment comment
+ "\n###### #{comment} ######\n"
+ end
+
+ cmd :all do |cfg|
+ cfg.each_line.to_a[1..-2].join
+ end
+
+ #show the persistent configuration
+ pre do
+ cfg = add_comment 'Configuration'
+ cfg += cmd 'cat /cf/conf/config.xml'
+ end
+
+
+ cfg :telnet do
+ username /^Username:/
+ password /^Password:/
+ end
+
+ cfg :telnet, :ssh do
+ pre_logout 'exit'
+ end
+
+
+end
+