ytti / oxidized

Oxidized is a network device configuration backup tool. It's a RANCID replacement!
Apache License 2.0
2.82k stars 932 forks source link

HTTP Input Method #1945

Closed tcastelle closed 1 year ago

tcastelle commented 5 years ago

Hello,

Currently, Oxidized seems to propose only SSH and Telnet as Input methods. However, some devices don't support SSH or Telnet connections (for instance, PulseSecure VPNSSL), and the only way to backup them is through their WebUI.

Our current commercial backup product is using HTTP to backup such devices, executing the same commands that an interactive user would do.

Is their some plan to support HTTP as an Input method ?

Regards,

Thomas

ytti commented 5 years ago

We support telnet, ssh, http, tftp, ftp

https://github.com/ytti/oxidized/tree/master/lib/oxidized/input

Adding new ones is very easy.

tcastelle commented 5 years ago

Great !! But I can't find any documentation about those inputs... how can we use them ?

ytti commented 5 years ago

Documents are sparse and require initiative. I would recommend starting by pulling the repo, then grepping which model uses the input method you are interested in and go forward from there.

Tone866 commented 2 years ago

I've found https://github.com/ytti/oxidized/blob/master/docs/Ruby-API.md#input but still don't really know how I have to configure oxidized to download the config via http. I'm using a procurve 1810 which only has http.

router.db 10.10.35.245:procurve:admin:***:http

config.yaml

input:
  default: ssh, http, telnet
  debug: false
  http:
    ssl_verify: false
  ssh:
    secure: false
  ftp:
    passive: true
  utf8_encoded: true
source:
  default: csv
  csv:
    file: "/home/oxidized/.config/oxidized/router.db"
    delimiter: !ruby/regexp /:/
    map:
      name: 0
      model: 1
      username: 2
      password: 3
      input: 4

I've read I have to define a header, but I really don't know what I have to define there. Are there some examples anywhere?