forked from ytti/oxidized
-
Notifications
You must be signed in to change notification settings - Fork 0
/
asyncos.rb
46 lines (41 loc) · 1.25 KB
/
asyncos.rb
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
39
40
41
42
43
44
45
46
class AsyncOS < Oxidized::Model
# ESA prompt "(mail.example.com)> " or "mail.example.com> "
prompt /^\r*([(]?[\w. ]+[)]?[#>]\s+)$/
comment '! '
# Select passphrase display option
expect /\[\S+\]>\s/ do |data, re|
send "3\n"
data.sub re, ''
end
# handle paging
expect /-Press Any Key For More-+.*$/ do |data, re|
send " "
data.sub re, ''
end
cmd 'version' do |cfg|
comment cfg
end
cmd 'showconfig' do |cfg|
# Delete hour and date which change each run
# cfg.gsub! /\sCurrent Time: \S+\s\S+\s+\S+\s\S+\s\S+/, ' Current Time:'
# Delete select passphrase display option
cfg.gsub! /Choose the passphrase option:/, ''
cfg.gsub! /1. Mask passphrases \(Files with masked passphrases cannot be loaded using/, ''
cfg.gsub! /loadconfig command\)/, ''
cfg.gsub! /2. Encrypt passphrases/, ''
cfg.gsub! /3. Plain passphrases/, ''
cfg.gsub! /^3$/, ''
# Delete space
cfg.gsub! /\n\s{25,26}/, ''
# Delete after line
cfg.gsub! /([-\\\/,.\w><@]+)(\s{25,27})/, "\\1"
# Add a carriage return
cfg.gsub! /([-\\\/,.\w><@]+)(\s{6})([-\\\/,.\w><@]+)/, "\\1\n\\2\\3"
# Delete prompt
cfg.gsub! /^\r*([(][\w. ]+[)][#>]\s+)$/, ''
cfg
end
cfg :ssh do
pre_logout "exit"
end
end