diff --git a/.docs/_build/doctrees/README.doctree b/.docs/_build/doctrees/README.doctree index c28e6d2..c22471c 100644 Binary files a/.docs/_build/doctrees/README.doctree and b/.docs/_build/doctrees/README.doctree differ diff --git a/.docs/_build/doctrees/environment.pickle b/.docs/_build/doctrees/environment.pickle index 6ddee0f..91670d8 100644 Binary files a/.docs/_build/doctrees/environment.pickle and b/.docs/_build/doctrees/environment.pickle differ diff --git a/.docs/_build/doctrees/index.doctree b/.docs/_build/doctrees/index.doctree index 01a3c19..3ac8e2a 100644 Binary files a/.docs/_build/doctrees/index.doctree and b/.docs/_build/doctrees/index.doctree differ diff --git a/.docs/_build/doctrees/opnsense-scripts.doctree b/.docs/_build/doctrees/opnsense-scripts.doctree new file mode 100644 index 0000000..0a336ae Binary files /dev/null and b/.docs/_build/doctrees/opnsense-scripts.doctree differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.commands.commands.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.commands.commands.doctree deleted file mode 100644 index 7323357..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.commands.commands.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.commands.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.commands.doctree deleted file mode 100644 index 9e1b518..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.commands.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.config_manager.config_manager.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.config_manager.config_manager.doctree deleted file mode 100644 index c78d149..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.config_manager.config_manager.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.config_manager.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.config_manager.doctree deleted file mode 100644 index 6f30e8b..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.config_manager.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.doctree deleted file mode 100644 index 6a61d3f..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.opnsense_helper.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.opnsense_helper.doctree deleted file mode 100644 index 5baba13..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.opnsense_helper.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.scripts.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.scripts.doctree deleted file mode 100644 index 9636109..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.scripts.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.scripts.scripts.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.scripts.scripts.doctree deleted file mode 100644 index 4e08d8f..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.scripts.scripts.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.baseclass.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.baseclass.doctree deleted file mode 100644 index c475428..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.baseclass.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.doctree deleted file mode 100644 index 1a200e9..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.exec_class.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.exec_class.doctree deleted file mode 100644 index e9a047c..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.exec_class.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.frontend_utils.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.frontend_utils.doctree deleted file mode 100644 index 48468b3..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.frontend_utils.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.utils.doctree b/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.utils.doctree deleted file mode 100644 index 380befd..0000000 Binary files a/.docs/_build/doctrees/opnsense_helper/opnsense_helper.utils.utils.doctree and /dev/null differ diff --git a/.docs/_build/doctrees/python_package.doctree b/.docs/_build/doctrees/python_package.doctree index 85d75d7..38f92f1 100644 Binary files a/.docs/_build/doctrees/python_package.doctree and b/.docs/_build/doctrees/python_package.doctree differ diff --git a/.docs/_build/html/README.html b/.docs/_build/html/README.html index 834fe81..5667e3c 100644 --- a/.docs/_build/html/README.html +++ b/.docs/_build/html/README.html @@ -78,6 +78,30 @@
  • coonfig_manager
  • commands
  • scripts
  • + +

    opnsense-scripts-autodocs

    + @@ -132,13 +156,22 @@

    about opnsense-helper

    use the config_manager to apply all your configs in runtime at once

  • uses the opnsense backend via shh

  • configctl and pluginctl commands

  • -
  • around 80 opnsense scripts you can call

  • +
  • around 80 opnsense scripts you can call

    +
      +
    • automatically created docs provided!

    • +
    +
  • automatically configures your Vlan and Phy Interfaces after applying configuration



  • diff --git a/.docs/_build/html/_sources/README.md.txt b/.docs/_build/html/_sources/README.md.txt index 36ce7c5..b677256 100644 --- a/.docs/_build/html/_sources/README.md.txt +++ b/.docs/_build/html/_sources/README.md.txt @@ -27,12 +27,15 @@ - uses the opnsense backend via shh - configctl and pluginctl commands - around 80 opnsense scripts you can call + - automatically created docs provided! - automatically configures your Vlan and Phy Interfaces after applying configuration --- - ***[pypy project](https://pypi.org/project/opnsense-helper)*** - ***[Api Docs](https://ji-podhead.github.io/opnsense-helper/.docs/_build/html/index.html)*** +- ***[opnsense-scripts-autodocs](https://ji-podhead.github.io/opnsense-scripts-autodocs/.docs/_build/html/index.html#)*** + - ***[repo](https://github.com/ji-podhead/opnsense-scripts-autodocs)*** --- diff --git a/.docs/_build/html/_sources/index.rst.txt b/.docs/_build/html/_sources/index.rst.txt index a195cab..552a73e 100644 --- a/.docs/_build/html/_sources/index.rst.txt +++ b/.docs/_build/html/_sources/index.rst.txt @@ -28,3 +28,10 @@ Opnsense-Helper :caption: Python API-Dokumentation python_package.rst + +.. toctree:: + :maxdepth: 20 + :caption: opnsense-scripts-autodocs + + opnsense-scripts.rst + diff --git a/.docs/_build/html/_sources/opnsense-scripts.rst.txt b/.docs/_build/html/_sources/opnsense-scripts.rst.txt new file mode 100644 index 0000000..1f8f6be --- /dev/null +++ b/.docs/_build/html/_sources/opnsense-scripts.rst.txt @@ -0,0 +1,329 @@ + + +.. toctree:: auth + +auth +====================================== + + +.. automodule:: python.autodocs.auth.add_user + +.. automodule:: python.autodocs.auth.list_group_members + +.. toctree:: dhcp + +dhcp +====================================== + + +.. automodule:: python.autodocs.dhcp.cleanup_leases4 + +.. automodule:: python.autodocs.dhcp.cleanup_leases6 + +.. automodule:: python.autodocs.dhcp.dnsmasq_watcher + +.. automodule:: python.autodocs.dhcp.get_kea_leases + +.. automodule:: python.autodocs.dhcp.prefixes + +.. automodule:: python.autodocs.dhcp.prefixes + +.. toctree:: dns + +dns +====================================== + + +.. automodule:: python.autodocs.dns.query_dns + +.. toctree:: filter + +filter +====================================== + + +.. automodule:: python.autodocs.filter.kill_states + +.. automodule:: python.autodocs.filter.list_states + +.. automodule:: python.autodocs.filter.rollback_cancel + +.. automodule:: python.autodocs.filter.rollback_timer + +.. automodule:: python.autodocs.filter.update_bogons + +.. toctree:: firmware + +firmware +====================================== + + +.. automodule:: python.autodocs.firmware.changelog + +.. automodule:: python.autodocs.firmware.config + +.. automodule:: python.autodocs.firmware.connection + +.. automodule:: python.autodocs.firmware.details + +.. automodule:: python.autodocs.firmware.health + +.. automodule:: python.autodocs.firmware.hostnames + +.. automodule:: python.autodocs.firmware.install + +.. automodule:: python.autodocs.firmware.latest + +.. automodule:: python.autodocs.firmware.launcher + +.. automodule:: python.autodocs.firmware.license + +.. automodule:: python.autodocs.firmware.lock + +.. automodule:: python.autodocs.firmware.plugin + +.. automodule:: python.autodocs.firmware.product + +.. automodule:: python.autodocs.firmware.query + +.. automodule:: python.autodocs.firmware.read + +.. automodule:: python.autodocs.firmware.reboot + +.. automodule:: python.autodocs.firmware.register + +.. automodule:: python.autodocs.firmware.reinstall + +.. automodule:: python.autodocs.firmware.remove + +.. automodule:: python.autodocs.firmware.resync + +.. automodule:: python.autodocs.firmware.running + +.. automodule:: python.autodocs.firmware.security + +.. automodule:: python.autodocs.firmware.sync + +.. automodule:: python.autodocs.firmware.sync.subr + +.. automodule:: python.autodocs.firmware.unlock + +.. automodule:: python.autodocs.firmware.update + +.. automodule:: python.autodocs.firmware.upgrade + +.. toctree:: repos + +repos +====================================== + + +.. automodule:: python.autodocs.repos.FreeBSD + +.. automodule:: python.autodocs.repos.OPNsense + +.. toctree:: health + +health +====================================== + + +.. automodule:: python.autodocs.health.updaterrd + +.. toctree:: definitions + +definitions +====================================== + + +.. toctree:: interfaces + +interfaces +====================================== + + +.. automodule:: python.autodocs.interfaces.carp_global_status + +.. automodule:: python.autodocs.interfaces.carp_set_status + +.. automodule:: python.autodocs.interfaces.ifctl + +.. automodule:: python.autodocs.interfaces.ppp-ipv6 + +.. automodule:: python.autodocs.interfaces.ppp-linkdown + +.. automodule:: python.autodocs.interfaces.ppp-linkup + +.. automodule:: python.autodocs.interfaces.ppp-rename + +.. automodule:: python.autodocs.interfaces.ppp-uptime + +.. automodule:: python.autodocs.interfaces.reconfigure_gifs + +.. automodule:: python.autodocs.interfaces.reconfigure_gres + +.. automodule:: python.autodocs.interfaces.reconfigure_laggs + +.. automodule:: python.autodocs.interfaces.reconfigure_neighbors + +.. automodule:: python.autodocs.interfaces.reconfigure_vips + +.. automodule:: python.autodocs.interfaces.reconfigure_vlans + +.. automodule:: python.autodocs.interfaces.rtsold_resolvconf + +.. automodule:: python.autodocs.interfaces.traffic_stats + +.. toctree:: ipsec + +ipsec +====================================== + + +.. automodule:: python.autodocs.ipsec.get_legacy_vti + +.. toctree:: netflow + +netflow +====================================== + + +.. automodule:: python.autodocs.netflow.flush_all + +.. toctree:: openssh + +openssh +====================================== + + +.. toctree:: openvpn + +openvpn +====================================== + + +.. automodule:: python.autodocs.openvpn.client_connect + +.. automodule:: python.autodocs.openvpn.client_disconnect + +.. automodule:: python.autodocs.openvpn.ovpn_service_control + +.. automodule:: python.autodocs.openvpn.tls_verify + +.. automodule:: python.autodocs.openvpn.user_pass_verify + +.. toctree:: routes + +routes +====================================== + + +.. automodule:: python.autodocs.routes.del_route + +.. automodule:: python.autodocs.routes.gateway_status + +.. automodule:: python.autodocs.routes.gateway_watcher + +.. automodule:: python.autodocs.routes.gateways + +.. toctree:: shaper + +shaper +====================================== + + +.. toctree:: shell + +shell +====================================== + + +.. automodule:: python.autodocs.shell.banner + +.. automodule:: python.autodocs.shell.defaults + +.. automodule:: python.autodocs.shell.firmware + +.. automodule:: python.autodocs.shell.halt + +.. automodule:: python.autodocs.shell.password + +.. automodule:: python.autodocs.shell.ping + +.. automodule:: python.autodocs.shell.reboot + +.. automodule:: python.autodocs.shell.restore + +.. automodule:: python.autodocs.shell.setaddr + +.. automodule:: python.autodocs.shell.setports + +.. toctree:: suricata + +suricata +====================================== + + +.. automodule:: python.autodocs.suricata.listRuleMetadata + +.. automodule:: python.autodocs.suricata.setup + +.. toctree:: syslog + +syslog +====================================== + + +.. automodule:: python.autodocs.syslog.clearlog + +.. automodule:: python.autodocs.syslog.list_applications + +.. automodule:: python.autodocs.syslog.queryLog + +.. automodule:: python.autodocs.syslog.streamLog + +.. toctree:: system + +system +====================================== + + +.. automodule:: python.autodocs.system.cpu + +.. automodule:: python.autodocs.system.nameservers + +.. automodule:: python.autodocs.system.remote_backup + +.. automodule:: python.autodocs.system.ssl_ciphers + +.. automodule:: python.autodocs.system.status + +.. automodule:: python.autodocs.system.sysctl + +.. automodule:: python.autodocs.system.temperature + +.. toctree:: unbound + +unbound +====================================== + + +.. automodule:: python.autodocs.unbound.cache + +.. automodule:: python.autodocs.unbound.logger + +.. automodule:: python.autodocs.unbound.restore_db + +.. automodule:: python.autodocs.unbound.start + +.. automodule:: python.autodocs.unbound.stats + +.. automodule:: python.autodocs.unbound.wrapper + +.. toctree:: Wireguard + +Wireguard +====================================== + + +.. automodule:: python.autodocs.Wireguard.wg-service-control diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.commands.commands.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.commands.commands.rst.txt deleted file mode 100644 index 37f2ecb..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.commands.commands.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -opnsense\_helper.commands.commands -================================== - -.. automodule:: opnsense_helper.commands.commands - - - .. rubric:: Classes - - .. autosummary:: - - Commands - configctl - pluginctl - reconfigure - \ No newline at end of file diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.commands.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.commands.rst.txt deleted file mode 100644 index ce75b12..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.commands.rst.txt +++ /dev/null @@ -1,13 +0,0 @@ -opnsense\_helper.commands -========================= - -.. automodule:: opnsense_helper.commands - - -.. rubric:: Modules - -.. autosummary:: - :toctree: - :recursive: - - commands diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.config_manager.config_manager.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.config_manager.config_manager.rst.txt deleted file mode 100644 index 7463fdf..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.config_manager.config_manager.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -opnsense\_helper.config\_manager.config\_manager -================================================ - -.. automodule:: opnsense_helper.config_manager.config_manager - - - .. rubric:: Classes - - .. autosummary:: - - Config_Manager - Dhcpd - Interface - Vlan - \ No newline at end of file diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.config_manager.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.config_manager.rst.txt deleted file mode 100644 index e7f6ed2..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.config_manager.rst.txt +++ /dev/null @@ -1,13 +0,0 @@ -opnsense\_helper.config\_manager -================================ - -.. automodule:: opnsense_helper.config_manager - - -.. rubric:: Modules - -.. autosummary:: - :toctree: - :recursive: - - config_manager diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.opnsense_helper.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.opnsense_helper.rst.txt deleted file mode 100644 index c3cef31..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.opnsense_helper.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -opnsense\_helper.opnsense\_helper -================================= - -.. automodule:: opnsense_helper.opnsense_helper - - - .. rubric:: Classes - - .. autosummary:: - - Opnsense_Helper - \ No newline at end of file diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.rst.txt deleted file mode 100644 index 00afd45..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -opnsense\_helper -================ - -.. automodule:: opnsense_helper - - -.. rubric:: Modules - -.. autosummary:: - :toctree: - :recursive: - - commands - config_manager - opnsense_helper - scripts - utils diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.scripts.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.scripts.rst.txt deleted file mode 100644 index 6f8540c..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.scripts.rst.txt +++ /dev/null @@ -1,13 +0,0 @@ -opnsense\_helper.scripts -======================== - -.. automodule:: opnsense_helper.scripts - - -.. rubric:: Modules - -.. autosummary:: - :toctree: - :recursive: - - scripts diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.scripts.scripts.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.scripts.scripts.rst.txt deleted file mode 100644 index cf0bc15..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.scripts.scripts.rst.txt +++ /dev/null @@ -1,31 +0,0 @@ -opnsense\_helper.scripts.scripts -================================ - -.. automodule:: opnsense_helper.scripts.scripts - - - .. rubric:: Classes - - .. autosummary:: - - Scripts - Wireguard - auth - dhcp - dns - filter - firmware - health - interfaces - ipsec - netflow - openssh - openvpn - routes - shaper - shell - suricata - syslog - system - unbound - \ No newline at end of file diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.baseclass.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.baseclass.rst.txt deleted file mode 100644 index 756b263..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.baseclass.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -opnsense\_helper.utils.baseclass -================================ - -.. automodule:: opnsense_helper.utils.baseclass - - - .. rubric:: Classes - - .. autosummary:: - - Base_Class - \ No newline at end of file diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.exec_class.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.exec_class.rst.txt deleted file mode 100644 index 5f560bf..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.exec_class.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -opnsense\_helper.utils.exec\_class -================================== - -.. automodule:: opnsense_helper.utils.exec_class - - - .. rubric:: Classes - - .. autosummary:: - - Exec_Class - \ No newline at end of file diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.frontend_utils.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.frontend_utils.rst.txt deleted file mode 100644 index afb2937..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.frontend_utils.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -opnsense\_helper.utils.frontend\_utils -====================================== - -.. automodule:: opnsense_helper.utils.frontend_utils - - - .. rubric:: Functions - - .. autosummary:: - - api_get - api_post - get_backup - get_vlans - ping - vlans_api - \ No newline at end of file diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.rst.txt deleted file mode 100644 index b641879..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.rst.txt +++ /dev/null @@ -1,16 +0,0 @@ -opnsense\_helper.utils -====================== - -.. automodule:: opnsense_helper.utils - - -.. rubric:: Modules - -.. autosummary:: - :toctree: - :recursive: - - baseclass - exec_class - frontend_utils - utils diff --git a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.utils.rst.txt b/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.utils.rst.txt deleted file mode 100644 index c9a23fd..0000000 --- a/.docs/_build/html/_sources/opnsense_helper/opnsense_helper.utils.utils.rst.txt +++ /dev/null @@ -1,20 +0,0 @@ -opnsense\_helper.utils.utils -============================ - -.. automodule:: opnsense_helper.utils.utils - - - .. rubric:: Functions - - .. autosummary:: - - exec - format_flags - get_child - get_element - parseChild - ping - recoursion - replace - update_xml_file - \ No newline at end of file diff --git a/.docs/_build/html/_sources/python_package.rst.txt b/.docs/_build/html/_sources/python_package.rst.txt index 9751ad9..f7b4fdb 100644 --- a/.docs/_build/html/_sources/python_package.rst.txt +++ b/.docs/_build/html/_sources/python_package.rst.txt @@ -15,6 +15,15 @@ Config_Manager class lets you assign configurations, by passing arrays of the co Config_Manager will parse those objects to xml and automatically reconfigure your devices. .. automodule:: opnsense_helper.config_manager.config_manager + +========================================== +Api Docs for Opnsense_Helper pip package. + +.. toctree:: + :maxdepth: 2 + :caption: opnsense_helper + + opnsense_helper.rst :members: :undoc-members: :show-inheritance: diff --git a/.docs/_build/html/genindex.html b/.docs/_build/html/genindex.html index 243531e..6a6f380 100644 --- a/.docs/_build/html/genindex.html +++ b/.docs/_build/html/genindex.html @@ -52,6 +52,30 @@
  • coonfig_manager
  • commands
  • scripts
  • + +

    opnsense-scripts-autodocs

    + @@ -85,7 +109,6 @@

    Index

    | C | D | F - | G | H | I | M @@ -95,7 +118,6 @@

    Index

    | R | S | U - | V | W @@ -110,14 +132,10 @@

    A

    C

    @@ -130,8 +148,6 @@

    D

    @@ -149,22 +165,6 @@

    F

    -

    G

    - - - -
    -

    H

    +
  • + python.autodocs.firmware.config -

    R

    - - - -
    +
  • + python.autodocs.firmware.connection + +
  • +
  • + python.autodocs.firmware.details + +
  • +
  • +
  • + python.autodocs.firmware.health -

    S

    - - - -
    +
  • + python.autodocs.firmware.launcher + +
  • +
  • + python.autodocs.firmware.license + +
  • +
  • + python.autodocs.firmware.lock + +
  • +
  • + python.autodocs.firmware.plugin + +
  • +
  • +
  • + python.autodocs.firmware.product -

    U

    - - -
    +
  • +
  • + python.autodocs.firmware.query -

    V

    - - + +
      -
    • Vlan (class in opnsense_helper.config_manager.config_manager) +
    • +
    • + python.autodocs.firmware.read + +
    • +
    • + python.autodocs.firmware.reboot + +
    • +
    • + python.autodocs.firmware.register + +
    • +
    • + python.autodocs.firmware.reinstall + +
    • +
    • + python.autodocs.firmware.remove + +
    • +
    • + python.autodocs.firmware.resync + +
    • +
    • + python.autodocs.firmware.running + +
    • +
    • + python.autodocs.firmware.security + +
    • +
    • + python.autodocs.firmware.sync + +
    • +
    • + python.autodocs.firmware.unlock + +
    • +
    • + python.autodocs.firmware.update + +
    • +
    • + python.autodocs.firmware.upgrade + +
    • +
    • + python.autodocs.health.updaterrd + +
    • +
    • + python.autodocs.interfaces.carp_global_status + +
    • +
    • + python.autodocs.interfaces.carp_set_status + +
    • +
    • + python.autodocs.interfaces.ifctl + +
    • +
    • + python.autodocs.interfaces.reconfigure_gifs + +
    • +
    • + python.autodocs.interfaces.reconfigure_gres + +
    • +
    • + python.autodocs.interfaces.reconfigure_laggs + +
    • +
      +
    • + python.autodocs.interfaces.reconfigure_neighbors + +
    • +
    • + python.autodocs.interfaces.reconfigure_vips + +
    • +
    • + python.autodocs.interfaces.reconfigure_vlans + +
    • +
    • + python.autodocs.interfaces.rtsold_resolvconf + +
    • +
    • + python.autodocs.interfaces.traffic_stats + +
    • +
    • + python.autodocs.ipsec.get_legacy_vti + +
    • +
    • + python.autodocs.netflow.flush_all + +
    • +
    • + python.autodocs.openvpn.client_connect + +
    • +
    • + python.autodocs.openvpn.client_disconnect + +
    • +
    • + python.autodocs.openvpn.ovpn_service_control + +
    • +
    • + python.autodocs.openvpn.tls_verify + +
    • +
    • + python.autodocs.openvpn.user_pass_verify + +
    • +
    • + python.autodocs.repos.FreeBSD + +
    • +
    • + python.autodocs.repos.OPNsense + +
    • +
    • + python.autodocs.routes.del_route + +
    • +
    • + python.autodocs.routes.gateway_status + +
    • +
    • + python.autodocs.routes.gateway_watcher + +
    • +
    • + python.autodocs.routes.gateways + +
    • +
    • + python.autodocs.shell.banner + +
    • +
    • + python.autodocs.shell.defaults + +
    • +
    • + python.autodocs.shell.firmware + +
    • +
    • + python.autodocs.shell.halt + +
    • +
    • + python.autodocs.shell.password + +
    • +
    • + python.autodocs.shell.ping + +
    • +
    • + python.autodocs.shell.reboot + +
    • +
    • + python.autodocs.shell.restore + +
    • +
    • + python.autodocs.shell.setaddr + +
    • +
    • + python.autodocs.shell.setports + +
    • +
    • + python.autodocs.suricata.listRuleMetadata + +
    • +
    • + python.autodocs.suricata.setup + +
    • +
    • + python.autodocs.syslog.clearlog + +
    • +
    • + python.autodocs.syslog.list_applications + +
    • +
    • + python.autodocs.syslog.queryLog + +
    • +
    • + python.autodocs.syslog.streamLog + +
    • +
    • + python.autodocs.system.cpu + +
    • +
    • + python.autodocs.system.nameservers + +
    • +
    • + python.autodocs.system.remote_backup + +
    • +
    • + python.autodocs.system.ssl_ciphers + +
    • +
    • + python.autodocs.system.status + +
    • +
    • + python.autodocs.system.sysctl + +
    • +
    • + python.autodocs.system.temperature + +
    • +
    • + python.autodocs.unbound.cache + +
    • +
    • + python.autodocs.unbound.logger + +
    • +
    • + python.autodocs.unbound.restore_db + +
    • +
    • + python.autodocs.unbound.start + +
    • +
    • + python.autodocs.unbound.stats + +
    • +
    • + python.autodocs.unbound.wrapper + +
    • +
    + +

    R

    + + + +
    + +

    S

    + + + +
    + +

    U

    + +
    diff --git a/.docs/_build/html/index.html b/.docs/_build/html/index.html index 977ba55..5728646 100644 --- a/.docs/_build/html/index.html +++ b/.docs/_build/html/index.html @@ -54,6 +54,30 @@
  • coonfig_manager
  • commands
  • scripts
  • + +

    opnsense-scripts-autodocs

    + @@ -117,11 +141,7 @@

    Opnsense-HelperOpnsense_Helper -
  • coonfig_manager
      -
    • Config_Manager
    • -
    • Dhcpd
    • -
    • Interface
    • -
    • Vlan
    • +
    • coonfig_manager
    • commands
        @@ -156,6 +176,166 @@

        Opnsense-Helper +

        opnsense-scripts-autodocs

        +
        + diff --git a/.docs/_build/html/objects.inv b/.docs/_build/html/objects.inv index 1645428..5ed8db9 100644 Binary files a/.docs/_build/html/objects.inv and b/.docs/_build/html/objects.inv differ diff --git a/.docs/_build/html/opnsense-scripts.html b/.docs/_build/html/opnsense-scripts.html new file mode 100644 index 0000000..757053c --- /dev/null +++ b/.docs/_build/html/opnsense-scripts.html @@ -0,0 +1,2979 @@ + + + + + + + + + auth — opnsense_helper 0.1.20 documentation + + + + + + + + + + + + + + + + +
        + + +
        + +
        +
        +
        + +
        +
        +
        +
        + +
        +
        +
        +

        auth

        +
        +

        script add_user.php

        +
        +
        Params
          +
        • +
          $argvarray
            +
          • -h show this help text and exit”

          • +
          • -u [required] username”

          • +
          • -o origin (default=automation)”

          • +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • +
          str
            +
          • echos the status of the operation

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +

        script list_group_members.php

        +

        Retrieves a list of system groups and their corresponding members.

        +
        +
        Returns
          +
        • string

        • +
        +
        +
          +
        • A JSON-encoded array containing system groups as keys and their details as values, including group name and member list.

        • +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        dhcp

        +
        +

        script cleanup_leases4.php

        +

        Cleans up DHCP leases by removing expired or unwanted leases.

        +

        This script reads the DHCP lease file, removes leases that match the specified criteria, and writes the updated lease file.

        +

        Params

        +
        +
          +
        • +
          $argsvarray
            +
          • -h : Show help text and exit.

          • +
          • -m : Remove static MAC addresses.

          • +
          • -s : Restart the DHCP service (required when the service is active).

          • +
          • -d=xxx : Remove the specified IP address.

          • +
          • -f=dhcpd.leases : Specify the DHCP lease file (default: /var/dhcpd/var/db/dhcpd.leases).

          • +
          +
          +
          +
        • +
        +
        +
        +
        Arguments
          +
        • dhcp_lease_file : string - The path to the DHCP lease file (default: /var/dhcpd/var/db/dhcpd.leases).

        • +
        • opts : array - An array of command-line options.

        • +
        • addresses : array - An array of IP addresses to remove.

        • +
        +
        +
        Returns
          +
        • A JSON-encoded array with the number of removed leases.

        • +
        +
        +
        +

        Options

        +
        +
        +

        script cleanup_leases6.php

        +

        Cleans up DHCPv6 leases by removing expired or unwanted leases.

        +

        This script reads the DHCPv6 lease file, removes leases that match the specified criteria, and writes the updated lease file.

        +

        Params

        +
        +
          +
        • +
          argsvarray
            +
          • -h : Show help text and exit.

          • +
          • -s : Restart the DHCPv6 service (required when the service is active).

          • +
          • -d=xxx : Remove the specified IPv6 address.

          • +
          • -f=dhcpd6.leases : Specify the DHCPv6 lease file (default: /var/dhcpd/var/db/dhcpd6.leases).

          • +
          +
          +
          +
        • +
        +
        +
        +
        Arguments
          +
        • dhcp_lease_file : string - The path to the DHCPv6 lease file (default: /var/dhcpd/var/db/dhcpd6.leases).

        • +
        • opts : array - An array of command-line options.

        • +
        • ip_to_remove : string - The IPv6 address to remove.

        • +
        +
        +
        Returns
          +
        • A JSON-encoded array with the number of removed leases.

        • +
        +
        +
        +
        +
        +

        script dnsmasq_watcher.py

        +

        Parameters

        +
          +
        • +
          domainstr
            +
          • Description: default domain to use

          • +
          • options : [’–domain’]

          • +
          • default : local

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          pidstr
            +
          • Description: pid file location

          • +
          • options : [’–pid’]

          • +
          • default : /var/run/dnsmasq_dhcpd.pid

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          servicepidstr
            +
          • Description: dnsmasq pid file location

          • +
          • options : [’–servicepid’]

          • +
          • default : /var/run/dnsmasq.pid

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          sourcestr
            +
          • Description: source leases file

          • +
          • options : [’–source’]

          • +
          • default : /var/dhcpd/var/db/dhcpd.leases

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          targetstr
            +
          • Description: target config file

          • +
          • options : [’–target’]

          • +
          • default : /var/etc/dnsmasq-leases

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script get_kea_leases.py

        +

        Parameters

        +
          +
        • +
          protostr
            +
          • Description: protocol to fetch (inet, inet6)

          • +
          • options : [’–proto’]

          • +
          • default : inet

          • +
          • choices : [‘inet’]

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script prefixes.sh

        +

        Watches for changes in the DHCPv6 leases file and updates the configuration.

        +

        It uses the md5 command to calculate the checksum of the leases file. +If the checksum changes, it updates the DHCPv6 configuration using the configctl command. +Thescript runs indefinitely and checks for changes at the specified interval.

        +
        +
        Params
          +
        • +
          ${1}int
            +
          • INTERVAL: The interval in seconds to check for changes (default: 20).

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (md5, configctl) are available.

        • +
        • Thescript uses the /var/dhcpd/var/db/dhcpd6.leases file to store the DHCPv6 leases.

        • +
        +
        +
        +
        +
        +

        script prefixes.sh

        +

        Watches for changes in the DHCPv6 leases file and updates the configuration.

        +

        It uses the md5 command to calculate the checksum of the leases file. +If the checksum changes, it updates the DHCPv6 configuration using the configctl command. +Thescript runs indefinitely and checks for changes at the specified interval.

        +
        +
        Params
          +
        • +
          ${1}int
            +
          • INTERVAL: The interval in seconds to check for changes (default: 20).

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (md5, configctl) are available.

        • +
        • Thescript uses the /var/dhcpd/var/db/dhcpd6.leases file to store the DHCPv6 leases.

        • +
        +
        +
        +
        +
        +
        +
        +
        +

        dns

        +
        +

        script query_dns.py

        +

        Parameters

        +
          +
        • +
          domainstr
            +
          • Description: domain name to query

          • +
          • options : []

          • +
          • required : True

          • +
          +
          +
          +
        • +
        • +
          typesstr
            +
          • Description: list of types to query (when querying hostnames)

          • +
          • options : [’–types’]

          • +
          • default : A,AAAA,MX,TXT

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          serverstr
            +
          • Description: server to query

          • +
          • options : [’–server’]

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +
        +

        filter

        +
        +

        script kill_states.py

        +

        Parameters

        +
          +
        • +
          filterstr
            +
          • Description: filter results

          • +
          • options : [’–filter’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          labelstr
            +
          • Description: label / rule id

          • +
          • options : [’–label’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script list_states.py

        +

        Parameters

        +
          +
        • +
          filterstr
            +
          • Description: filter results

          • +
          • options : [’–filter’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          labelstr
            +
          • Description: label / rule id

          • +
          • options : [’–label’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          limitstr
            +
          • Description: limit number of results

          • +
          • options : [’–limit’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          offsetstr
            +
          • Description: offset results

          • +
          • options : [’–offset’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          sort_bystr
            +
          • Description: sort by (field asc|desc)

          • +
          • options : [’–sort_by’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script rollback_cancle.php

        +

        This script is used to cancel a rollback operation by deleting the corresponding lock file.

        +

        The script assumes that the lock file is in the format “/tmp/filter_<revision>.lock”.

        +
        +
        Params
          +
        • +
          argsv[0]int
            +
          • (optional): The revision number to cancel

          • +
          +
          +
          +
        • +
        +
        +
        Flow
          +
        • Checks if a revision number is provided as a command-line argument

        • +
        • If a revision number is provided, checks if a lock file exists for that revision

        • +
        • If the lock file exists, deletes it and exits with a success code (0)

        • +
        • If no revision number is provided or the lock file does not exist, exits with a failure code (1)

        • +
        +
        +
        +

        Outputs

        +
        +
          +
        • Exit code: 0 (success) or 1 (failure)

        • +
        +
        +
        +
        +

        script rollback_timer.php

        +

        A script to manage the rollback timer for firewall filter changes.

        +

        It uses the OPNsenseFirewallFilter class to manage firewall filter changes. +It is used to manage the rollback timer for firewall filter changes.

        +
        +
        Params
          +
        • +
          argsv[0]int
            +
          • (optional): The revision number to cancel

          • +
          +
          +
          +
        • +
        +
        +
        Functions
          +
        • OPNsenseFirewallFilter::rollback($revision): Rolls back to the specified revision

        • +
        • OPNsenseCoreBackend::configdRun($command): Runs a command on the backend

        • +
        +
        +
        Flow
          +
        • Checks the command-line arguments for the revision number

        • +
        • Creates a lock file for the revision

        • +
        • Waits for 60 seconds for the API to callback

        • +
        • If the lock file is deleted, exits with success

        • +
        • If the lock file still exists, rolls back to the specified revision

        • +
        • Reloads the firewall filter configuration if the rollback is successful

        • +
        +
        +
        +
        +
        +

        script update_bogons.sh

        +

        Updates the bogons files for IPv4 and IPv6.

        +

        It downloads the latest bogons files from the OPNsense repository, verifies their integrity, and extracts them to a temporary directory. +Thescript then updates the bogons tables in the pf firewall configuration. +If the update is successful, thescript logs a success message.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • COMMAND: The command to execute (e.g. “cron”).

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (opnsense-update, fetch, tar, pfctl, logger) are available.

        • +
        • Thescript uses the /usr/local/etc directory to store the bogons files.

        • +
        +
        +
        +
        +
        +
        +
        +
        +

        firmware

        +
        +

        script changelog.sh

        +

        Executes the main functionality of the changelog management program.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • Command to execute (fetch, cron, remove, list, url, html, text)

          • +
          +
          +
          +
        • +
        • +
          ${2}str (optional)
            +
          • Version number (required for html and text commands)

          • +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • +
          int
            +
          • Exit status of thescript (0 for success, non-zero for failure)

          • +
          +
          +
          +
        • +
        +
        +
        Commands
          +
        • fetch : Fetches the latest changelog from the remote repository.

        • +
        • cron : Fetches the latest changelog from the remote repository, pausing for at least 10 minutes spread out over the next 12 hours.

        • +
        • remove : Removes all changelog files from the destination directory.

        • +
        • list : Lists the contents of the index.json file.

        • +
        • url : Prints the URL of the remote changelog repository.

        • +
        • html : Prints the HTML changelog for the specified version.

        • +
        • text : Prints the text changelog for the specified version.

        • +
        +
        +
        +
        +
        +

        script env_init.sh

        +

        Initializes the environment for OPNsense firmware operations.

        +

        It checks if the OPNsense update is available and if so, sets environment +variables to disable TLS versions below 1.3, refreshes CRL files, and tells +libfetch to verify from the trust store.

        +
        +
        +

        script connection.sh

        +

        Checks connectivity to OPNsense servers and verifies server certificates.

        +

        It uses the opnsense-update commands to determine the URLs of the servers, +and then checks connectivity to these servers over IPv4 and IPv6. +Finally, it verifies the server certificates.

        +
        +
        +

        script details.sh

        +

        Queries package information.

        +

        It takes a package name as an argument and uses the pkg rquery command to retrieve information about the package. +Thescript outputs the package name, version, and maintainer.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • The package to query.

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +

        script health.sh

        +

        Performs a health audit on the system.

        +

        It checks the root file system, kernel, base system, repositories, plugins, +locked packages, and package dependencies. +It also checks for missing or altered package files. +The audit results are logged to a file.

        +
        +
        Params
          +
        • +
          ${1}: str
            +
          • Optional command to specify which audit to perform.

          • +
          • Possible values: kernel, base, repos, plugins, locked, packages, core

          • +
          +
          +
          +
        • +
        +
        +
        +

        Functions

        +
        +
          +
        • set_check: Checks the version and consistency of a package.

        • +
        • core_check: Checks the consistency of the core packages.

        • +
        +
        +
        +
        +

        script hostnames.sh

        +

        Retrieves the hosts of the repositories configured on the system.

        +

        It uses the opnsense-verify command to get the list of repositories, +and then parses the repository configuration files to extract the URLs. +It filters out non-HTTPS URLs and extracts the host from the remaining URLs. +The unique hosts are then printed to the console.

        +
        +
        Returns
          +
        • A list of unique hosts of the repositories.

        • +
        +
        +
        +
        +
        +

        script install.sh

        +

        Installs a package on the system. +It checks if the package is a core package and if so, it checks if the core package is up-to-date. +If the core package is not up-to-date, it exits and displays an error message. +Otherwise, it installs the package using the pkg command and logs the output to a lockfile. +After installation, it runs the register.php`script to register the package and then runs `pkg autoremove to remove any unnecessary packages.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • Name of the package to install.

          • +
          +
          +
          +
        • +
        +
        +
        Notes - Thisscript uses the opnsense-version command to get the current version of the system.
          +
        • Thisscript uses the pkg command to install and manage packages.

        • +
        • Thisscript uses the `register.php`script to register the package.

        • +
        • Thisscript logs all output to a lockfile.

        • +
        +
        +
        +
        +
        +

        script latest.php

        +

        Retrieves the latest stable version of OPNsense by parsing the changelog file.

        +
        +
        Params- arsv[1]str
          +
        • Path to the changelog file (default: /usr/local/opnsense/changelog/index.json)

        • +
        +
        +
        Returns
          +
        • string

        • +
        +
        +
          +
        • The latest stable version of OPNsense, or the current version if unknown.

        • +
        +
        +
        +
        +
        +
        +

        script firmware_runner.sh

        +

        Runs a firmwarescript.

        +

        It supports various options, such as specifying ascript, setting a random delay, and enabling verbose mode. +Thescript uses a lock file to ensure that only onescript is run at a time.

        +
        +
        Params
          +
        • +
          r: int
            +
          • Optional: Sets a random delay before running thescript.

          • +
          +
          +
          +
        • +
        • +
          s: str
            +
          • Optional: Specifies thescript to run.

          • +
          +
          +
          +
        • +
        • +
          u: bool
            +
          • Optional: Runs thescript without a lock file.

          • +
          +
          +
          +
        • +
        • +
          V: bool
            +
          • Optional: Enables verbose mode.

          • +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • +
          int
            +
          • The return value of the runscript.

          • +
          +
          +
          +
        • +
        +
        +
        Notes - Thisscript uses the flock function to manage the lock file.
          +
        • Thescript uses the jot function to generate a random delay.

        • +
        +
        +
        +
        +
        +

        script license.sh

        +

        Displays the license information for a package.

        +

        It uses the pkg command to query the package database and retrieve the license information. +Thescript then displays the license text for each license found.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • The name of the package to display the license information for.

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the license files are stored in the ${LICENSEDIR} directory.

        • +
        • Thescript uses the ${PKG} command to query the package database.

        • +
        +
        +
        +
        +
        +

        script lock.sh

        +

        Locks a package to prevent updates.

        +

        It uses the opnsense-update command to lock the base or kernel set, or the pkg command to lock a specific package. +Thescript logs its actions to a lock file.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • The name of the package to lock.

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the lock file is stored in the ${LOCKFILE} directory.

        • +
        • Thescript uses the opnsense-version command to retrieve the current version of the system.

        • +
        +
        +
        +
        +
        +

        script plugin.sh

        +

        Checks if a plugin is installed.

        +

        It uses the opnsense-version command to check if the plugin is installed, either in stable or development version. +Thescript returns 0 if the plugin is not installed, and 1 if it is installed.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • PLUGIN: The name of the plugin to check.

          • +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • +
          int
            +
          • 0 if the plugin is not installed, 1 if it is installed.

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the opnsense-version command is available.

        • +
        +
        +
        +
        +
        +

        script product.php

        +

        A script to retrieve and display product information.

        +

        This script uses the json_decode, file_get_contents, shell_safe, date, filemtime, explode, sort, implode, and json_encode functions to retrieve and display the product information. +The script assumes that the product metadata file and license file are in the correct format and location.

        +
        +
        Arguments
          +
        • $metafile: The path to the product metadata file

        • +
        • $licensefile: The path to the product license file

        • +
        • $ret: The array to store the product information

        • +
        +
        +
        Functions
          +
        • json_decode(string $json, bool $assoc): Decodes a JSON string into a PHP array

        • +
        • file_get_contents(string $filename): Reads the contents of a file

        • +
        • shell_safe(string $command): Executes a shell command and returns the output

        • +
        • date(string $format, int $timestamp): Formats a timestamp into a human-readable date string

        • +
        • filemtime(string $filename): Returns the last modification time of a file

        • +
        • explode(string $delimiter, string $string): Splits a string into an array using a delimiter

        • +
        • sort(array &$array): Sorts an array in ascending order

        • +
        • implode(string $delimiter, array $array): Joins an array into a string using a delimiter

        • +
        • json_encode(array $array, int $flags): Encodes a PHP array into a JSON string

        • +
        +
        +
        Flow
          +
        • Reads the product metadata file and decodes the JSON contents into an array

        • +
        • Retrieves the latest product version, mirror URL, and timestamp

        • +
        • Retrieves the list of repositories and sorts them in ascending order

        • +
        • Checks if there are any pending updates and retrieves the update log

        • +
        • Retrieves the license information from the license file (if available)

        • +
        • Sorts the product information array in ascending order

        • +
        • Encodes the product information array into a JSON string and outputs it

        • +
        +
        +
        +

        Outputs

        +
        +
          +
        • A JSON string containing the product information

        • +
        +
        +
        +
        +

        script query.sh

        +

        Retrieves version information for OPNsense.

        +

        It uses the opnsense-version command to retrieve version information for the base and kernel sets. +It also uses the pkg command to retrieve package information. +Thescript supports three modes:

        +
        +
          +
        • local: Retrieves version information for the local OPNsense installation.

        • +
        • remote: Retrieves version information from a remote repository.

        • +
        • tiers: Retrieves product tier annotations from a remote repository.

        • +
        +
        +
        +
        Params
          +
        • +
          ${1}str
            +
          • MODE: The mode to retrieve version information (local, remote, tiers).

          • +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • str +- The version information in a formatted string.

        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (opnsense-version, pkg) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +

        script read.sh

        +

        Retrieves the lock file for a package.

        +

        It checks if the lock file exists and prints its content. +The lock file is assumed to be located at the ${LOCKFILE} directory.

        +
        +
        Returns
          +
        • str +- The lock file content.

        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (cat, sed) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +

        script reboot.sh

        +

        Provides a hint to the console to reboot the system.

        +

        It checks if an update to the OPNsense core package is available and if the system needs to be rebooted. +Thescript uses the pkg command to query the package database and the opnsense-update command to check for updates. +If an update is available, thescript prints the next version number and exits with a status code of 0. +If no update is available, thescript exits with a status code of 1.

        +
        +
        Returns
          +
        • int +- 0 if a reboot is not necessary, 1 if a reboot is necessary.

        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (pkg, opnsense-update, pluginctl) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +

        script register.php

        +

        A script to manage plugin registration.

        +

        This script uses the Config class to manage the plugin configuration.

        +

        The script assumes that the plugin metadata is stored in JSON files on disk. +This script is used to manage plugin registration and updates.

        +
        +
        Arguments
          +
        • $action (optional): The action to perform (install, remove, sync, resync)

        • +
        • $name (optional): The name of the plugin to install or remove

        • +
        +
        +
        Functions
          +
        • plugins_config_get($config): Returns the current plugin configuration

        • +
        • plugins_config_set($config, $plugins): Sets the plugin configuration

        • +
        • plugins_disk_found($name): Checks if a plugin is found on disk

        • +
        • plugins_disk_get(): Returns a list of plugins found on disk

        • +
        +
        +
        Flow
          +
        • Checks the command-line arguments for the action and plugin name

        • +
        • Initializes the plugin configuration and disk plugins

        • +
        • Performs the specified action (install, remove, sync, resync)

        • +
        • Updates the plugin configuration if necessary

        • +
        +
        +
        +
        +
        +

        script reinstall.sh

        +

        Reinstalls a package on the OPNsense system.

        +

        It checks if the package is the base or kernel package and performs the necessary actions. +If the package is a plugin, it reverts the plugin to its original state and reinstalls it. +Thescript uses the opnsense-update command to update the package and the opnsense-revert command to revert the plugin. +If a reboot is necessary, thescript initiates a reboot after a short delay.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • PACKAGE: The name of the package to reinstall (base, kernel, or a plugin name).

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (opnsense-update, opnsense-revert, pkg, rc.reboot) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +

        script remove.sh

        +

        Removes a package from the OPNsense system.

        +

        It uses the pkg command to remove the package and the register.php`script to update the package registration. +Thescript also runs the `pkg autoremove command to remove any unnecessary dependencies. +Thescript logs its actions to the ${LOCKFILE} file.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • PACKAGE: The name of the package to remove.

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (pkg, register.php) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +

        script resync.sh

        +

        Resynchronizes the OPNsense system with the latest configuration.

        +

        It uses the register.php`script to perform the resynchronization and logs its actions to the `${LOCKFILE} file.

        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (opnsense-version, register.php) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        • Thescript clears the ${LOCKFILE} file before starting the resynchronization.

        • +
        +
        +
        +
        +
        +

        script running.sh

        +

        Checks if the OPNsense system is currently locked for updates.

        +

        It uses the flock command to check if the lock file is available.

        +
        +
        Returns
          +
        • “ready” if the system is not locked

        • +
        • “busy” if the system is locked

        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (flock) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        • Thescript uses the ${LOCKFILE} file to store the lock information.

        • +
        +
        +
        +
        +
        +

        script security.sh

        +

        Performs a security audit on the OPNsense system.

        +

        It uses the pkg command to run the audit and logs its actions to the ${LOCKFILE} file.

        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (pkg, opnsense-version) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        • Thescript clears the ${LOCKFILE} file before starting the audit.

        • +
        +
        +
        +
        +
        +

        script sync.sh

        +

        Synchronizes the OPNsense system with the latest configuration.

        +

        It uses the sync.subr.sh`script to perform the synchronization and logs its actions to the `${LOCKFILE} file.

        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (opnsense-version, sync.subr.sh) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +

        script unlock.sh

        +

        Unlocks a package or set on the OPNsense system.

        +

        It uses the opnsense-update command to unlock the base or kernel sets, and the pkg command to unlock other packages. +Thescript logs its actions to the ${LOCKFILE} file.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • PACKAGE: The name of the package or set to unlock.

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (opnsense-update, pkg) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +

        script update.sh

        +

        Updates the OPNsense system to the latest version.

        +

        It uses the opnsense-update command to perform the update and the rc.restart_webgui command to restart the web server. +Thescript also uses the tee command to log the output to the ${LOCKFILE} file. +If the update is successful, thescript initiates a reboot after a short delay if necessary.

        +
        +
        Params
          +
        • +
          {1}str
            +
          • CMD: The command to execute (e.g. “sync”).

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (opnsense-update, rc.restart_webgui, tee, rc.reboot) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +

        script upgrade.sh

        +

        Upgrades the OPNsense system to the latest version.

        +

        It uses the opnsense-update command to perform the upgrade and the rc.syshook command to execute system hooks. +Thescript also uses the tee command to log the output to the ${LOCKFILE} file. +If the upgrade is successful, thescript initiates a reboot after a short delay.

        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (opnsense-update, rc.syshook, tee, rc.reboot) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/firmware/config.sh file to configure the OPNsense environment.

        • +
        +
        +
        +
        +
        +
        +
        +
        +

        repos

        +
        +

        script FreeBSD.php

        +

        Disables the FreeBSD repository to avoid breakage.

        +

        This script ensures that the FreeBSD repository is disabled by copying the sample configuration file over the active configuration file.

        +
        +
        Arguments
          +
        • conf : string

        • +
        +
        +
          +
        • The path to the FreeBSD repository configuration file.

        • +
        +
        +
        +
        +

        Actions

        +
        +
          +
        • Copies the sample configuration file ($conf . ‘.sample’) over the active configuration file ($conf).

        • +
        +
        +
        +
        +

        script OPNsense.php

        +

        Updates the OPNsense configuration based on the system settings.

        +

        It also checks for a subscription key and appends the URL suffix if present. +If no subscription key is set, the license file is deleted.

        +

        Params

        +
        +
          +
        • +
          argsvarray
            +
          • -A: specifies the ABI (Architecture-Based Interface) to use

          • +
          • -m: specifies the mirror URL to use

          • +
          • -n: specifies the flavour to use

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +
        +
        +

        health

        +
        +

        script updaterrd.php

        +

        This script updates the RRD (Round-Robin Database) statistics for OPNsense.

        +

        It uses the OPNsenseCoreConfig class to retrieve the RRD configuration. +It also uses the OPNsenseRRDFactory class to collect and update the RRD statistics. +The script checks if the RRD statistics are enabled and if the /var/db/rrd directory exists. +If debug mode is enabled, the script outputs the total runtime and collection time.

        +
        +
        Params
          +
        • +
          $argvarray
          +
          -hbool
            +
          • Display help message and exit.

          • +
          +
          +
          -dbool
            +
          • Enable debug mode, output errors to stdout.

          • +
          +
          +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • int

        • +
        +
        +
          +
        • 0 on success, non-zero on failure.

        • +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        definitions

        +
        +
        +
        +
        +

        interfaces

        +
          +
        • #!/usr/local/bin/php

        • +
        +
        +

        script carp_global_status.php

        +

        This script checks the CARP (Common Address Redundancy Protocol) configuration and returns a JSON response with the current status.

        +
        +
        Arguments
          +
        • a_vip : array - An array of virtual IP addresses.

        • +
        • carpcount : int - The number of CARP interfaces found.

        • +
        • response : array - An array containing the CARP status information.

        • +
        +
        +
        Returns
          +
        • A JSON-encoded array with the CARP status information.

        • +
        +
        +
        +
        +
        +

        script carp_set_status.php

        +

        Manages CARP (Common Address Redundancy Protocol) configuration and state.

        +

        This script performs actions on the CARP configuration, such as entering or leaving maintenance mode, disabling or enabling CARP, and configuring interfaces.

        +
        +
        Params
          +
        • +
          argsv[0]str
            +
          • The action to perform (maintenance, disable, enable).

          • +
          +
          +
          +
        • +
        +
        +
        Arguments
          +
        • a_vip : array - An array of virtual IP addresses.

        • +
        • config : array - The system configuration array.

        • +
        +
        +
        Returns
          +
        • A JSON-encoded array with the result of the action.

        • +
        +
        +
        +
        +
        +

        script ifctl.sh

        +

        Configures and manages interface settings.

        +

        It supports various modes, including nameserver, prefix, router, and searchdomain. +It also supports IPv4 and IPv6 address families. +Thescript can perform various actions, including clearing, flushing, dumping, and listing interface settings.

        +
        +
        Params
          +
        • +
          CMD: str

          Optional command to specify the action to perform. +Possible values: -c, -d, -f, -l, -O

          +
          +
          +
        • +
        • +
          IF: str

          Interface name.

          +
          +
          +
        • +
        • +
          MD: str

          Mode to operate in. Possible values: nameserver, prefix, router, searchdomain

          +
          +
          +
        • +
        • +
          AF: str

          Address family. Possible values: inet, inet6

          +
          +
          +
        • +
        • +
          EX: str

          Extension to append to the file name.

          +
          +
          +
        • +
        • +
          DO_CONTENTS: str

          Contents to write to the file.

          +
          +
          +
        • +
        • +
          DO_VERBOSE: str

          Flag to enable verbose mode.

          +
          +
          +
        • +
        +
        +
        +

        Functions

        +
        +
          +
        • flush_routes: Flushes routes for the specified interface and mode.

        • +
        • flush_slaac: Flushes SLAAC addressing for the specified interface.

        • +
        +
        +
        +
        Notes - Thisscript uses temporary files to store interface settings.
          +
        • Thescript uses the route command to manipulate routes.

        • +
        • Thescript uses the ifconfig command to manipulate interface settings.

        • +
        • +
          This Script uses getopts to parse command-line options:
            +
          • getopts: getopts optstring name [arg …]

          • +
          • Getopts is used by shell procedures to parse positional parameters as options.

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +

        script reconfigure_gifs.php

        +

        A script to reconfigure GIF interfaces.

        +

        This script uses the file_exists, filesize, fopen, flock, fread, fwrite, ftruncate, explode, trim, and other functions to interact with the file system and configure the GIF interfaces.

        +
        +
        Arguments
          +
        • $gifs_todo: An array to store the GIF interfaces to reconfigure

        • +
        • $vfilename: The path to the file containing the GIF interfaces to reconfigure

        • +
        • $gif_configure: An array to store the GIF interfaces to reconfigure

        • +
        • $ifdetails: An array to store the interface details

        • +
        +
        +
        Functions
          +
        • file_exists(string $filename): Checks if a file exists

        • +
        • filesize(string $filename): Returns the size of a file

        • +
        • fopen(string $filename, string $mode): Opens a file pointer

        • +
        • flock(resource $handle, int $operation): Locks or unlocks a file

        • +
        • fread(resource $handle, int $length): Reads from a file pointer

        • +
        • fwrite(resource $handle, string $string): Writes to a file pointer

        • +
        • ftruncate(resource $handle, int $size): Truncates a file to a specified size

        • +
        • explode(string $delimiter, string $string): Splits a string into an array using a delimiter

        • +
        • trim(string $string): Removes whitespace from a string

        • +
        • OPNsenseInterfacesGif()->gif->iterateItems(): Iterates over the GIF interfaces

        • +
        • legacy_interface_destroy(string $interface): Destroys a legacy interface

        • +
        • legacy_interfaces_details(): Returns the interface details

        • +
        • interfaces_addresses_flush(string $interface, int $family, array $ifdetails): Flushes addresses from an interface

        • +
        • _interfaces_gif_configure(array $gif): Configures a GIF interface

        • +
        • interfaces_restart_by_device(bool $force, array $interfaces): Restarts interfaces

        • +
        +
        +
        Flow
          +
        • Reads the file containing the GIF interfaces to reconfigure

        • +
        • Collects the GIF interfaces to reconfigure

        • +
        • Removes non-existing interfaces

        • +
        • Reconfigures the still existing GIF interfaces

        • +
        • Removes addresses from the interfaces (if necessary)

        • +
        • Configures the GIF interfaces

        • +
        • Re-applies additional addresses and hooks routing (if necessary)

        • +
        +
        +
        +

        /

        +
        +
        +

        script reconfigure_gres.php

        +

        A script to reconfigure GRE interfaces.

        +

        This script uses the file_exists, filesize, fopen, flock, fread, fwrite, ftruncate, explode, trim, and other functions to interact with the file system and configure the GRE interfaces

        +
        +
        Arguments
          +
        • $gres_todo: An array to store the GRE interfaces to reconfigure

        • +
        • $vfilename: The path to the file containing the GRE interfaces to reconfigure

        • +
        • $gre_configure: An array to store the GRE interfaces to reconfigure

        • +
        • $ifdetails: An array to store the interface details

        • +
        +
        +
        Functions
          +
        • file_exists(string $filename): Checks if a file exists

        • +
        • filesize(string $filename): Returns the size of a file

        • +
        • fopen(string $filename, string $mode): Opens a file pointer

        • +
        • flock(resource $handle, int $operation): Locks or unlocks a file

        • +
        • fread(resource $handle, int $length): Reads from a file pointer

        • +
        • fwrite(resource $handle, string $string): Writes to a file pointer

        • +
        • ftruncate(resource $handle, int $size): Truncates a file to a specified size

        • +
        • explode(string $delimiter, string $string): Splits a string into an array using a delimiter

        • +
        • trim(string $string): Removes whitespace from a string

        • +
        • OPNsenseInterfacesGre()->gre->iterateItems(): Iterates over the GRE interfaces

        • +
        • legacy_interface_destroy(string $interface): Destroys a legacy interface

        • +
        • legacy_interfaces_details(): Returns the interface details

        • +
        • interfaces_addresses_flush(string $interface, int $family, array $ifdetails): Flushes addresses from an interface

        • +
        • _interfaces_gre_configure(array $gre): Configures a GRE interface

        • +
        • interfaces_restart_by_device(bool $force, array $interfaces): Restarts interfaces

        • +
        +
        +
        Flow
          +
        • Reads the file containing the GRE interfaces to reconfigure

        • +
        • Collects the GRE interfaces to reconfigure

        • +
        • Removes non-existing interfaces

        • +
        • Reconfigures the still existing GRE interfaces

        • +
        • Removes addresses from the interfaces (if necessary)

        • +
        • Configures the GRE interfaces

        • +
        • Re-applies additional addresses and hooks routing (if necessary)

        • +
        +
        +
        +
        +
        +

        script reconfigure_laggs.php

        +

        A script to reconfigure LAGG interfaces.

        +

        This script uses the file_exists, filesize, fopen, flock, fread, fwrite, ftruncate, explode, trim, and other functions to interact with the file system and configure the LAGG interfaces

        +
        +
        Arguments
          +
        • $laggs_todo: An array to store the LAGG interfaces to reconfigure

        • +
        • $vfilename: The path to the file containing the LAGG interfaces to reconfigure

        • +
        • $lagg_configure: An array to store the LAGG interfaces to reconfigure

        • +
        +
        +
        Functions
          +
        • file_exists(string $filename): Checks if a file exists

        • +
        • filesize(string $filename): Returns the size of a file

        • +
        • fopen(string $filename, string $mode): Opens a file pointer

        • +
        • flock(resource $handle, int $operation): Locks or unlocks a file

        • +
        • fread(resource $handle, int $length): Reads from a file pointer

        • +
        • fwrite(resource $handle, string $string): Writes to a file pointer

        • +
        • ftruncate(resource $handle, int $size): Truncates a file to a specified size

        • +
        • explode(string $delimiter, string $string): Splits a string into an array using a delimiter

        • +
        • trim(string $string): Removes whitespace from a string

        • +
        • OPNsenseInterfacesLagg()->lagg->iterateItems(): Iterates over the LAGG interfaces

        • +
        • legacy_interface_destroy(string $interface): Destroys a legacy interface

        • +
        • _interfaces_lagg_configure(array $lagg): Configures a LAGG interface

        • +
        +
        +
        Flow
          +
        • Reads the file containing the LAGG interfaces to reconfigure

        • +
        • Collects the LAGG interfaces to reconfigure

        • +
        • Removes non-existing interfaces

        • +
        • Reconfigures the still existing LAGG interfaces

        • +
        +
        +
        +
        +
        +

        script reconfigure_neighbors.php

        +

        This script uses the interfaces_neighbors_configure() function to configure the neighbors.

        +

        The interfaces_neighbors_configure() function is defined in another module and is not part of this script. +This script is very simple and consists of only one function call.

        +
        +
        Functions
          +
        • interfaces_neighbors_configure(): Configures the neighbors

        • +
        +
        +
        Flow
          +
        • Calls the interfaces_neighbors_configure() function to configure the neighbors

        • +
        +
        +
        +
        +
        +

        script reconfigure_vips.php

        +

        A script to reconfigure the Virtual IPs (VIPs).

        +
        +
        Functions
          +
        • legacy_interfaces_details(): Returns the interface details

        • +
        • legacy_config_get_interfaces(): Returns the interface configurations

        • +
        • legacy_interface_deladdress(): Deletes an IP address from an interface

        • +
        • interface_ipalias_configure(): Configures an IP alias interface

        • +
        • interface_carp_configure(): Configures a CARP interface

        • +
        • interface_proxyarp_configure(): Configures the proxy ARP

        • +
        +
        +
        Flow
          +
        • Collects the IP addresses and their corresponding interfaces

        • +
        • Removes deleted VIPs

        • +
        • Compares the actual VIP configuration with the desired configuration

        • +
        • Configures the VIPs based on the desired configuration

        • +
        +
        +
        +

        /

        +
        +
        +

        script reconfigure_vlans.php

        +

        A script to reconfigure the VLANs.

        +
        +
        Functions
          +
        • legacy_interfaces_details(): Returns the interface details

        • +
        • legacy_interface_destroy(): Destroys an interface

        • +
        • legacy_vlan_remove_tag(): Removes a VLAN tag from an interface

        • +
        • legacy_vlan_tag(): Adds a VLAN tag to an interface

        • +
        • legacy_vlan_pcp(): Sets the PCP (Priority Code Point) for a VLAN

        • +
        • legacy_vlan_proto(): Sets the protocol for a VLAN

        • +
        • _interfaces_vlan_configure(): Configures a VLAN interface

        • +
        • ifgroup_setup(): Sets up the interface groups

        • +
        +
        +
        Flow
          +
        • Collects all relevant VLANs (new, updated, and removed) into a single list

        • +
        • Merges the configured VLANs with the existing VLANs

        • +
        • Handles existing VLANs (removed, changed, or unchanged)

        • +
        • Configures new VLANs

        • +
        • Sets up the interface groups

        • +
        +
        +
        +
        +
        +

        script rtsold_resolvconf.sh

        +

        Processes Router Advertisements (RA) with RDNSS and DNSSL options.

        +

        Thisscript is invoked by rtsold when a Router Advertisement with RDNSS and DNSSL options is received. It extracts the interface, router, and DNS information from the arguments and STDIN.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • +
            Action:
              +
            • “-a” to add DNS information

            • +
            • “-d” to delete DNS information

            • +
            +
            +
            +
          • +
          +
          +
          +
        • +
        • +
          ${2}str
            +
          • Interface information: “ifname:slaac:[RA source address]”

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript uses the ifctl(8) and configctl(8) commands to modify +the interface configuration.

        • +
        • It uses the /var/etc/radvd.conf file to recognize its own configuration.

        • +
        +
        +
        +
        +
        +

        script traffic_stats.php

        +

        This script uses the legacy_config_get_interfaces and legacy_interface_stats functions to collect interface information and statistics.

        +

        It also uses the map_ifs function to map interface data to a standardized format. +If an interval is specified, the script will collect statistics at that interval and output the results in a streaming format. +If no interval is specified, the script will collect statistics once and output the results in a single JSON object.

        +
        +
        Params
          +
        • +
          srgsv[0]int
            +
          • The interval in seconds to collect traffic statistics.

          • +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • +
          string
            +
          • The traffic statistics in JSON format.

          • +
          +
          +
          +
        • +
        +
        +
        +

        /

        +
        +
        +
        +
        +
        +

        ipsec

        +
        +

        script get_legacy_vti.php

        +

        This script uses the ipsec_get_configured_vtis() function to retrieve the list of configured IPsec VTIs.

        +

        The result is output in JSON format using the json_encode() function.

        +
        +
        Returns
          +
        • A JSON-encoded array containing the list of configured IPsec VTIs.

        • +
        +
        +
        Functions
          +
        • require_once(string $filename) : void - Includes the specified file.

        • +
        • ipsec_get_configured_vtis() : array - Retrieves a list of configured IPsec VTIs.

        • +
        • json_encode(array $data) : string - Encodes the data in JSON format.

        • +
        +
        +
        Arguments
          +
        • result : array - An array to store the result.

        • +
        • vti : array - The current VTI.

        • +
        • record : array - An array to store the VTI record.

        • +
        +
        +
        +
        +
        +
        +
        +
        +

        netflow

        +
        +

        script flush_all.sh

        +

        Flushes local netflow data.

        +

        If the “all” argument is provided, it stops the flowd and flowd_aggregate services, +removes all netflow data files and log files, and then starts the services again.

        +
        +
        Params
          +
        • +
          ${1}: str
            +
          • If str == “all” provided, all local netflow data will be flushed.

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +
        +
        +
        +

        openssh

        +
        +
        +
        +
        +

        openvpn

        +
        +

        script client_connect.php

        +

        This script authenticates an OpenVPN user based on the provided common name and server ID, and generates a client configuration file if required.

        +
        +
        Arguments
          +
        • common_name : string - The common name of the user.

        • +
        • vpnid : string - The ID of the OpenVPN server.

        • +
        • config_file : string - The path to the client configuration file.

        • +
        • server : OPNsenseOpenVPNOpenVPN - The OpenVPN server instance.

        • +
        • cso : OPNsenseOpenVPNOpenVPN - The client-specific override configuration.

        • +
        +
        +
        Environment Variables
          +
        • common_name : The common name of the user.

        • +
        • auth_server : The ID of the OpenVPN server.

        • +
        • config_file : The path to the client configuration file.

        • +
        +
        +
        +
        +
        +

        script client_disconnect.sh

        +
        +
        Returns
          +
        • +
          int
            +
          • The exit status of thescript.

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +

        script ovpn_service_control.php

        +

        Controls the OpenVPN instances on the system. +It can be used to start, stop, restart, or configure instances.

        +
        +
        Parameters
          +
        • +
          $argvarray
            +
          • +
            $argsv[-2]str
              +
            • action: stop|start|restart|configure

            • +
            +
            +
            +
          • +
          +
          +
          +
        • +
        • +
          $argsv[-1]str
            +
          • uuid: UUID of the instance

          • +
          +
          +
          +
        • +
        • -a: all instances

        • +
        • -h: help

        • +
        +
        +
        Functions
          +
        • setup_interface($instance): Configures the network interface for the OpenVPN instance.

        • +
        • ovpn_start($instance, $fhandle): Starts the OpenVPN instance.

        • +
        • ovpn_stop($instance, $destroy_if = false): Stops the OpenVPN instance.

        • +
        • ovpn_instance_stats($instance, $fhandle): Reads the statistics of the OpenVPN instance.

        • +
        • get_vhid_status(): Reads the status of the CARP instances.

        • +
        +
        +
        +
        +
        +

        script tls_verify.php

        +

        This script verifies the certificate depth for OpenVPN authentication.

        +

        It uses the OPNsenseOpenVPNOpenVPN class to retrieve the server instance by ID. +It also uses the OPNsenseTrustStore class to validate the OCSP response. +The script checks the certificate depth and OCSP validation for the given server ID. +If the verification fails, it logs a warning message and exits with a non-zero status code.

        +
        +
        Params
          +
        • +
          argsv[0]str
            +
          • The auth_server identifier for authentication.

          • +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • +
          int
            +
          • 0 on success, 1 on failure.

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +

        script user_pass_verify.php

        +

        It also uses the OPNsenseOpenVPNOpenVPN class to retrieve OpenVPN server information and create client-specific overrides. +The script logs authentication results to the syslog.

        +
        +
        Arguments
          +
        • auth_server : string - The ID of the OpenVPN server.

        • +
        • auth_method : string - The authentication method to use (via-env or via-file).

        • +
        • common_name : string - The common name of the certificate.

        • +
        • auth_file : string - The file containing the username and password (when using via-file method).

        • +
        • auth_defer : bool - Whether to defer authentication to another process.

        • +
        • auth_control_file : string - The file to write the authentication result to (when using auth_defer).

        • +
        +
        +
        Returns
          +
        • int

        • +
        +
        +
          +
        • 0 on success, non-zero on failure.

        • +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        routes

        +
        +

        script del_route.py

        +

        Parameters

        +
          +
        • +
          destinationstr
            +
          • Description: destination

          • +
          • options : [’–destination’]

          • +
          • required : True

          • +
          +
          +
          +
        • +
        • +
          gatewaystr
            +
          • Description: gateway

          • +
          • options : [’–gateway’]

          • +
          • required : True

          • +
          +
          +
          +
        • +
        +
        +
        +

        script gateway_status.php

        +

        This script retrieves the status of gateways using the dpinger_status() function, and generates a JSON-encoded result containing information about each gateway.

        +
        +
        Returns
          +
        • A JSON-encoded array containing information about each gateway.

        • +
        +
        +
        Functions
          +
        • dpinger_status() : Retrieves the status of gateways.

        • +
        +
        +
        +

        Variables

        +
        +
          +
        • result : array - An array to store the result of the script.

        • +
        • gateways_status : array - An array containing the status of each gateway.

        • +
        • gname : string - The name of the current gateway.

        • +
        • gw : array - An array containing information about the current gateway.

        • +
        • gatewayItem : array - An array to store information about the current gateway.

        • +
        • status_translated : string - A translated version of the status of the current gateway.

        • +
        +
        +
        +
        +

        script gateway_watcher.php

        +

        Dieses Script überwacht die Gateways und generiert Alarme, wenn ein Gateway nicht erreichbar ist.

        +
        +
        Params
          +
        • +
          $argv[1]string
            +
          • the action to execute: configd_run($action)

          • +
          +
          +
          +
        • +
        +
        +
        Functions
          +
        • signalhandler($signal) : Function called when a signal is received.

        • +
        • dpinger_status() : Function that returns the status of the gateways.

        • +
        • config_read_array($section, $key) : Function that returns an array from the configuration.

        • +
        • shell_safe($command, $args) : Function that safely executes a command.

        • +
        • syslog($priority, $message) : Function that writes a message to the system log.

        • +
        +
        +
        +

        Variables

        +
        +
          +
        • $config : array The system configuration.

        • +
        • $mode : array An array that stores the status of the gateways.

        • +
        • $poll : int The poll interval in seconds.

        • +
        • $wait : int The wait interval in seconds.

        • +
        • $alarm : bool A flag that indicates whether an alarm has been generated.

        • +
        +
        +
        +
        +

        script gateways.php

        +

        Retrieves a list of gateways and their corresponding IP addresses or protocols.

        +

        This script retrieves a list of gateways and their corresponding IP addresses or protocols, and outputs the result in JSON format.

        +
        +
        Params
          +
        • +
          $argvsarray
            +
          • -g : Adds gateway groups to the result.

          • +
          • -h : Displays the usage help.

          • +
          +
          +
          +
        • +
        +
        +
        Returns
          +
        • A JSON-encoded array containing the list of gateways and their corresponding IP addresses or protocols.

        • +
        +
        +
        Functions
          +
        • getopt(string $shortopts, array $longopts = [], int &$optind = 0) : array

        • +
        • Parses the command-line options.

        • +
        • array_slice(array $array, int $offset, int $length = null) : array

        • +
        • Extracts a slice of the array.

        • +
        • is_ipaddr(string $ip) : bool

        • +
        • Checks if the given string is a valid IP address.

        • +
        +
        +
        Variables
          +
        • mdl : OPNsenseRoutingGateways - An instance of the Gateways class.

        • +
        • gateways : array - An array containing the list of gateways.

        • +
        • ret : array - An array to store the result.

        • +
        • opts : array - An array containing the parsed command-line options.

        • +
        • args : array - An array containing the remaining command-line arguments.

        • +
        +
        +
        +
        +
        +
        +
        +
        +

        shaper

        +
        +
        +
        +
        +

        shell

        +
        +

        script banner.php

        +

        Displays system information and network interface details.

        +

        This script prints the system hostname, domain, and version, followed by a list of assigned network interfaces with their IP addresses, classes, and other details.

        +
        +
        Arguments
          +
        • +
          versionstr
            +
          • The system version.

          • +
          +
          +
          +
        • +
        • +
          iflistarray
            +
          • A list of network interfaces.

          • +
          +
          +
          +
        • +
        • +
          ifdetailsarray
            +
          • A list of network interface details.

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +

        script defaults.php

        +

        Resets the firewall to factory defaults.

        +

        This script prompts the user to confirm whether they want to reset the firewall to factory defaults, and then calls the reset_factory_defaults() function if the user confirms.

        +
        +
        Arguments
          +
        • fp : resource

        • +
        +
        +
          +
        • A file pointer to the standard input stream.

        • +
        +
        +
          +
        • yes_no_prompt : string

        • +
        +
        +
          +
        • The prompt to display to the user.

        • +
        +
        +
        +
        Functions
          +
        • reset_factory_defaults() : Resets the firewall to factory defaults.

        • +
        +
        +
        +
        +
        +

        script firmware.sh

        +

        Thisscript performs firmware actions, such as fetching changelogs, running updates, and performing upgrades. +It checks if an update or upgrade is available and prompts the user to confirm whether to proceed. +If the user agrees, the update or upgrade is executed.

        +
        +
        Functions:
          +
        • run_action: Performs a firmware action and waits for user input.

        • +
        • Fetches changelogs and updates.

        • +
        • Checks if an upgrade is available.

        • +
        • Runs updates and upgrades.

        • +
        +
        +
        +
        +
        +

        script halt.php

        +

        This script halts the system and powers it off after the user confirms that they want to proceed.

        +

        This script uses the passthru() function to execute the system command ‘/usr/local/etc/rc.halt’. +The user must confirm that they want to proceed before the system is shut down.

        +
        +
        Functions
          +
        • require_once(string $filename) : void - Includes the specified file.

        • +
        • fopen(string $filename, string $mode) : resource - Opens a file or other file system.

        • +
        • fgets(resource $stream) : string - Reads a line from a file stream.

        • +
        • strcasecmp(string $str1, string $str2) : int - Compares two strings without considering case.

        • +
        • passthru(string $command) : void - Executes a system command and returns the output.

        • +
        • fclose(resource $stream) : bool - Closes a file stream.

        • +
        +
        +
        Variables
          +
        • fp : resource

        • +
        • A file stream opened to the standard input.

        • +
        +
        +
        +
        +
        +

        script password.php

        +

        A script to reset the root user account.

        +

        Parameters

        +
        +
          +
        • +
          $argv[2] and $argv[3]: Options for the script
            +
          • -h 0: Mocking “pw usermod root -h 0”

          • +
          • -x 0: Creates a new root user if none exists

          • +
          +
          +
          +
        • +
        • $fp : input stream

        • +
        +
        +
        +
        Functions
          +
        • getUserEntryByUID(int $uid): Returns the user entry for the given UID

        • +
        • local_user_set_password(array $user, string $password): Sets the password for the given user

        • +
        • local_user_set(array $user): Saves the user entry

        • +
        • write_config(string $message): Writes a message to the configuration

        • +
        +
        +
        Flow
          +
        • Checks if the options -h 0 or -x 0 were provided

        • +
        • If -h 0, sets the password for the root user

        • +
        • If -x 0, creates a new root user if none exists and sets the password

        • +
        • If no options were provided, asks if the user wants to restore the default authentication mode

        • +
        • If the user wants to restore the default authentication mode, sets the password for the root user

        • +
        +
        +
        +

        Outputs

        +
        +
          +
        • Messages for resetting the root user account

        • +
        • Error messages if the password is empty or does not match

        • +
        +
        +
        +
        +

        script ping.php

        +

        A script to ping a host name or IP address.

        +

        This script uses the fopen, fgets, escapeshellarg, passthru, and fclose functions to interact with the user and execute the ping command. +The script assumes that the [/sbin/ping](cci:7://file:///sbin/ping:0:0-0:0) command is available on the system.

        +

        Parameters

        +
        +
          +
        • $fp: The file pointer for standard input

        • +
        • $pinghost: The host name or IP address to ping

        • +
        +
        +
        +
        Functions
          +
        • fopen(string $filename, string $mode): Opens a file pointer

        • +
        • fgets(resource $fp): Reads a line from the file pointer

        • +
        • escapeshellarg(string $arg): Escapes a shell argument

        • +
        • passthru(string $command): Executes a shell command and displays the output

        • +
        • fclose(resource $fp): Closes a file pointer

        • +
        +
        +
        Flow
          +
        • Opens the standard input file pointer

        • +
        • Prompts the user to enter a host name or IP address

        • +
        • Reads the user input and stores it in the $pinghost variable

        • +
        • Pings the host name or IP address using the [/sbin/ping](cci:7://file:///sbin/ping:0:0-0:0) command with the -c 3 and -n options

        • +
        • Displays the output of the ping command

        • +
        • Prompts the user to press ENTER to continue

        • +
        • Reads the user input and closes the standard input file pointer

        • +
        +
        +
        +

        Outputs

        +
        +
          +
        • The output of the ping command

        • +
        +
        +
        +
        +

        script netboot.php

        +

        A script to reboot the system after confirmation.

        +

        This script uses the fopen, fgets, chop, strcasecmp, passthru, and fclose functions to interact with the user and execute the reboot command. +The script assumes that the /usr/local/etc/rc.reboot command is available on the system and will reboot the system.

        +

        Parameters

        +
        +
          +
        • $fp: The file pointer for standard input

        • +
        +
        +
        +
        Functions
          +
        • fopen(string $filename, string $mode): Opens a file pointer

        • +
        • fgets(resource $fp): Reads a line from the file pointer

        • +
        • chop(string $string): Removes trailing whitespace from a string

        • +
        • strcasecmp(string $str1, string $str2): Compares two strings in a case-insensitive manner

        • +
        • passthru(string $command): Executes a shell command and displays the output

        • +
        • fclose(resource $fp): Closes a file pointer

        • +
        +
        +
        Flow
          +
        • Opens the standard input file pointer

        • +
        • Prompts the user to confirm the reboot

        • +
        • Reads the user input and checks if it matches ‘y’ (case-insensitive)

        • +
        • If confirmed, executes the /usr/local/etc/rc.reboot command to reboot the system

        • +
        • Closes the standard input file pointer

        • +
        +
        +
        +

        Outputs

        +
        +
          +
        • The output of the reboot command (if executed)

        • +
        +
        +
        +
        +

        script restore.sh

        +

        Restores a backup of the OPNsense configuration.

        +

        It lists all available backups, allows the user to select one, and then restores it. +Thescript also offers the option to reboot the system to apply the backup cleanly.

        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (cd, find, date, sort, head, echo, read, cp, rc.reboot, rc.reload_all) are available.

        • +
        • Thescript uses the /conf/backup directory to store the backups.

        • +
        +
        +
        +
        +
          +
        • +
        +
        +

        script script setaddr.php

        +

        This script is used to configure IP addresses and gateways for network interfaces.

        +
        +
        Params
          +
        • +
          argsv[0]str
            +
          • The name of the network interface to configure.

          • +
          +
          +
          +
        • +
        • +
          $fp - input stream
            +
          • $fp = fopen(‘php://stdin’, ‘r’);

          • +
          +
          +
          +
        • +
        +
        +
        Arguments
          +
        • intip : str - The new IPv4 address for the interface.

        • +
        • intbits : int - The subnet bit count for the IPv4 address.

        • +
        • gwname : str - The name of the gateway for the interface.

        • +
        • nameserver : str - The name server for the interface.

        • +
        • intip6 : str - The new IPv6 address for the interface.

        • +
        • intbits6 : int - The subnet bit count for the IPv6 address.

        • +
        • gwname6 : str - The name of the gateway for the IPv6 interface.

        • +
        • nameserver6 : str - The name server for the IPv6 interface.

        • +
        +
        +

        The script does not return any value.

        +
        +
        +
        +
        +
        +

        script setports.php

        +

        This script configures the networking interfaces and ports for the system.

        +

        The script stops local servers to prevent faulty leases and then configures the interfaces, routing, DHCP, and VPN settings.

        +
        +
        Returns
          +
        • bool

        • +
        +
        +
          +
        • true if the configuration was successful, false otherwise

        • +
        +
        +
        +
        This script requires the following files to be included:
          +
        • config.inc

        • +
        • console.inc

        • +
        • filter.inc

        • +
        • util.inc

        • +
        • system.inc

        • +
        • interfaces.inc

        • +
        +
        +
        +
        +
        +
        +
        +
        +

        suricata

        +
        +

        script listRuleMetadata.py

        +

        Parameters

        +
          +
        • +
          modestr
            +
          • Description: fetch mode

          • +
          • options : [’–mode’]

          • +
          • default : properties

          • +
          • choices : [‘properties’, ‘rules’]

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script suricata_setup.sh

        +

        Sets up the Suricata directories and configuration files.

        +

        It creates the necessary directories, sets the ownership and permissions, and creates a placeholder file if necessary.

        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (mkdir, chown, chmod, touch) are available.

        • +
        • Thescript uses the /var/log/suricata directory for Suricata logs.

        • +
        • Thescript creates the /usr/local/etc/suricata/installed_rules.yaml file if it does not exist.

        • +
        +
        +
        +
        +
        +
        +
        +
        +

        syslog

        +
        +

        script clearlog.php

        +

        Clears log files for a specific module or service.

        +

        This script removes log files for a specified module or service, and restarts the system syslog service.

        +
        +
        Params - argsvarray
          +
          • +
          • -h : Show help text and exit.

          • +
          +
        • +
          • +
          • -m : Specify the module name.

          • +
          +
        • +
          • +
          • -f : Specify the log file name.

          • +
          +
        • +
        +
        +
        Arguments
          +
        • opts : array

        • +
        +
        +
          +
        • An array of command-line options.

        • +
        +
        +
          +
        • mname : string

        • +
        +
        +
          +
        • The name of the module or service.

        • +
        +
        +
          +
        • fname : string

        • +
        +
        +
          +
        • The name of the log file.

        • +
        +
        +
          +
        • basename : string

        • +
        +
        +
          +
        • The base path of the log file.

        • +
        +
        +
        +
        +
        +
        +

        script list_applications.php

        +

        Retrieves a list of syslog facilities and their corresponding plugin names.

        +
        +
        Returns
          +
        • string

        • +
        +
        +
          +
        • A JSON-encoded array containing syslog facilities as keys and plugin names as values.

        • +
        +
        +
        +
        +
        +
        +

        script queryLog.py

        +

        Parameters

        +
          +
        • +
          outputstr
            +
          • Description: output type [json/text]

          • +
          • options : [’–output’]

          • +
          • default : json

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          filterstr
            +
          • Description: filter results

          • +
          • options : [’–filter’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          limitstr
            +
          • Description: limit number of results

          • +
          • options : [’–limit’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          offsetstr
            +
          • Description: begin at row number

          • +
          • options : [’–offset’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          filenamestr
            +
          • Description: log file name (excluding .log extension)

          • +
          • options : [’–filename’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          modulestr
            +
          • Description: module

          • +
          • options : [’–module’]

          • +
          • default : core

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          severitystr
            +
          • Description: comma separated list of severities

          • +
          • options : [’–severity’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          valid_fromstr
            +
          • Description: oldest data to search for (epoch)

          • +
          • options : [’–valid_from’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script streamLog.py

        +

        Parameters

        +
          +
        • +
          filterstr
            +
          • Description: filter results

          • +
          • options : [’–filter’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          offsetstr
            +
          • Description: include last N matching lines

          • +
          • options : [’–offset’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          filenamestr
            +
          • Description: log file name (excluding .log extension)

          • +
          • options : [’–filename’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          modulestr
            +
          • Description: module

          • +
          • options : [’–module’]

          • +
          • default : core

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          severitystr
            +
          • Description: comma separated list of severities

          • +
          • options : [’–severity’]

          • +
          • default :

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +
        +
        +
        +

        system

        +
        +

        script cpu.py

        +

        Parameters

        +
          +
        • +
          intervalstr
            +
          • Description: poll interval

          • +
          • options : [’–interval’]

          • +
          • default : 1

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script nameservers.php

        +

        Retrieves a list of nameservers.

        +
        +
        Arguments
          +
          • +
          • argv[1] : bool

          • +
          +
        • +
          • +
          • Optional argument to specify whether to include additional information (default: false)

          • +
          +
        • +
        +
        +
        Returns
          +
        • string

        • +
        +
        +
          +
          • +
          • A JSON-encoded array containing the list of nameservers.

          • +
          +
        • +
        +
        +
        +
        +
        +
        +

        script remote_backup.php

        +

        This script uses the BackupFactory class to manage backup providers.

        +

        The script assumes that the backup providers are configured correctly and that the necessary dependencies are . +This script is designed to be run remotely and can be used to perform backups at random intervals.

        +
        +
        Arguments
          +
        • $random_delay (optional): A random delay in seconds to add before starting the backup

        • +
        +
        +
        Functions
          +
        • BackupFactory::listProviders(): Returns a list of backup providers

        • +
        • BackupProvider::isEnabled(): Checks if a backup provider is enabled

        • +
        • BackupProvider::backup(): Performs a backup using a provider

        • +
        +
        +
        Flow
          +
        • Adds a random delay in seconds before starting the backup (if specified)

        • +
        • Creates a BackupFactory instance

        • +
        • Iterates over the list of backup providers

        • +
        • Checks if each provider is enabled and performs a backup if it is

        • +
        +
        +
        +
        +
        +

        script ssl_ciphers.py

        +

        Parameters

        +
          +
        • +
          formatstr
            +
          • Description: format

          • +
          • options : [’–format’]

          • +
          • default : full

          • +
          • choices : [‘full’, ‘key_value’]

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          filterstr
            +
          • Description: filter version

          • +
          • options : [’–filter’]

          • +
          • choices : [‘TLSv1.3’, ‘pre-TLSv1.3’, ‘’]

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script status.php

        +

        This script uses the OPNsenseSystemSystemStatus class to retrieve the system status.

        +

        If an action is specified (dismiss), the script will dismiss the corresponding status. +If no action is specified, the script will display the system status in JSON format.

        +
        +
        Params
          +
        • argsv[0] : str

        • +
        +
        +
          +
        • The action to perform on the system status (dismiss).

        • +
        +
        +
        +
        Returns
          +
        • string

        • +
        +
        +
          +
        • The system status in JSON format if no action is specified.

        • +
        +
        +
        +
        +
        +
        +

        script sysctl.py

        +

        Parameters

        +
          +
        • +
          valuesstr
            +
          • Description: comma-separated list of sysctl values to fetch

          • +
          • options : [’–values’]

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script temperature.sh

        +

        Displays the temperature readings from the system.

        +

        It uses the sysctl command to retrieve the temperature-related sysctls and then sorts the output.

        +
        +
        Notes
          +
        • Thisscript assumes that the necessary command (sysctl) is available.

        • +
        • Thescript only displays temperature readings if they are available on the system.

        • +
        +
        +
        +
        +
        +
        +
        +
        +

        unbound

        +
        +

        script cache.sh

        +

        Executes the main functionality of the program.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • Path to the configuration file.

          • +
          +
          +
          +
        • +
        +
        +
        +

        Arguments

        +
        +
          +
        • +
          verbosebool

          Enable verbose mode for detailed output. +default= False

          +
          +
          +
        • +
        • +
          debugbool

          Enable debug mode for troubleshooting. +default= False

          +
          +
          +
        • +
        +
        +

        Returns

        +
          +
        • +
          int

          Exit status of thescript (0 for success, non-zero for failure)

          +
          +
          +
        • +
        +
        +
        +

        script logger.py

        +

        Parameters

        +
          +
        • +
          pipestr
            +
          • Description: named pipe file location

          • +
          • options : [’–pipe’]

          • +
          • default : /var/unbound/data/dns_logger

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          targetdbstr
            +
          • Description: duckdb filename

          • +
          • options : [’–targetdb’]

          • +
          • default : /var/unbound/data/unbound.duckdb

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          backup_dirstr
            +
          • Description: backup directory

          • +
          • options : [’–backup_dir’]

          • +
          • default : /var/cache/unbound.duckdb

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          flush_intervalstr
            +
          • Description: interval to flush to db

          • +
          • options : [’–flush_interval’]

          • +
          • default : 10

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script restore_db.py

        +

        Parameters

        +
          +
        • +
          backup_dirstr
            +
          • Description: backup directory

          • +
          • options : [’–backup_dir’]

          • +
          • default : /var/cache/unbound.duckdb

          • +
          • required : False

          • +
          +
          +
          +
        • +
        • +
          targetdbstr
            +
          • Description: duckdb filename

          • +
          • options : [’–targetdb’]

          • +
          • default : /var/unbound/data/unbound.duckdb

          • +
          • required : False

          • +
          +
          +
          +
        • +
        +
        +
        +

        script start.sh

        +

        Starts the Unbound DNS resolver and configures it for use with OPNsense.

        +

        It removes any existing configuration files, checks for the presence of the root.key file, and runs unbound-anchor if necessary. +Thescript then copies configuration files from /usr/local/etc/unbound.opnsense.d to /var/unbound/etc and sets the ownership of the files to the unbound user. +Finally, thescript starts the Unbound service and loads the DNS cache.

        +
        +
        Params
          +
        • +
          ${1}str
            +
          • DOMAIN: The domain name to use for DHCP and DNS configuration.

          • +
          +
          +
          +
        • +
        +
        +
        Notes
          +
        • Thisscript assumes that the necessary commands (unbound, unbound-anchor, unbound-control-setup, chown, daemon) are available.

        • +
        • Thescript uses the /usr/local/opnsense/scripts/unbound directory for Unbound-relatedscripts and configuration files.

        • +
        +
        +
        +
        +
        +

        script stats.py

        +

        Parameters

        +

        None

        +
        +
        +

        script wrapper.py

        +

        Parameters

        +

        None

        +
        +
        +
        +
        +
        +

        Wireguard

        +
        + + +
        +
        + +
        +
        +
        +
        + + + + \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.commands.commands.html b/.docs/_build/html/opnsense_helper/opnsense_helper.commands.commands.html deleted file mode 100644 index 5e29ea9..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.commands.commands.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - opnsense_helper.commands.commands — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.commands.commands

        -

        Classes

        - - - - - - - - - - - - - - - -

        Commands(base)

        class Commands

        configctl(base)

        class configctl - -:2: (WARNING/2) Title underline too short. - -class configctl -----------

        pluginctl(base)

        class pluginctl

        reconfigure(base)

        class reconfigure - -:2: (WARNING/2) Title underline too short. - -class reconfigure -----------------

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.commands.html b/.docs/_build/html/opnsense_helper/opnsense_helper.commands.html deleted file mode 100644 index 53ddc44..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.commands.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - opnsense_helper.commands — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.commands

        -

        Modules

        - - - - - - -

        commands

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.config_manager.config_manager.html b/.docs/_build/html/opnsense_helper/opnsense_helper.config_manager.config_manager.html deleted file mode 100644 index b1f973d..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.config_manager.config_manager.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - opnsense_helper.config_manager.config_manager — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.config_manager.config_manager

        -

        Classes

        - - - - - - - - - - - - - - - -

        Config_Manager(base, init)

        Creates a Config_Manager object

        Dhcpd([id, enable, range, ddnsdomainalgorithm])

        class Dhcpd - -:2: (WARNING/2) Title underline too short. - -class Dhcpd -----------

        Interface([id, descr, interface, enable, ...])

        class Interface - -:2: (WARNING/2) Title underline too short. - -class Interface ---------------

        Vlan([id, parentinterface, tag, vlanif, ...])

        class Vlan

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.config_manager.html b/.docs/_build/html/opnsense_helper/opnsense_helper.config_manager.html deleted file mode 100644 index 97f96b3..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.config_manager.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - opnsense_helper.config_manager — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.config_manager

        -

        Modules

        - - - - - - -

        config_manager

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.html b/.docs/_build/html/opnsense_helper/opnsense_helper.html deleted file mode 100644 index 58ffc3b..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - opnsense_helper — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper

        -

        Modules

        - - - - - - - - - - - - - - - - - - -

        commands

        config_manager

        opnsense_helper

        scripts

        utils

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.opnsense_helper.html b/.docs/_build/html/opnsense_helper/opnsense_helper.opnsense_helper.html deleted file mode 100644 index f818bec..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.opnsense_helper.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - opnsense_helper.opnsense_helper — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.opnsense_helper

        -

        Classes

        - - - - - - -

        Opnsense_Helper([host, ssh_auth, api_auth, ...])

        class Opnsense_Helper - -:2: (WARNING/2) Title underline too short. - -class Opnsense_Helper ------------

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.scripts.html b/.docs/_build/html/opnsense_helper/opnsense_helper.scripts.html deleted file mode 100644 index da0b66e..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.scripts.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - opnsense_helper.scripts — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.scripts

        -

        Modules

        - - - - - - -

        scripts

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.scripts.scripts.html b/.docs/_build/html/opnsense_helper/opnsense_helper.scripts.scripts.html deleted file mode 100644 index 81a5b45..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.scripts.scripts.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - opnsense_helper.scripts.scripts — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.scripts.scripts

        -

        Classes

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        Scripts(base)

        class Scripts - -:2: (WARNING/2) Title underline too short. - -class Scripts -------------

        Wireguard(base)

        class Wireguard - -:2: (WARNING/2) Title underline too short. - -class Wireguard -------

        auth(base)

        class auth - -:2: (WARNING/2) Title underline too short. - -class auth -------

        dhcp(base)

        class dhcp - -:2: (WARNING/2) Title underline too short. - -class dhcp -........

        dns(base)

        class dns - -:2: (WARNING/2) Title underline too short. - -class dns -........

        filter(base)

        class filter - -Initializes the filter class, inheriting from Exec_Class.

        firmware(base)

        clas firmware

        health(base)

        class heatlh

        interfaces(base)

        class interfaces

        ipsec(base)

        class ipsec

        netflow(base)

        class netflow

        openssh(base)

        class openssh

        openvpn(base)

        class openvpn - -:2: (WARNING/2) Title underline too short. - -class openvpn -------------

        routes(base)

        class routes

        shaper(base)

        class Shaper

        shell(base)

        class Shell - -:2: (WARNING/2) Title underline too short. - -class Shell -..........

        suricata(base)

        class suricata - -:2: (WARNING/2) Title underline too short. - -class suricata --------------

        syslog(base)

        class syslog - -:2: (WARNING/2) Title underline too short. - -class syslog -----------

        system(base)

        class system - -:2: (WARNING/2) Title underline too short. - -class system -----------

        unbound(base)

        class unbound - -:2: (WARNING/2) Title underline too short. - -class unbound -----------

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.baseclass.html b/.docs/_build/html/opnsense_helper/opnsense_helper.utils.baseclass.html deleted file mode 100644 index 7aa4309..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.baseclass.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - opnsense_helper.utils.baseclass — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.utils.baseclass

        -

        Classes

        - - - - - - -

        Base_Class([host, ssh_auth, api_auth, ...])

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.exec_class.html b/.docs/_build/html/opnsense_helper/opnsense_helper.utils.exec_class.html deleted file mode 100644 index 275d1e2..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.exec_class.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - opnsense_helper.utils.exec_class — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.utils.exec_class

        -

        Classes

        - - - - - - -

        Exec_Class(base)

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.frontend_utils.html b/.docs/_build/html/opnsense_helper/opnsense_helper.utils.frontend_utils.html deleted file mode 100644 index 874f503..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.frontend_utils.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - opnsense_helper.utils.frontend_utils — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.utils.frontend_utils

        -

        Functions

        - - - - - - - - - - - - - - - - - - - - - -

        api_get(helper, command[, params])

        api_post(helper, command, Data)

        get_backup(helper[, output])

        this function is currently deprecated it was used to get the config file using the api i left it in however if someone wants to fetch a certain backup i need to implement the backup selection though

        get_vlans(helper)

        ping(helper)

        vlans_api(helper, vlans[, command])

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.html b/.docs/_build/html/opnsense_helper/opnsense_helper.utils.html deleted file mode 100644 index 0372b82..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - opnsense_helper.utils — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.utils

        -

        Modules

        - - - - - - - - - - - - - - - -

        baseclass

        exec_class

        frontend_utils

        utils

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.utils.html b/.docs/_build/html/opnsense_helper/opnsense_helper.utils.utils.html deleted file mode 100644 index f4c2651..0000000 --- a/.docs/_build/html/opnsense_helper/opnsense_helper.utils.utils.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - opnsense_helper.utils.utils — opnsense_helper 0.1.20 documentation - - - - - - - - - - - - - - - -
        - - -
        - -
        -
        -
        - -
        -
        -
        -
        - -
        -

        opnsense_helper.utils.utils

        -

        Functions

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        exec(helper, obj)

        format_flags(flags_array)

        get_child(root, element, id, keys)

        get_element(root, id, obj)

        parseChild(child, tag)

        ping(helper)

        recoursion(e, value)

        replace(item)

        update_xml_file(objects, root, type)

        -
        - - -
        -
        - -
        -
        -
        -
        - - - - \ No newline at end of file diff --git a/.docs/_build/html/py-modindex.html b/.docs/_build/html/py-modindex.html index bd7fa12..597f8f5 100644 --- a/.docs/_build/html/py-modindex.html +++ b/.docs/_build/html/py-modindex.html @@ -55,6 +55,30 @@
      • coonfig_manager
      • commands
      • scripts
      • +

      +

      opnsense-scripts-autodocs

      + @@ -84,7 +108,8 @@

      Python Module Index

      - o + o | + p
      @@ -95,67 +120,496 @@

      Python Module Index

      - + + + + + + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      - opnsense_helper + opnsense_helper
          - opnsense_helper.commands + opnsense_helper.commands.commands
          - opnsense_helper.commands.commands + opnsense_helper.config_manager.config_manager
          - opnsense_helper.config_manager + opnsense_helper.scripts.scripts
       
      + p
      + python +
          - opnsense_helper.config_manager.config_manager + python.autodocs.auth.add_user
          - opnsense_helper.opnsense_helper + python.autodocs.auth.list_group_members
          - opnsense_helper.scripts + python.autodocs.dhcp.cleanup_leases4
          - opnsense_helper.scripts.scripts + python.autodocs.dhcp.cleanup_leases6
          - opnsense_helper.utils + python.autodocs.dhcp.dnsmasq_watcher
          - opnsense_helper.utils.baseclass + python.autodocs.dhcp.get_kea_leases
          - opnsense_helper.utils.exec_class + python.autodocs.dhcp.prefixes
          - opnsense_helper.utils.frontend_utils + python.autodocs.dns.query_dns
          + python.autodocs.filter.kill_states +
          + python.autodocs.filter.list_states +
          + python.autodocs.filter.rollback_cancel +
          + python.autodocs.filter.rollback_timer +
          + python.autodocs.filter.update_bogons +
          + python.autodocs.firmware.changelog +
          + python.autodocs.firmware.config +
          + python.autodocs.firmware.connection +
          + python.autodocs.firmware.details +
          + python.autodocs.firmware.health +
          + python.autodocs.firmware.hostnames +
          + python.autodocs.firmware.install +
          + python.autodocs.firmware.latest +
          + python.autodocs.firmware.launcher +
          + python.autodocs.firmware.license +
          + python.autodocs.firmware.lock +
          + python.autodocs.firmware.plugin +
          + python.autodocs.firmware.product +
          + python.autodocs.firmware.query +
          + python.autodocs.firmware.read +
          + python.autodocs.firmware.reboot +
          + python.autodocs.firmware.register +
          + python.autodocs.firmware.reinstall +
          + python.autodocs.firmware.remove +
          + python.autodocs.firmware.resync +
          + python.autodocs.firmware.running +
          + python.autodocs.firmware.security +
          + python.autodocs.firmware.sync +
          + python.autodocs.firmware.unlock +
          + python.autodocs.firmware.update +
          + python.autodocs.firmware.upgrade +
          + python.autodocs.health.updaterrd +
          + python.autodocs.interfaces.carp_global_status +
          + python.autodocs.interfaces.carp_set_status +
          + python.autodocs.interfaces.ifctl +
          + python.autodocs.interfaces.reconfigure_gifs +
          + python.autodocs.interfaces.reconfigure_gres +
          + python.autodocs.interfaces.reconfigure_laggs +
          + python.autodocs.interfaces.reconfigure_neighbors +
          + python.autodocs.interfaces.reconfigure_vips +
          + python.autodocs.interfaces.reconfigure_vlans +
          + python.autodocs.interfaces.rtsold_resolvconf +
          + python.autodocs.interfaces.traffic_stats +
          + python.autodocs.ipsec.get_legacy_vti +
          + python.autodocs.netflow.flush_all +
          + python.autodocs.openvpn.client_connect +
          + python.autodocs.openvpn.client_disconnect +
          + python.autodocs.openvpn.ovpn_service_control +
          + python.autodocs.openvpn.tls_verify +
          + python.autodocs.openvpn.user_pass_verify +
          + python.autodocs.repos.FreeBSD +
          + python.autodocs.repos.OPNsense +
          + python.autodocs.routes.del_route +
          + python.autodocs.routes.gateway_status +
          + python.autodocs.routes.gateway_watcher +
          + python.autodocs.routes.gateways +
          + python.autodocs.shell.banner +
          + python.autodocs.shell.defaults +
          + python.autodocs.shell.firmware +
          + python.autodocs.shell.halt +
          + python.autodocs.shell.password +
          + python.autodocs.shell.ping +
          + python.autodocs.shell.reboot +
          + python.autodocs.shell.restore +
          + python.autodocs.shell.setaddr +
          + python.autodocs.shell.setports +
          + python.autodocs.suricata.listRuleMetadata +
          + python.autodocs.suricata.setup +
          + python.autodocs.syslog.clearlog +
          + python.autodocs.syslog.list_applications +
          + python.autodocs.syslog.queryLog +
          + python.autodocs.syslog.streamLog +
          + python.autodocs.system.cpu +
          + python.autodocs.system.nameservers +
          + python.autodocs.system.remote_backup +
          + python.autodocs.system.ssl_ciphers +
          + python.autodocs.system.status +
          + python.autodocs.system.sysctl +
          + python.autodocs.system.temperature +
          + python.autodocs.unbound.cache +
          + python.autodocs.unbound.logger +
          + python.autodocs.unbound.restore_db +
          + python.autodocs.unbound.start +
          + python.autodocs.unbound.stats +
          - opnsense_helper.utils.utils + python.autodocs.unbound.wrapper
      diff --git a/.docs/_build/html/python_package.html b/.docs/_build/html/python_package.html index 2c51e6b..bb2a1ca 100644 --- a/.docs/_build/html/python_package.html +++ b/.docs/_build/html/python_package.html @@ -19,6 +19,7 @@ + @@ -54,32 +55,7 @@
    • Opnsense_Helper
  • -
  • coonfig_manager +

    opnsense-scripts-autodocs

    + @@ -223,346 +223,8 @@

    class Opnsense_Helpercoonfig_manager

    Config_Manager class lets you assign configurations, by passing arrays of the corresponding Instances. Config_Manager will parse those objects to xml and automatically reconfigure your devices.

    -
    -
    -class opnsense_helper.config_manager.config_manager.Config_Manager(base, init)
    -

    Bases: object

    -

    Creates a Config_Manager object

    -
    -
    -close_con()
    -
    - -
    -
    -get_all(element)
    -

    Get all objects of a given type from the in-memory xml data.

    -

    This method returns a dictionary containing all objects of this type. The dictionary keys are the tags -of the elements, and the values are dictionaries containing the -attributes and subelements of the elements.

    -

    Parameters

    -
      -
    • -
      elementstr

      The type of the objects to retrieve. Can be “dhcpd”, “interfaces”, -or “vlans”.

      -
      -
      -
    • -
    -

    Returns

    -
      -
    • -
      dict

      A dictionary containing all objects of the given type.

      -
      -
      -
    • -
    -
    - -
    -
    -get_conf(_from=None, _to=None)
    -

    Get the config file from the remote host and save it to a file.

    -

    Parameters

    -
    -
    _fromstr

    The path to the file on the remote host.

    -
    -
    _tostr

    The path to the file on the local host. If None, the file is saved -to the location specified in self.temp_path.

    -
    -
    -
    - -
    -
    -get_dif()
    -
    - -
    -
    -get_item(type, item)
    -

    Retrieve a specific item from the in-memory XML data.

    -

    This method retrieves an item of a specified type from the in-memory XML data, removes its ‘attr’ attribute, -and returns the remaining attributes of the item.

    -

    Parameters

    -
      -
    • -
      typestr

      The type of the item to retrieve. Can be “dhcpd”, “interfaces”, or “vlans”.

      -
      -
      -
    • -
    • -
      itemstr

      The tag of the item to retrieve.

      -
      -
      -
    • -
    -

    Returns

    -
      -
    • -
      dict

      A dictionary containing the remaining attributes of the item after removing the ‘attr’ attribute. -If the item is not found, prints a message and returns None.

      -
      -
      -
    • -
    -
    - -
    -
    -initialize()
    -

    Initialize the configuration.

    -

    This method reads the configuration from the in-memory configuration. -The configuration is read from the -remote host via the SSH protocol or the opnsense API. -Either run get_backup() or get_conf() before calling this method. -This method is not called automatically when the class is instantiated, so you need to get the conf file before and then call this method.

    -
    - -
    -
    -put_file(_from=None, _to=None)
    -

    Apply the configuration. -Transfer a file from the local host to the remote host.

    -

    Parameters

    -
      -
    • -
      _fromstr

      The path to the file on the local host. -default: self.temp_path

      -
      -
      -
    • -
    • -
      _tostr

      The destination path on the remote host where the file should be stored. -default: self.conf_path

      -
      -
      -
    • -
    -
    - -
    -
    -remove_items(type, items, init=True, apply=True)
    -
    - -
    -
    -save(output, put=True)
    -

    Save the current configuration to a file.

    -

    This method takes the current in-memory configuration and saves it to a -file specified by the output parameter. The file is written in XML -format.

    -

    Parameters

    -
      -
    • -
      outputstr

      The path to the file to which the configuration should be written. -default: self.temp_path

      -
      -
      -
    • -
    • -
      put: bool

      Automatically copies the configuration to the firewall

      -
      -
      -
    • -
    -
    - -
    -
    -set(type, data)
    -

    Set objects of a given type to the in-memory xml data.

    -

    This method adds all objects given in the data parameter to the in-memory -xml data. The objects are stored in the self.objects dictionary.

    -

    Parameters

    -
      -
    • -
      typestr

      The type of the objects to add. Can be “dhcpd”, “interfaces”, -or “vlans”.

      -
      -
      -
    • -
    • -
      datadict

      A dictionary containing the objects to add. The keys are the tags of -the elements, and the values are dictionaries containing the -attributes and subelements of the elements.

      -
      -
      -
    • -
    -

    Returns

    -

    None

    -
    - -
    - -
    -
    -class opnsense_helper.config_manager.config_manager.Dhcpd(id=None, enable=None, range=None, ddnsdomainalgorithm='hmac-md')
    -

    Bases: object

    -
    -

    class Dhcpd

    -

    Creates a dhcp object

    -

    Usage

    -
    -
    from opnsense_helper.config_manager.config_manager import Dhcpd
    -dhcpd=Dhcpd(id="vlan", enable="1", range={"_from":"237.84.2.178","_to":"244.178.44.111"})
    -
    -
    -
    -
    -
    -

    Req params

    -
    -
    idstr

    the id of the object and identifier of the corresponding interface

    -
    -
    enablestr

    “1” or “0”

    -
    -
    range: dict{_from:str,_to:str}

    the range of ip addresses

    -
    -
    -
    -
    -

    Defaults

    -
    -
    ddnsdomainalgorithmstr

    Domain Generation Algorithm - default = “hmac-md”

    -
    -
    -
    -
    -initialize(parent)
    -

    This method parses the xml parent and updates the class attributes

    -
    - -
    -
    - -
    -
    -class opnsense_helper.config_manager.config_manager.Interface(id=None, descr=None, interface=None, enable=None, ipaddr=None, subnet='32', spoofmac=None)
    -

    Bases: object

    -
    -

    class Interface

    -

    Creates a Interface object -The ID is the technical identifier. -This is required and you need to find out which “opt” to use, -because rn there is no function that provides that. -The interface key in the xml are the identifiers, in this case the class id`s. -Im not sure if they have a certain naming convention

    -

    Usage

    -
    -
    from opnsense_helper.config_manager.config_manager import Interface
    -interface=Interface(id="vlan", descr="vlan", interface="vlan", enable="1", ipaddr="38.0.101.76", subnet="32", spoofmac="00:00:00:00:00:00")
    -
    -
    -
    -

    Required Args

    -
      -
    • -
      idstr

      the technical identifier

      -
      -
      -
    • -
    • -
      interfacestr

      target interface

      -
      -
      -
    • -
    • -
      enablestr

      1, or 0 for disable or disable

      -
      -
      -
    • -
    • -
      descrstr

      description, or name

      -
      -
      -
    • -
    -

    Defaults

    -
      -
    • -
      subnetstr

      CIDR notation, default=”32”

      -
      -
      -
    • -
    • -
      ipaddrstr

      the ipv4 address, default=None

      -
      -
      -
    • -
    • -
      spoofmac: str

      the spoofed mac, default=None

      -
      -
      -
    • -
    -
    -
    -initialize(parent)
    -

    This method parses the xml parent and updates the class attributes. -It is used in the config_manager to initialize the class with the data from the xml. -The parent element of the xml tree is passed as an argument.

    -
    - -
    -
    - -
    -
    -class opnsense_helper.config_manager.config_manager.Vlan(id=None, parentinterface=None, tag=None, vlanif=None, pcp='0', descr=None)
    -

    Bases: object

    -
    -

    class Vlan

    -

    Creates a vlan object -Usage

    -
    -
    from opnsense_helper.config_manager.config_manager import Vlan
    -vlan=Vlan(id="vlan", tag="1", pcp="1", descr="vlan", vlanif="vlan0.1")
    -
    +
    -
    -

    Required Args

    -
      -
    • -
      id: str

      the identifier needed for storage, since the technical identifier is always the same (“vlan”)

      -
      -
      -
    • -
    • -
      tag: str

      the tag of the vlan

      -
      -
      -
    • -
    -

    Defaults

    -
      -
    • -
      pcp: str

      the priority code point, default = 0

      -
      -
      -
    • -
    • -
      descr: str

      the description, default = $id

      -
      -
      -
    • -
    • -
      vlanif: str

      the interface, default = “vlan0.”+tag

      -
      -
      -
    • -
    -
    -
    -initialize(parent)
    -

    This method parses the xml parent and updates the class attributes.

    -
    - -
    -
    -

    commands

    @@ -1669,6 +1331,7 @@

    class unbound +
    diff --git a/.docs/_build/html/search.html b/.docs/_build/html/search.html index 0aaa2b9..b52bfd2 100644 --- a/.docs/_build/html/search.html +++ b/.docs/_build/html/search.html @@ -55,6 +55,30 @@
  • coonfig_manager
  • commands
  • scripts
  • + +

    opnsense-scripts-autodocs

    + diff --git a/.docs/_build/html/searchindex.js b/.docs/_build/html/searchindex.js index 3ae9bb4..726edd1 100644 --- a/.docs/_build/html/searchindex.js +++ b/.docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"About:": [[1, null]], "Defaults": [[15, "defaults"]], "Example": [[0, "example"]], "Frontend Api": [[0, "frontend-api"]], "Opnsense-Helper": [[1, null], [15, null]], "Python API-Dokumentation": [[1, null]], "Req params": [[15, "req-params"]], "Result": [[0, "result"]], "about opnsense-helper": [[0, null]], "assign the config": [[0, "assign-the-config"]], "clas firmware": [[15, "clas-firmware"]], "class auth": [[15, "class-auth"]], "class Commands": [[15, "class-commands"]], "class Dhcpd": [[15, "class-dhcpd"]], "class Interface": [[15, "class-interface"]], "class Opnsense_Helper": [[15, "class-opnsense-helper"]], "class Scripts": [[15, "class-scripts"]], "class Shaper": [[15, "class-shaper"]], "class Shell": [[15, "class-shell"]], "class Vlan": [[15, "class-vlan"]], "class Wireguard": [[15, "class-wireguard"]], "class configctl": [[15, "class-configctl"]], "class dhcp": [[15, "class-dhcp"]], "class dns": [[15, "class-dns"]], "class filter": [[15, "class-filter"]], "class heatlh": [[15, "class-heatlh"]], "class interfaces": [[15, "class-interfaces"]], "class ipsec": [[15, "class-ipsec"]], "class netflow": [[15, "class-netflow"]], "class openssh": [[15, "class-openssh"]], "class openvpn": [[15, "class-openvpn"]], "class pluginctl": [[15, "class-pluginctl"]], "class reconfigure": [[15, "class-reconfigure"]], "class routes": [[15, "class-routes"]], "class suricata": [[15, "class-suricata"]], "class syslog": [[15, "class-syslog"]], "class system": [[15, "class-system"]], "class unbound": [[15, "class-unbound"]], "commands": [[15, "commands"]], "config_manager": [[0, "config-manager"]], "config_manager manual usage": [[0, "config-manager-manual-usage"]], "contribute": [[0, "contribute"]], "coonfig_manager": [[15, "coonfig-manager"]], "create the module objects": [[0, "create-the-module-objects"]], "install": [[0, "install"]], "motivation": [[0, "motivation"]], "opnsense_helper": [[2, null]], "opnsense_helper.commands": [[3, null]], "opnsense_helper.commands.commands": [[4, null]], "opnsense_helper.config_manager": [[5, null]], "opnsense_helper.config_manager.config_manager": [[6, null]], "opnsense_helper.opnsense_helper": [[7, null]], "opnsense_helper.scripts": [[8, null]], "opnsense_helper.scripts.scripts": [[9, null]], "opnsense_helper.utils": [[10, null]], "opnsense_helper.utils.baseclass": [[11, null]], "opnsense_helper.utils.exec_class": [[12, null]], "opnsense_helper.utils.frontend_utils": [[13, null]], "opnsense_helper.utils.utils": [[14, null]], "pip": [[0, "pip"]], "required variables": [[0, "required-variables"]], "scripts": [[15, "scripts"]], "scripts and commands": [[0, "scripts-and-commands"]], "usage": [[0, "usage"]]}, "docnames": ["README", "index", "opnsense_helper/opnsense_helper", "opnsense_helper/opnsense_helper.commands", "opnsense_helper/opnsense_helper.commands.commands", "opnsense_helper/opnsense_helper.config_manager", "opnsense_helper/opnsense_helper.config_manager.config_manager", "opnsense_helper/opnsense_helper.opnsense_helper", "opnsense_helper/opnsense_helper.scripts", "opnsense_helper/opnsense_helper.scripts.scripts", "opnsense_helper/opnsense_helper.utils", "opnsense_helper/opnsense_helper.utils.baseclass", "opnsense_helper/opnsense_helper.utils.exec_class", "opnsense_helper/opnsense_helper.utils.frontend_utils", "opnsense_helper/opnsense_helper.utils.utils", "python_package"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["README.md", "index.rst", "opnsense_helper/opnsense_helper.rst", "opnsense_helper/opnsense_helper.commands.rst", "opnsense_helper/opnsense_helper.commands.commands.rst", "opnsense_helper/opnsense_helper.config_manager.rst", "opnsense_helper/opnsense_helper.config_manager.config_manager.rst", "opnsense_helper/opnsense_helper.opnsense_helper.rst", "opnsense_helper/opnsense_helper.scripts.rst", "opnsense_helper/opnsense_helper.scripts.scripts.rst", "opnsense_helper/opnsense_helper.utils.rst", "opnsense_helper/opnsense_helper.utils.baseclass.rst", "opnsense_helper/opnsense_helper.utils.exec_class.rst", "opnsense_helper/opnsense_helper.utils.frontend_utils.rst", "opnsense_helper/opnsense_helper.utils.utils.rst", "python_package.rst"], "indexentries": {}, "objects": {"": [[2, 0, 0, "-", "opnsense_helper"]], "opnsense_helper": [[3, 0, 0, "-", "commands"], [5, 0, 0, "-", "config_manager"], [7, 0, 0, "-", "opnsense_helper"], [8, 0, 0, "-", "scripts"], [10, 0, 0, "-", "utils"]], "opnsense_helper.commands": [[15, 0, 0, "-", "commands"]], "opnsense_helper.commands.commands": [[15, 1, 1, "", "Commands"], [15, 1, 1, "", "configctl"], [15, 1, 1, "", "pluginctl"], [15, 1, 1, "", "reconfigure"]], "opnsense_helper.config_manager": [[15, 0, 0, "-", "config_manager"]], "opnsense_helper.config_manager.config_manager": [[15, 1, 1, "", "Config_Manager"], [15, 1, 1, "", "Dhcpd"], [15, 1, 1, "", "Interface"], [15, 1, 1, "", "Vlan"]], "opnsense_helper.config_manager.config_manager.Config_Manager": [[15, 2, 1, "", "close_con"], [15, 2, 1, "", "get_all"], [15, 2, 1, "", "get_conf"], [15, 2, 1, "", "get_dif"], [15, 2, 1, "", "get_item"], [15, 2, 1, "", "initialize"], [15, 2, 1, "", "put_file"], [15, 2, 1, "", "remove_items"], [15, 2, 1, "", "save"], [15, 2, 1, "", "set"]], "opnsense_helper.config_manager.config_manager.Dhcpd": [[15, 2, 1, "", "initialize"]], "opnsense_helper.config_manager.config_manager.Interface": [[15, 2, 1, "", "initialize"]], "opnsense_helper.config_manager.config_manager.Vlan": [[15, 2, 1, "", "initialize"]], "opnsense_helper.opnsense_helper": [[15, 1, 1, "", "Opnsense_Helper"]], "opnsense_helper.scripts": [[15, 0, 0, "-", "scripts"]], "opnsense_helper.scripts.scripts": [[15, 1, 1, "", "Scripts"], [15, 1, 1, "", "Wireguard"], [15, 1, 1, "", "auth"], [15, 1, 1, "", "dhcp"], [15, 1, 1, "", "dns"], [15, 1, 1, "", "filter"], [15, 1, 1, "", "firmware"], [15, 1, 1, "", "health"], [15, 1, 1, "", "interfaces"], [15, 1, 1, "", "ipsec"], [15, 1, 1, "", "netflow"], [15, 1, 1, "", "openssh"], [15, 1, 1, "", "openvpn"], [15, 1, 1, "", "routes"], [15, 1, 1, "", "shaper"], [15, 1, 1, "", "shell"], [15, 1, 1, "", "suricata"], [15, 1, 1, "", "syslog"], [15, 1, 1, "", "system"], [15, 1, 1, "", "unbound"]], "opnsense_helper.utils": [[11, 0, 0, "-", "baseclass"], [12, 0, 0, "-", "exec_class"], [13, 0, 0, "-", "frontend_utils"], [14, 0, 0, "-", "utils"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method"}, "terms": {"": [0, 15], "0": [0, 15], "00": [0, 15], "01": 0, "02": 0, "03": 0, "0tnitdbolveqvd9fu8wfedo3d3dy5wrutf": 0, "1": [0, 15], "10": [], "100": 0, "101": 15, "103": 0, "111": 15, "1500": 0, "16072": 0, "16384": 0, "168": 0, "1731025409": 0, "178": 15, "192": 0, "2": [0, 15], "200": 0, "237": 15, "24": 0, "244": 15, "25": 0, "3": 0, "32": 15, "38": 15, "4": [0, 15], "44": 15, "5": 0, "5jvvgoatpbaaa": 0, "6": 0, "64": 0, "7": 0, "76": 15, "80": [0, 1, 15], "84": 15, "A": 15, "If": 15, "It": 15, "No": 0, "Not": [0, 1], "The": [0, 1, 15], "There": 0, "__init__": 15, "_configur": 15, "_from": 15, "_to": [0, 15], "activ": 15, "add": [0, 15], "add_item": 0, "add_us": 15, "add_vlan": [], "address": [0, 15], "after": [0, 1, 15], "algorithm": 15, "all": [0, 1, 15], "also": [0, 15], "alwai": 15, "an": 15, "ani": 0, "anoth": 15, "ansibl": [], "answer": 0, "api": 15, "api_auth": [0, 15], "api_kei": [0, 15], "api_secret": [0, 15], "appli": [0, 1, 15], "ar": 15, "arg": 15, "argument": [0, 15], "arnl": 0, "around": [0, 1, 15], "arr": 0, "arrai": 15, "assign": [1, 15], "associ": 15, "attr": 15, "attribut": 15, "auth": [0, 1], "authent": 15, "automat": [0, 1, 15], "avail": 15, "back": 0, "backend": [0, 1], "banner": 15, "base": [0, 15], "base_class": 15, "bdist_wheel": 0, "becaus": 15, "befor": 15, "below": 15, "besid": 0, "bit": 0, "block": [], "blocklist": 15, "bool": 15, "build": 0, "c": [0, 15], "cach": 15, "call": [0, 1, 15], "can": [0, 1, 15], "captiveport": 15, "captur": 15, "carp_global_statu": 15, "carp_set_statu": 15, "case": 15, "cd": 0, "certain": 15, "certctl": 15, "chang": 0, "changelog": 15, "check": 15, "cidr": 15, "class": [0, 4, 6, 7, 9, 11, 12], "cleanup_leases4": 15, "cleanup_leases6": 15, "clearlog": 15, "client_connect": 15, "client_disconnect": 15, "clone": 0, "close_con": [0, 15], "code": 15, "collect": 0, "com": 0, "command": 1, "conf": [0, 15], "conf_path": [0, 15], "config": [1, 15], "config_manag": [1, 15], "configctl": [0, 1], "configd": 15, "configur": [0, 1, 15], "connect": 15, "contain": 15, "contribut": 1, "control": [0, 15], "convent": 15, "coonfig_manag": 1, "copi": [0, 15], "core": 0, "correspond": 15, "couldnt": 0, "crash_report": 0, "crashreport": 0, "creat": [1, 15], "cron": 15, "csv": 15, "current": [0, 15], "d": 15, "damn": 0, "data": 15, "ddnsdomainalgorithm": 15, "debug": [0, 15], "decid": 0, "def": 0, "default": 0, "defin": 0, "del_rout": 15, "delete_t": 15, "descr": [0, 15], "descript": 15, "destin": [0, 15], "detail": 15, "detect": 0, "devic": [0, 15], "device_info": 15, "dhclient": 15, "dhcp": [0, 1], "dhcpd": [0, 1], "dhcpd6": 15, "dhcpv4": 0, "diagnost": 0, "dict": 15, "dictionari": 15, "directli": 0, "directori": 15, "disabl": 15, "disconnect": 15, "dn": 1, "dnsmasq_watch": 15, "do": 0, "doc": [0, 15], "doe": 0, "doesnt": 0, "domain": 15, "done": 0, "download": 0, "download_geoip": 15, "dropalertlog": 15, "dummynet_stat": 15, "dump": 15, "dump_log": 15, "dynam": 15, "e": 15, "each": 15, "either": 15, "ejl4fiu9yfnk": 0, "element": 15, "empti": 15, "enabl": [0, 1, 15], "error": 0, "everi": 0, "exampl": 15, "exec_class": 15, "execut": 15, "exist": 0, "expir": 0, "export_detail": 15, "f": 15, "fals": [0, 15], "fe80": 0, "fetchdata": 15, "ffrom": [], "file": [0, 15], "filepath": 0, "filter": 1, "find": [0, 15], "find_table_refer": 15, "firewal": [0, 15], "firmwar": 1, "first": [], "flag": [0, 15], "flowctl_stat": 15, "flowd_aggreg": 15, "flowd_aggregate_metadata": 15, "flush": 15, "flush_al": 15, "flush_rrd": 15, "follow": 15, "forc": 0, "fork": 0, "format": 15, "found": [0, 15], "fozldqy92": 0, "framework": [], "from": [0, 15], "fron": [], "frontend": 1, "function": [13, 14, 15], "g": 15, "gaqmpk": 0, "gatewai": [0, 15], "gateway_statu": 15, "gateway_watch": 15, "gen_keypair": 15, "gener": 15, "generate_cert": 15, "get": 15, "get_al": 15, "get_backup": 15, "get_conf": [0, 15], "get_dif": 15, "get_item": 15, "get_kea_leas": 15, "get_leas": 15, "get_leases6": 15, "get_legacy_vti": 15, "get_timeseri": 15, "get_top_usag": 15, "git": 0, "github": 0, "given": [0, 15], "god": 0, "ha": 0, "halt": 15, "have": [0, 15], "health": [1, 15], "hmac": 15, "hook": 15, "host": [0, 15], "hostnam": 15, "how": [], "howev": 0, "i": [0, 1, 15], "id": 15, "identifi": 15, "if_reg": 15, "ifconfig": 15, "ifctl": 15, "im": 15, "import": [0, 15], "info": 15, "inherit": 15, "init": [0, 15], "init_config_manag": 15, "initi": [0, 15], "instal": [1, 15], "installrul": 15, "instanc": 15, "instanti": 15, "int": [], "interfac": [0, 1], "invok": 15, "ip": 15, "ipaddr": 15, "ipfw": 15, "ipsec": 1, "ipv4": [0, 15], "ipv6": 0, "item": [0, 15], "its": [0, 15], "just": [0, 15], "kea": 15, "kei": 15, "kill_sess": 15, "kill_stat": 15, "kill_tabl": 15, "lan": [0, 1], "latest": 15, "launcher": 15, "let": [0, 15], "lib": 15, "librari": 15, "libvirt": 0, "licens": 15, "line": 0, "link": 0, "linkdown": 15, "linkup": 15, "list": 15, "list_appl": 15, "list_arp": 15, "list_group_memb": 15, "list_leas": 15, "list_macdb": 15, "list_ndp": 15, "list_osfp": 15, "list_pfsync": 15, "list_rule_id": 15, "list_sad": 15, "list_sockstat": 15, "list_spd": 15, "list_stat": 15, "list_statu": 15, "list_tabl": 15, "listalertlog": 15, "listinstallableruleset": 15, "listreport": 15, "listrulemetadata": 15, "lo0": 0, "load": 0, "local": [0, 15], "localhost": 0, "locat": 15, "lock": 15, "lockout_handl": 15, "log": 0, "log_arch": 15, "logformat": 15, "logger": 15, "loginterfac": 0, "logloc": 0, "look": [], "m": 0, "mac": 15, "macinfo": 15, "made": 0, "mai": 0, "main": 0, "make": 0, "matter": 0, "md": 15, "me": 0, "memori": 15, "messag": [0, 15], "metadata": 15, "method": [0, 15], "modul": [2, 3, 5, 8, 10], "monit": 15, "motiv": 1, "mpd": 15, "mself": 0, "mtu": 0, "must": 15, "my": 0, "myservic": 15, "n": 0, "name": 15, "nameserv": 15, "necessari": 15, "need": [0, 15], "netflow": 1, "netif": 0, "network": 0, "nhop": 0, "none": [0, 15], "notat": 15, "null": 0, "object": 15, "onc": [0, 1], "one": 0, "onsense_help": 15, "openssh": 1, "openvpn": 1, "oper": 15, "opnsense_help": [0, 1], "opt": 15, "opt1": 0, "opt2": 0, "opt3": 0, "opt4": 0, "option": 15, "other": [0, 1], "out": 15, "output": [0, 15], "ovpn_ev": 15, "ovpn_service_control": 15, "ovpn_statu": 15, "packag": [0, 15], "param": [], "paramet": 15, "parent": 15, "parentinterfac": 15, "pars": [0, 15], "pass": 15, "passw": [0, 15], "password": 15, "path": 15, "pcp": [0, 15], "pfstatist": 15, "pftablecount": 15, "pftop": 15, "phisic": 0, "php": [0, 15], "phy": [0, 1], "pid": 0, "ping": 15, "pip": [1, 15], "pleas": [], "plugin": 15, "pluginctl": [0, 1], "pod": 0, "point": 15, "portprob": 15, "ppp": 15, "prefix": 15, "primari": 15, "print": 15, "prioriti": 15, "problem": 0, "product": 15, "project": 0, "properti": 15, "proto": 0, "protocol": 15, "provid": [0, 15], "pull": 0, "put": 15, "put_fil": [0, 15], "py": [0, 15], "pypi": 0, "python": 0, "python3": 0, "queri": 15, "query_dn": 15, "queryalertlog": 15, "queryinstalledrul": 15, "querylog": 15, "question": 0, "r": 15, "rang": 15, "raw": 15, "rc": 0, "read": [0, 15], "read_log": 15, "realli": 0, "reboot": 15, "reconfigur": [0, 1], "reconfigure_lagg": 15, "reconfigure_neighbor": 15, "reconfigure_vip": 15, "reconfigure_vlan": 15, "regist": 15, "registr": 15, "reinstal": 15, "remain": 15, "remot": 15, "remote_backup": 15, "remov": 15, "remove_item": [0, 15], "renam": 15, "repli": 0, "repo": 0, "request": 0, "requir": [1, 15], "reresolv": 15, "restart": 15, "restor": 15, "restore_db": 15, "resync": 15, "retriev": 15, "return": 15, "rfc5246_cipher_suit": 15, "right": 0, "rn": 15, "rollback_cancel": 15, "rollback_tim": 15, "root": 0, "rout": [0, 1], "router": 0, "rqia15f1yx1snikgciel2qnojwhbekrawie0anryceh9hey5ifgzlf3da4yj": 0, "rrd_pfstate_info": 15, "rtsold_resolvconf": 15, "rule": [0, 15], "rule_stat": 15, "run": [0, 15], "run_unittest": 15, "runtim": [0, 1], "saddelet": 15, "same": 15, "save": [0, 15], "script": 1, "secur": 15, "see": 15, "self": 15, "servic": [0, 15], "service_dump": 15, "set": [0, 15], "set_vlan": [], "setaddr": 15, "setport": 15, "setup": [0, 15], "sh": [0, 15], "shaper": 1, "shell": 1, "shh": [0, 1], "shop": 0, "should": 15, "show_rout": [0, 15], "sinc": 15, "singl": 0, "snippet": 0, "so": [0, 15], "soon": 0, "spddelet": 15, "specif": 15, "specifi": 15, "spoof": 15, "spoofmac": 15, "ssh": [0, 15], "ssh_auth": [0, 15], "ssh_queri": 15, "ssl": [0, 15], "ssl_cipher": 15, "start": [0, 15], "stat": 15, "statist": 15, "statu": [0, 15], "statuscod": 0, "storag": 15, "store": 15, "str": [0, 15], "string": 15, "stuff": [0, 1], "subel": 15, "subnet": 15, "subr": 15, "support": 0, "sure": [0, 15], "suricata": 1, "sync": 15, "syntax": 0, "sysctl": 15, "syslog": 1, "system": [0, 1], "t6srlmkd1": 0, "tag": [0, 15], "take": 15, "target": 15, "technic": 15, "temp": 15, "temp_path": [0, 15], "temperatur": 15, "templat": 15, "temporari": 15, "terraform": 0, "thei": 15, "them": 0, "thi": [0, 15], "those": 15, "timestamp": 0, "tls_verifi": 15, "tmp": 0, "todo": [], "tracerout": 15, "traffic_stat": 15, "traffic_top": 15, "transfer": 15, "tree": 15, "trigger_config_changed_ev": 15, "true": [0, 15], "try": [], "type": 15, "u": 0, "ubound": [], "ug": 0, "uh": 0, "ui": 0, "unbound": 1, "unbound_watch": 15, "unlock": 15, "up": 15, "updat": 15, "update_bogon": 15, "update_t": 15, "updown_ev": 15, "upgrad": [0, 15], "uptim": 15, "us": [0, 1, 15], "usag": [1, 15], "user": [0, 15], "user_pass_verifi": 15, "using_api": 0, "usr": 0, "valu": 15, "var": [], "variabl": 1, "variou": 15, "verbos": [0, 15], "verifi": [0, 15], "via": [0, 1, 15], "virtual": [], "vlan": [0, 1], "vlan0": [0, 15], "vlan1": 0, "vlan2": 0, "vlan3": 0, "vlanif": [0, 15], "vlans_api": 0, "vm": 0, "vtnet0": 0, "vtnet1": 0, "want": 0, "webgui": 15, "well": 0, "were": 0, "wg": 15, "wg_show": 15, "when": [0, 15], "where": 15, "which": 15, "wireguard": 1, "wrapper": 15, "written": 15, "xml": [0, 15], "yi8ka9": 0, "you": [0, 1, 15], "your": [0, 1, 15], "zf": 15}, "titles": ["about opnsense-helper", "Opnsense-Helper", "opnsense_helper", "opnsense_helper.commands", "opnsense_helper.commands.commands", "opnsense_helper.config_manager", "opnsense_helper.config_manager.config_manager", "opnsense_helper.opnsense_helper", "opnsense_helper.scripts", "opnsense_helper.scripts.scripts", "opnsense_helper.utils", "opnsense_helper.utils.baseclass", "opnsense_helper.utils.exec_class", "opnsense_helper.utils.frontend_utils", "opnsense_helper.utils.utils", "Opnsense-Helper"], "titleterms": {"about": [0, 1], "api": [0, 1], "arg": [], "assign": 0, "auth": 15, "baseclass": 11, "cla": 15, "class": 15, "command": [0, 3, 4, 15], "config": 0, "config_manag": [0, 5, 6], "configctl": 15, "contribut": 0, "coonfig_manag": 15, "creat": 0, "default": 15, "dhcp": 15, "dhcpd": 15, "dn": 15, "dokument": 1, "exampl": 0, "exec_class": 12, "filter": 15, "firmwar": 15, "frontend": 0, "frontend_util": 13, "heatlh": 15, "helper": [0, 1, 15], "instal": 0, "interfac": 15, "ipsec": 15, "manual": 0, "modul": 0, "motiv": 0, "netflow": 15, "object": 0, "openssh": 15, "openvpn": 15, "opnsens": [0, 1, 15], "opnsense_help": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "param": 15, "pip": 0, "pluginctl": 15, "python": 1, "reconfigur": 15, "req": 15, "requir": 0, "result": 0, "rout": 15, "script": [0, 8, 9, 15], "shaper": 15, "shell": 15, "suricata": 15, "syslog": 15, "system": 15, "unbound": 15, "usag": 0, "util": [10, 11, 12, 13, 14], "variabl": 0, "vlan": 15, "wireguard": 15}}) \ No newline at end of file +Search.setIndex({"alltitles": {"About:": [[1, null]], "Example": [[0, "example"]], "Frontend Api": [[0, "frontend-api"]], "Opnsense-Helper": [[1, null], [3, null]], "Python API-Dokumentation": [[1, null]], "Result": [[0, "result"]], "Wireguard": [[2, "wireguard"]], "about opnsense-helper": [[0, null]], "assign the config": [[0, "assign-the-config"]], "auth": [[2, null]], "clas firmware": [[3, "clas-firmware"]], "class auth": [[3, "class-auth"]], "class Commands": [[3, "class-commands"]], "class Opnsense_Helper": [[3, "class-opnsense-helper"]], "class Scripts": [[3, "class-scripts"]], "class Shaper": [[3, "class-shaper"]], "class Shell": [[3, "class-shell"]], "class Wireguard": [[3, "class-wireguard"]], "class configctl": [[3, "class-configctl"]], "class dhcp": [[3, "class-dhcp"]], "class dns": [[3, "class-dns"]], "class filter": [[3, "class-filter"]], "class heatlh": [[3, "class-heatlh"]], "class interfaces": [[3, "class-interfaces"]], "class ipsec": [[3, "class-ipsec"]], "class netflow": [[3, "class-netflow"]], "class openssh": [[3, "class-openssh"]], "class openvpn": [[3, "class-openvpn"]], "class pluginctl": [[3, "class-pluginctl"]], "class reconfigure": [[3, "class-reconfigure"]], "class routes": [[3, "class-routes"]], "class suricata": [[3, "class-suricata"]], "class syslog": [[3, "class-syslog"]], "class system": [[3, "class-system"]], "class unbound": [[3, "class-unbound"]], "commands": [[3, "commands"]], "config_manager": [[0, "config-manager"]], "config_manager manual usage": [[0, "config-manager-manual-usage"]], "contribute": [[0, "contribute"]], "coonfig_manager": [[3, "coonfig-manager"]], "create the module objects": [[0, "create-the-module-objects"]], "definitions": [[2, "definitions"]], "dhcp": [[2, "module-python.autodocs.dhcp.cleanup_leases4"]], "dns": [[2, "module-python.autodocs.dns.query_dns"]], "filter": [[2, "module-python.autodocs.filter.kill_states"]], "firmware": [[2, "module-python.autodocs.firmware.changelog"]], "health": [[2, "module-python.autodocs.health.updaterrd"]], "install": [[0, "install"]], "interfaces": [[2, "module-python.autodocs.interfaces.carp_global_status"]], "ipsec": [[2, "module-python.autodocs.ipsec.get_legacy_vti"]], "motivation": [[0, "motivation"]], "netflow": [[2, "module-python.autodocs.netflow.flush_all"]], "openssh": [[2, "openssh"]], "openvpn": [[2, "module-python.autodocs.openvpn.client_connect"]], "opnsense-scripts-autodocs": [[1, null]], "pip": [[0, "pip"]], "repos": [[2, "module-python.autodocs.repos.FreeBSD"]], "required variables": [[0, "required-variables"]], "routes": [[2, "module-python.autodocs.routes.del_route"]], "script FreeBSD.php": [[2, "script-freebsd-php"]], "script OPNsense.php": [[2, "script-opnsense-php"]], "script add_user.php": [[2, "script-add-user-php"]], "script banner.php": [[2, "script-banner-php"]], "script cache.sh": [[2, "script-cache-sh"]], "script carp_global_status.php": [[2, "script-carp-global-status-php"]], "script carp_set_status.php": [[2, "script-carp-set-status-php"]], "script changelog.sh": [[2, "script-changelog-sh"]], "script cleanup_leases4.php": [[2, "script-cleanup-leases4-php"]], "script cleanup_leases6.php": [[2, "script-cleanup-leases6-php"]], "script clearlog.php": [[2, "script-clearlog-php"]], "script client_connect.php": [[2, "script-client-connect-php"]], "script client_disconnect.sh": [[2, "script-client-disconnect-sh"]], "script connection.sh": [[2, "script-connection-sh"]], "script cpu.py": [[2, "script-cpu-py"]], "script defaults.php": [[2, "script-defaults-php"]], "script del_route.py": [[2, "script-del-route-py"]], "script details.sh": [[2, "script-details-sh"]], "script dnsmasq_watcher.py": [[2, "script-dnsmasq-watcher-py"]], "script env_init.sh": [[2, "script-env-init-sh"]], "script firmware.sh": [[2, "script-firmware-sh"]], "script firmware_runner.sh": [[2, "script-firmware-runner-sh"]], "script flush_all.sh": [[2, "script-flush-all-sh"]], "script gateway_status.php": [[2, "script-gateway-status-php"]], "script gateway_watcher.php": [[2, "script-gateway-watcher-php"]], "script gateways.php": [[2, "script-gateways-php"]], "script get_kea_leases.py": [[2, "script-get-kea-leases-py"]], "script get_legacy_vti.php": [[2, "script-get-legacy-vti-php"]], "script halt.php": [[2, "script-halt-php"]], "script health.sh": [[2, "script-health-sh"]], "script hostnames.sh": [[2, "script-hostnames-sh"]], "script ifctl.sh": [[2, "script-ifctl-sh"]], "script install.sh": [[2, "script-install-sh"]], "script kill_states.py": [[2, "script-kill-states-py"]], "script latest.php": [[2, "script-latest-php"]], "script license.sh": [[2, "script-license-sh"]], "script listRuleMetadata.py": [[2, "script-listrulemetadata-py"]], "script list_applications.php": [[2, "script-list-applications-php"]], "script list_group_members.php": [[2, "script-list-group-members-php"]], "script list_states.py": [[2, "script-list-states-py"]], "script lock.sh": [[2, "script-lock-sh"]], "script logger.py": [[2, "script-logger-py"]], "script nameservers.php": [[2, "script-nameservers-php"]], "script netboot.php": [[2, "script-netboot-php"]], "script ovpn_service_control.php": [[2, "script-ovpn-service-control-php"]], "script password.php": [[2, "script-password-php"]], "script ping.php": [[2, "script-ping-php"]], "script plugin.sh": [[2, "script-plugin-sh"]], "script prefixes.sh": [[2, "script-prefixes-sh"], [2, "module-0"]], "script product.php": [[2, "script-product-php"]], "script query.sh": [[2, "script-query-sh"]], "script queryLog.py": [[2, "script-querylog-py"]], "script query_dns.py": [[2, "script-query-dns-py"]], "script read.sh": [[2, "script-read-sh"]], "script reboot.sh": [[2, "script-reboot-sh"]], "script reconfigure_gifs.php": [[2, "script-reconfigure-gifs-php"]], "script reconfigure_gres.php": [[2, "script-reconfigure-gres-php"]], "script reconfigure_laggs.php": [[2, "script-reconfigure-laggs-php"]], "script reconfigure_neighbors.php": [[2, "script-reconfigure-neighbors-php"]], "script reconfigure_vips.php": [[2, "script-reconfigure-vips-php"]], "script reconfigure_vlans.php": [[2, "script-reconfigure-vlans-php"]], "script register.php": [[2, "script-register-php"]], "script reinstall.sh": [[2, "script-reinstall-sh"]], "script remote_backup.php": [[2, "script-remote-backup-php"]], "script remove.sh": [[2, "script-remove-sh"]], "script restore.sh": [[2, "script-restore-sh"]], "script restore_db.py": [[2, "script-restore-db-py"]], "script resync.sh": [[2, "script-resync-sh"]], "script rollback_cancle.php": [[2, "script-rollback-cancle-php"]], "script rollback_timer.php": [[2, "script-rollback-timer-php"]], "script rtsold_resolvconf.sh": [[2, "script-rtsold-resolvconf-sh"]], "script running.sh": [[2, "script-running-sh"]], "script script setaddr.php": [[2, "script-script-setaddr-php"]], "script security.sh": [[2, "script-security-sh"]], "script setports.php": [[2, "script-setports-php"]], "script ssl_ciphers.py": [[2, "script-ssl-ciphers-py"]], "script start.sh": [[2, "script-start-sh"]], "script stats.py": [[2, "script-stats-py"]], "script status.php": [[2, "script-status-php"]], "script streamLog.py": [[2, "script-streamlog-py"]], "script suricata_setup.sh": [[2, "script-suricata-setup-sh"]], "script sync.sh": [[2, "script-sync-sh"]], "script sysctl.py": [[2, "script-sysctl-py"]], "script temperature.sh": [[2, "script-temperature-sh"]], "script tls_verify.php": [[2, "script-tls-verify-php"]], "script traffic_stats.php": [[2, "script-traffic-stats-php"]], "script unlock.sh": [[2, "script-unlock-sh"]], "script update.sh": [[2, "script-update-sh"]], "script update_bogons.sh": [[2, "script-update-bogons-sh"]], "script updaterrd.php": [[2, "script-updaterrd-php"]], "script upgrade.sh": [[2, "script-upgrade-sh"]], "script user_pass_verify.php": [[2, "script-user-pass-verify-php"]], "script wrapper.py": [[2, "script-wrapper-py"]], "scripts": [[3, "scripts"]], "scripts and commands": [[0, "scripts-and-commands"]], "shaper": [[2, "shaper"]], "shell": [[2, "module-python.autodocs.shell.banner"]], "suricata": [[2, "module-python.autodocs.suricata.listRuleMetadata"]], "syslog": [[2, "module-python.autodocs.syslog.clearlog"]], "system": [[2, "module-python.autodocs.system.cpu"]], "unbound": [[2, "module-python.autodocs.unbound.cache"]], "usage": [[0, "usage"]]}, "docnames": ["README", "index", "opnsense-scripts", "python_package"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["README.md", "index.rst", "opnsense-scripts.rst", "python_package.rst"], "indexentries": {"auth (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.auth", false]], "commands (class in opnsense_helper.commands.commands)": [[3, "opnsense_helper.commands.commands.Commands", false]], "configctl (class in opnsense_helper.commands.commands)": [[3, "opnsense_helper.commands.commands.configctl", false]], "dhcp (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.dhcp", false]], "dns (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.dns", false]], "filter (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.filter", false]], "firmware (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.firmware", false]], "health (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.health", false]], "interfaces (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.interfaces", false]], "ipsec (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.ipsec", false]], "module": [[2, "module-0", false], [2, "module-python.autodocs.auth.add_user", false], [2, "module-python.autodocs.auth.list_group_members", false], [2, "module-python.autodocs.dhcp.cleanup_leases4", false], [2, "module-python.autodocs.dhcp.cleanup_leases6", false], [2, "module-python.autodocs.dhcp.dnsmasq_watcher", false], [2, "module-python.autodocs.dhcp.get_kea_leases", false], [2, "module-python.autodocs.dhcp.prefixes", false], [2, "module-python.autodocs.dns.query_dns", false], [2, "module-python.autodocs.filter.kill_states", false], [2, "module-python.autodocs.filter.list_states", false], [2, "module-python.autodocs.filter.rollback_cancel", false], [2, "module-python.autodocs.filter.rollback_timer", false], [2, "module-python.autodocs.filter.update_bogons", false], [2, "module-python.autodocs.firmware.changelog", false], [2, "module-python.autodocs.firmware.config", false], [2, "module-python.autodocs.firmware.connection", false], [2, "module-python.autodocs.firmware.details", false], [2, "module-python.autodocs.firmware.health", false], [2, "module-python.autodocs.firmware.hostnames", false], [2, "module-python.autodocs.firmware.install", false], [2, "module-python.autodocs.firmware.latest", false], [2, "module-python.autodocs.firmware.launcher", false], [2, "module-python.autodocs.firmware.license", false], [2, "module-python.autodocs.firmware.lock", false], [2, "module-python.autodocs.firmware.plugin", false], [2, "module-python.autodocs.firmware.product", false], [2, "module-python.autodocs.firmware.query", false], [2, "module-python.autodocs.firmware.read", false], [2, "module-python.autodocs.firmware.reboot", false], [2, "module-python.autodocs.firmware.register", false], [2, "module-python.autodocs.firmware.reinstall", false], [2, "module-python.autodocs.firmware.remove", false], [2, "module-python.autodocs.firmware.resync", false], [2, "module-python.autodocs.firmware.running", false], [2, "module-python.autodocs.firmware.security", false], [2, "module-python.autodocs.firmware.sync", false], [2, "module-python.autodocs.firmware.unlock", false], [2, "module-python.autodocs.firmware.update", false], [2, "module-python.autodocs.firmware.upgrade", false], [2, "module-python.autodocs.health.updaterrd", false], [2, "module-python.autodocs.interfaces.carp_global_status", false], [2, "module-python.autodocs.interfaces.carp_set_status", false], [2, "module-python.autodocs.interfaces.ifctl", false], [2, "module-python.autodocs.interfaces.reconfigure_gifs", false], [2, "module-python.autodocs.interfaces.reconfigure_gres", false], [2, "module-python.autodocs.interfaces.reconfigure_laggs", false], [2, "module-python.autodocs.interfaces.reconfigure_neighbors", false], [2, "module-python.autodocs.interfaces.reconfigure_vips", false], [2, "module-python.autodocs.interfaces.reconfigure_vlans", false], [2, "module-python.autodocs.interfaces.rtsold_resolvconf", false], [2, "module-python.autodocs.interfaces.traffic_stats", false], [2, "module-python.autodocs.ipsec.get_legacy_vti", false], [2, "module-python.autodocs.netflow.flush_all", false], [2, "module-python.autodocs.openvpn.client_connect", false], [2, "module-python.autodocs.openvpn.client_disconnect", false], [2, "module-python.autodocs.openvpn.ovpn_service_control", false], [2, "module-python.autodocs.openvpn.tls_verify", false], [2, "module-python.autodocs.openvpn.user_pass_verify", false], [2, "module-python.autodocs.repos.FreeBSD", false], [2, "module-python.autodocs.repos.OPNsense", false], [2, "module-python.autodocs.routes.del_route", false], [2, "module-python.autodocs.routes.gateway_status", false], [2, "module-python.autodocs.routes.gateway_watcher", false], [2, "module-python.autodocs.routes.gateways", false], [2, "module-python.autodocs.shell.banner", false], [2, "module-python.autodocs.shell.defaults", false], [2, "module-python.autodocs.shell.firmware", false], [2, "module-python.autodocs.shell.halt", false], [2, "module-python.autodocs.shell.password", false], [2, "module-python.autodocs.shell.ping", false], [2, "module-python.autodocs.shell.reboot", false], [2, "module-python.autodocs.shell.restore", false], [2, "module-python.autodocs.shell.setaddr", false], [2, "module-python.autodocs.shell.setports", false], [2, "module-python.autodocs.suricata.listRuleMetadata", false], [2, "module-python.autodocs.suricata.setup", false], [2, "module-python.autodocs.syslog.clearlog", false], [2, "module-python.autodocs.syslog.list_applications", false], [2, "module-python.autodocs.syslog.queryLog", false], [2, "module-python.autodocs.syslog.streamLog", false], [2, "module-python.autodocs.system.cpu", false], [2, "module-python.autodocs.system.nameservers", false], [2, "module-python.autodocs.system.remote_backup", false], [2, "module-python.autodocs.system.ssl_ciphers", false], [2, "module-python.autodocs.system.status", false], [2, "module-python.autodocs.system.sysctl", false], [2, "module-python.autodocs.system.temperature", false], [2, "module-python.autodocs.unbound.cache", false], [2, "module-python.autodocs.unbound.logger", false], [2, "module-python.autodocs.unbound.restore_db", false], [2, "module-python.autodocs.unbound.start", false], [2, "module-python.autodocs.unbound.stats", false], [2, "module-python.autodocs.unbound.wrapper", false], [3, "module-opnsense_helper.commands.commands", false], [3, "module-opnsense_helper.config_manager.config_manager", false], [3, "module-opnsense_helper.scripts.scripts", false]], "netflow (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.netflow", false]], "openssh (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.openssh", false]], "openvpn (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.openvpn", false]], "opnsense_helper (class in opnsense_helper.opnsense_helper)": [[3, "opnsense_helper.opnsense_helper.Opnsense_Helper", false]], "opnsense_helper.commands.commands": [[3, "module-opnsense_helper.commands.commands", false]], "opnsense_helper.config_manager.config_manager": [[3, "module-opnsense_helper.config_manager.config_manager", false]], "opnsense_helper.scripts.scripts": [[3, "module-opnsense_helper.scripts.scripts", false]], "pluginctl (class in opnsense_helper.commands.commands)": [[3, "opnsense_helper.commands.commands.pluginctl", false]], "python.autodocs.auth.add_user": [[2, "module-python.autodocs.auth.add_user", false]], "python.autodocs.auth.list_group_members": [[2, "module-python.autodocs.auth.list_group_members", false]], "python.autodocs.dhcp.cleanup_leases4": [[2, "module-python.autodocs.dhcp.cleanup_leases4", false]], "python.autodocs.dhcp.cleanup_leases6": [[2, "module-python.autodocs.dhcp.cleanup_leases6", false]], "python.autodocs.dhcp.dnsmasq_watcher": [[2, "module-python.autodocs.dhcp.dnsmasq_watcher", false]], "python.autodocs.dhcp.get_kea_leases": [[2, "module-python.autodocs.dhcp.get_kea_leases", false]], "python.autodocs.dhcp.prefixes": [[2, "module-0", false], [2, "module-python.autodocs.dhcp.prefixes", false]], "python.autodocs.dns.query_dns": [[2, "module-python.autodocs.dns.query_dns", false]], "python.autodocs.filter.kill_states": [[2, "module-python.autodocs.filter.kill_states", false]], "python.autodocs.filter.list_states": [[2, "module-python.autodocs.filter.list_states", false]], "python.autodocs.filter.rollback_cancel": [[2, "module-python.autodocs.filter.rollback_cancel", false]], "python.autodocs.filter.rollback_timer": [[2, "module-python.autodocs.filter.rollback_timer", false]], "python.autodocs.filter.update_bogons": [[2, "module-python.autodocs.filter.update_bogons", false]], "python.autodocs.firmware.changelog": [[2, "module-python.autodocs.firmware.changelog", false]], "python.autodocs.firmware.config": [[2, "module-python.autodocs.firmware.config", false]], "python.autodocs.firmware.connection": [[2, "module-python.autodocs.firmware.connection", false]], "python.autodocs.firmware.details": [[2, "module-python.autodocs.firmware.details", false]], "python.autodocs.firmware.health": [[2, "module-python.autodocs.firmware.health", false]], "python.autodocs.firmware.hostnames": [[2, "module-python.autodocs.firmware.hostnames", false]], "python.autodocs.firmware.install": [[2, "module-python.autodocs.firmware.install", false]], "python.autodocs.firmware.latest": [[2, "module-python.autodocs.firmware.latest", false]], "python.autodocs.firmware.launcher": [[2, "module-python.autodocs.firmware.launcher", false]], "python.autodocs.firmware.license": [[2, "module-python.autodocs.firmware.license", false]], "python.autodocs.firmware.lock": [[2, "module-python.autodocs.firmware.lock", false]], "python.autodocs.firmware.plugin": [[2, "module-python.autodocs.firmware.plugin", false]], "python.autodocs.firmware.product": [[2, "module-python.autodocs.firmware.product", false]], "python.autodocs.firmware.query": [[2, "module-python.autodocs.firmware.query", false]], "python.autodocs.firmware.read": [[2, "module-python.autodocs.firmware.read", false]], "python.autodocs.firmware.reboot": [[2, "module-python.autodocs.firmware.reboot", false]], "python.autodocs.firmware.register": [[2, "module-python.autodocs.firmware.register", false]], "python.autodocs.firmware.reinstall": [[2, "module-python.autodocs.firmware.reinstall", false]], "python.autodocs.firmware.remove": [[2, "module-python.autodocs.firmware.remove", false]], "python.autodocs.firmware.resync": [[2, "module-python.autodocs.firmware.resync", false]], "python.autodocs.firmware.running": [[2, "module-python.autodocs.firmware.running", false]], "python.autodocs.firmware.security": [[2, "module-python.autodocs.firmware.security", false]], "python.autodocs.firmware.sync": [[2, "module-python.autodocs.firmware.sync", false]], "python.autodocs.firmware.unlock": [[2, "module-python.autodocs.firmware.unlock", false]], "python.autodocs.firmware.update": [[2, "module-python.autodocs.firmware.update", false]], "python.autodocs.firmware.upgrade": [[2, "module-python.autodocs.firmware.upgrade", false]], "python.autodocs.health.updaterrd": [[2, "module-python.autodocs.health.updaterrd", false]], "python.autodocs.interfaces.carp_global_status": [[2, "module-python.autodocs.interfaces.carp_global_status", false]], "python.autodocs.interfaces.carp_set_status": [[2, "module-python.autodocs.interfaces.carp_set_status", false]], "python.autodocs.interfaces.ifctl": [[2, "module-python.autodocs.interfaces.ifctl", false]], "python.autodocs.interfaces.reconfigure_gifs": [[2, "module-python.autodocs.interfaces.reconfigure_gifs", false]], "python.autodocs.interfaces.reconfigure_gres": [[2, "module-python.autodocs.interfaces.reconfigure_gres", false]], "python.autodocs.interfaces.reconfigure_laggs": [[2, "module-python.autodocs.interfaces.reconfigure_laggs", false]], "python.autodocs.interfaces.reconfigure_neighbors": [[2, "module-python.autodocs.interfaces.reconfigure_neighbors", false]], "python.autodocs.interfaces.reconfigure_vips": [[2, "module-python.autodocs.interfaces.reconfigure_vips", false]], "python.autodocs.interfaces.reconfigure_vlans": [[2, "module-python.autodocs.interfaces.reconfigure_vlans", false]], "python.autodocs.interfaces.rtsold_resolvconf": [[2, "module-python.autodocs.interfaces.rtsold_resolvconf", false]], "python.autodocs.interfaces.traffic_stats": [[2, "module-python.autodocs.interfaces.traffic_stats", false]], "python.autodocs.ipsec.get_legacy_vti": [[2, "module-python.autodocs.ipsec.get_legacy_vti", false]], "python.autodocs.netflow.flush_all": [[2, "module-python.autodocs.netflow.flush_all", false]], "python.autodocs.openvpn.client_connect": [[2, "module-python.autodocs.openvpn.client_connect", false]], "python.autodocs.openvpn.client_disconnect": [[2, "module-python.autodocs.openvpn.client_disconnect", false]], "python.autodocs.openvpn.ovpn_service_control": [[2, "module-python.autodocs.openvpn.ovpn_service_control", false]], "python.autodocs.openvpn.tls_verify": [[2, "module-python.autodocs.openvpn.tls_verify", false]], "python.autodocs.openvpn.user_pass_verify": [[2, "module-python.autodocs.openvpn.user_pass_verify", false]], "python.autodocs.repos.freebsd": [[2, "module-python.autodocs.repos.FreeBSD", false]], "python.autodocs.repos.opnsense": [[2, "module-python.autodocs.repos.OPNsense", false]], "python.autodocs.routes.del_route": [[2, "module-python.autodocs.routes.del_route", false]], "python.autodocs.routes.gateway_status": [[2, "module-python.autodocs.routes.gateway_status", false]], "python.autodocs.routes.gateway_watcher": [[2, "module-python.autodocs.routes.gateway_watcher", false]], "python.autodocs.routes.gateways": [[2, "module-python.autodocs.routes.gateways", false]], "python.autodocs.shell.banner": [[2, "module-python.autodocs.shell.banner", false]], "python.autodocs.shell.defaults": [[2, "module-python.autodocs.shell.defaults", false]], "python.autodocs.shell.firmware": [[2, "module-python.autodocs.shell.firmware", false]], "python.autodocs.shell.halt": [[2, "module-python.autodocs.shell.halt", false]], "python.autodocs.shell.password": [[2, "module-python.autodocs.shell.password", false]], "python.autodocs.shell.ping": [[2, "module-python.autodocs.shell.ping", false]], "python.autodocs.shell.reboot": [[2, "module-python.autodocs.shell.reboot", false]], "python.autodocs.shell.restore": [[2, "module-python.autodocs.shell.restore", false]], "python.autodocs.shell.setaddr": [[2, "module-python.autodocs.shell.setaddr", false]], "python.autodocs.shell.setports": [[2, "module-python.autodocs.shell.setports", false]], "python.autodocs.suricata.listrulemetadata": [[2, "module-python.autodocs.suricata.listRuleMetadata", false]], "python.autodocs.suricata.setup": [[2, "module-python.autodocs.suricata.setup", false]], "python.autodocs.syslog.clearlog": [[2, "module-python.autodocs.syslog.clearlog", false]], "python.autodocs.syslog.list_applications": [[2, "module-python.autodocs.syslog.list_applications", false]], "python.autodocs.syslog.querylog": [[2, "module-python.autodocs.syslog.queryLog", false]], "python.autodocs.syslog.streamlog": [[2, "module-python.autodocs.syslog.streamLog", false]], "python.autodocs.system.cpu": [[2, "module-python.autodocs.system.cpu", false]], "python.autodocs.system.nameservers": [[2, "module-python.autodocs.system.nameservers", false]], "python.autodocs.system.remote_backup": [[2, "module-python.autodocs.system.remote_backup", false]], "python.autodocs.system.ssl_ciphers": [[2, "module-python.autodocs.system.ssl_ciphers", false]], "python.autodocs.system.status": [[2, "module-python.autodocs.system.status", false]], "python.autodocs.system.sysctl": [[2, "module-python.autodocs.system.sysctl", false]], "python.autodocs.system.temperature": [[2, "module-python.autodocs.system.temperature", false]], "python.autodocs.unbound.cache": [[2, "module-python.autodocs.unbound.cache", false]], "python.autodocs.unbound.logger": [[2, "module-python.autodocs.unbound.logger", false]], "python.autodocs.unbound.restore_db": [[2, "module-python.autodocs.unbound.restore_db", false]], "python.autodocs.unbound.start": [[2, "module-python.autodocs.unbound.start", false]], "python.autodocs.unbound.stats": [[2, "module-python.autodocs.unbound.stats", false]], "python.autodocs.unbound.wrapper": [[2, "module-python.autodocs.unbound.wrapper", false]], "reconfigure (class in opnsense_helper.commands.commands)": [[3, "opnsense_helper.commands.commands.reconfigure", false]], "routes (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.routes", false]], "scripts (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.Scripts", false]], "shaper (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.shaper", false]], "shell (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.shell", false]], "suricata (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.suricata", false]], "syslog (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.syslog", false]], "system (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.system", false]], "unbound (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.unbound", false]], "wireguard (class in opnsense_helper.scripts.scripts)": [[3, "opnsense_helper.scripts.scripts.Wireguard", false]]}, "objects": {"opnsense_helper.commands": [[3, 0, 0, "-", "commands"]], "opnsense_helper.commands.commands": [[3, 1, 1, "", "Commands"], [3, 1, 1, "", "configctl"], [3, 1, 1, "", "pluginctl"], [3, 1, 1, "", "reconfigure"]], "opnsense_helper.config_manager": [[3, 0, 0, "-", "config_manager"]], "opnsense_helper.opnsense_helper": [[3, 1, 1, "", "Opnsense_Helper"]], "opnsense_helper.scripts": [[3, 0, 0, "-", "scripts"]], "opnsense_helper.scripts.scripts": [[3, 1, 1, "", "Scripts"], [3, 1, 1, "", "Wireguard"], [3, 1, 1, "", "auth"], [3, 1, 1, "", "dhcp"], [3, 1, 1, "", "dns"], [3, 1, 1, "", "filter"], [3, 1, 1, "", "firmware"], [3, 1, 1, "", "health"], [3, 1, 1, "", "interfaces"], [3, 1, 1, "", "ipsec"], [3, 1, 1, "", "netflow"], [3, 1, 1, "", "openssh"], [3, 1, 1, "", "openvpn"], [3, 1, 1, "", "routes"], [3, 1, 1, "", "shaper"], [3, 1, 1, "", "shell"], [3, 1, 1, "", "suricata"], [3, 1, 1, "", "syslog"], [3, 1, 1, "", "system"], [3, 1, 1, "", "unbound"]], "python.autodocs.auth": [[2, 0, 0, "-", "add_user"], [2, 0, 0, "-", "list_group_members"]], "python.autodocs.dhcp": [[2, 0, 0, "-", "cleanup_leases4"], [2, 0, 0, "-", "cleanup_leases6"], [2, 0, 0, "-", "dnsmasq_watcher"], [2, 0, 0, "-", "get_kea_leases"], [2, 0, 0, "module-0", "prefixes"]], "python.autodocs.dns": [[2, 0, 0, "-", "query_dns"]], "python.autodocs.filter": [[2, 0, 0, "-", "kill_states"], [2, 0, 0, "-", "list_states"], [2, 0, 0, "-", "rollback_cancel"], [2, 0, 0, "-", "rollback_timer"], [2, 0, 0, "-", "update_bogons"]], "python.autodocs.firmware": [[2, 0, 0, "-", "changelog"], [2, 0, 0, "-", "config"], [2, 0, 0, "-", "connection"], [2, 0, 0, "-", "details"], [2, 0, 0, "-", "health"], [2, 0, 0, "-", "hostnames"], [2, 0, 0, "-", "install"], [2, 0, 0, "-", "latest"], [2, 0, 0, "-", "launcher"], [2, 0, 0, "-", "license"], [2, 0, 0, "-", "lock"], [2, 0, 0, "-", "plugin"], [2, 0, 0, "-", "product"], [2, 0, 0, "-", "query"], [2, 0, 0, "-", "read"], [2, 0, 0, "-", "reboot"], [2, 0, 0, "-", "register"], [2, 0, 0, "-", "reinstall"], [2, 0, 0, "-", "remove"], [2, 0, 0, "-", "resync"], [2, 0, 0, "-", "running"], [2, 0, 0, "-", "security"], [2, 0, 0, "-", "sync"], [2, 0, 0, "-", "unlock"], [2, 0, 0, "-", "update"], [2, 0, 0, "-", "upgrade"]], "python.autodocs.health": [[2, 0, 0, "-", "updaterrd"]], "python.autodocs.interfaces": [[2, 0, 0, "-", "carp_global_status"], [2, 0, 0, "-", "carp_set_status"], [2, 0, 0, "-", "ifctl"], [2, 0, 0, "-", "reconfigure_gifs"], [2, 0, 0, "-", "reconfigure_gres"], [2, 0, 0, "-", "reconfigure_laggs"], [2, 0, 0, "-", "reconfigure_neighbors"], [2, 0, 0, "-", "reconfigure_vips"], [2, 0, 0, "-", "reconfigure_vlans"], [2, 0, 0, "-", "rtsold_resolvconf"], [2, 0, 0, "-", "traffic_stats"]], "python.autodocs.ipsec": [[2, 0, 0, "-", "get_legacy_vti"]], "python.autodocs.netflow": [[2, 0, 0, "-", "flush_all"]], "python.autodocs.openvpn": [[2, 0, 0, "-", "client_connect"], [2, 0, 0, "-", "client_disconnect"], [2, 0, 0, "-", "ovpn_service_control"], [2, 0, 0, "-", "tls_verify"], [2, 0, 0, "-", "user_pass_verify"]], "python.autodocs.repos": [[2, 0, 0, "-", "FreeBSD"], [2, 0, 0, "-", "OPNsense"]], "python.autodocs.routes": [[2, 0, 0, "-", "del_route"], [2, 0, 0, "-", "gateway_status"], [2, 0, 0, "-", "gateway_watcher"], [2, 0, 0, "-", "gateways"]], "python.autodocs.shell": [[2, 0, 0, "-", "banner"], [2, 0, 0, "-", "defaults"], [2, 0, 0, "-", "firmware"], [2, 0, 0, "-", "halt"], [2, 0, 0, "-", "password"], [2, 0, 0, "-", "ping"], [2, 0, 0, "-", "reboot"], [2, 0, 0, "-", "restore"], [2, 0, 0, "-", "setaddr"], [2, 0, 0, "-", "setports"]], "python.autodocs.suricata": [[2, 0, 0, "-", "listRuleMetadata"], [2, 0, 0, "-", "setup"]], "python.autodocs.syslog": [[2, 0, 0, "-", "clearlog"], [2, 0, 0, "-", "list_applications"], [2, 0, 0, "-", "queryLog"], [2, 0, 0, "-", "streamLog"]], "python.autodocs.system": [[2, 0, 0, "-", "cpu"], [2, 0, 0, "-", "nameservers"], [2, 0, 0, "-", "remote_backup"], [2, 0, 0, "-", "ssl_ciphers"], [2, 0, 0, "-", "status"], [2, 0, 0, "-", "sysctl"], [2, 0, 0, "-", "temperature"]], "python.autodocs.unbound": [[2, 0, 0, "-", "cache"], [2, 0, 0, "-", "logger"], [2, 0, 0, "-", "restore_db"], [2, 0, 0, "-", "start"], [2, 0, 0, "-", "stats"], [2, 0, 0, "-", "wrapper"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"]}, "objtypes": {"0": "py:module", "1": "py:class"}, "terms": {"": [0, 2, 3], "0": [0, 2], "00": 0, "01": 0, "02": 0, "03": 0, "0tnitdbolveqvd9fu8wfedo3d3dy5wrutf": 0, "1": [0, 2], "10": 2, "100": 0, "103": 0, "12": 2, "1500": 0, "16072": 0, "16384": 0, "168": 0, "1731025409": 0, "192": 0, "2": [0, 2], "20": 2, "200": 0, "24": 0, "25": 0, "3": [0, 2], "4": [0, 3], "5": 0, "5jvvgoatpbaaa": 0, "6": 0, "60": 2, "64": 0, "7": [0, 2], "8": 2, "80": [0, 1, 3], "A": [2, 3], "IF": 2, "If": [2, 3], "It": 2, "No": 0, "Not": [0, 1], "The": [0, 1, 2, 3], "There": 0, "__init__": 3, "_configur": 3, "_interfaces_gif_configur": 2, "_interfaces_gre_configur": 2, "_interfaces_lagg_configur": 2, "_interfaces_vlan_configur": 2, "_to": 0, "a_vip": 2, "aaaa": 2, "abi": 2, "about": 2, "account": 2, "action": 2, "activ": [2, 3], "actual": 2, "add": [0, 2], "add_item": 0, "add_us": [1, 3], "addit": 2, "address": [0, 2, 3], "advertis": 2, "af": 2, "after": [0, 1, 2], "again": 2, "agre": 2, "alarm": 2, "alia": 2, "all": [0, 1, 2, 3], "allow": 2, "also": [0, 2, 3], "alter": 2, "alwai": 3, "an": [2, 3], "anchor": 2, "ani": [0, 2], "annot": 2, "anoth": [2, 3], "answer": 0, "api": [2, 3], "api_auth": [0, 3], "api_kei": [0, 3], "api_secret": [0, 3], "append": 2, "appli": [0, 1, 2], "ar": [2, 3], "architectur": 2, "arg": 2, "argsv": 2, "argument": [0, 2, 3], "argv": 2, "arnl": 0, "around": [0, 1, 3], "arp": 2, "arr": 0, "arrai": [2, 3], "array_slic": 2, "arsv": 2, "asc": 2, "ascend": 2, "ascript": 2, "ask": 2, "assign": [1, 2, 3], "assoc": 2, "associ": 3, "assum": 2, "attribut": 3, "audit": 2, "auth": [0, 1], "auth_control_fil": 2, "auth_def": 2, "auth_fil": 2, "auth_method": 2, "auth_serv": 2, "authent": [2, 3], "autodoc": 0, "autom": 2, "automat": [0, 1, 3], "autoremov": 2, "avail": [2, 3], "avoid": 2, "back": [0, 2], "backend": [0, 1, 2], "backup": 2, "backup_dir": 2, "backupfactori": 2, "backupprovid": 2, "banner": [1, 3], "base": [0, 2, 3], "base_class": 3, "basenam": 2, "bdist_wheel": 0, "been": 2, "befor": 2, "begin": 2, "below": [2, 3], "besid": 0, "bin": 2, "bit": [0, 2], "blocklist": 3, "bogon": 2, "bool": [2, 3], "breakag": 2, "build": 0, "busi": 2, "c": [0, 2, 3], "cach": [1, 3], "calcul": 2, "call": [0, 1, 2, 3], "callback": 2, "can": [0, 1, 2, 3], "cancel": 2, "captiveport": 3, "captur": 3, "carp": 2, "carp_global_statu": [1, 3], "carp_set_statu": [1, 3], "carpcount": 2, "case": 2, "cat": 2, "cci": 2, "cd": [0, 2], "certctl": 3, "certif": 2, "chang": [0, 2], "changelog": [1, 3], "check": [2, 3], "checksum": 2, "chmod": 2, "choic": 2, "chop": 2, "chown": 2, "class": [0, 2], "clean": 2, "cleanli": 2, "cleanup_leases4": [1, 3], "cleanup_leases6": [1, 3], "clear": 2, "clearlog": [1, 3], "client": 2, "client_connect": [1, 3], "client_disconnect": [1, 3], "clone": 0, "close": 2, "close_con": 0, "cmd": 2, "code": 2, "collect": [0, 2], "com": 0, "comma": 2, "command": [1, 2], "common": 2, "common_nam": 2, "compar": 2, "conf": [0, 2, 3], "conf_path": [0, 3], "config": [1, 2, 3], "config_fil": 2, "config_manag": [1, 3], "config_read_arrai": 2, "configctl": [0, 1, 2], "configd": 3, "configd_run": 2, "configdrun": 2, "configur": [0, 1, 2, 3], "confirm": 2, "connect": [1, 3], "consid": 2, "consist": 2, "consol": 2, "contain": [2, 3], "content": 2, "continu": 2, "contribut": 1, "control": [0, 2, 3], "coonfig_manag": 1, "copi": [0, 2, 3], "core": [0, 2], "core_check": 2, "correct": 2, "correctli": 2, "correspond": [2, 3], "couldnt": 0, "count": 2, "cp": 2, "cpu": 1, "crash_report": 0, "crashreport": 0, "creat": [1, 2], "criteria": 2, "crl": 2, "cron": [2, 3], "cso": 2, "csv": 3, "current": [0, 2, 3], "d": [2, 3], "daemon": 2, "damn": 0, "data": [2, 3], "databas": 2, "date": 2, "db": 2, "debug": [0, 2, 3], "decid": 0, "decod": 2, "def": 0, "default": [0, 1, 3], "defer": 2, "defin": [0, 2], "definit": 1, "del_rout": [1, 3], "delai": 2, "delet": 2, "delete_t": 3, "delimit": 2, "depend": 2, "depth": 2, "desc": 2, "descr": 0, "descript": 2, "design": 2, "desir": 2, "destin": [0, 2], "destroi": 2, "destroy_if": 2, "detail": [1, 3], "detect": 0, "determin": 2, "develop": 2, "devic": [0, 3], "device_info": 3, "dhclient": 3, "dhcp": [0, 1], "dhcp_lease_fil": 2, "dhcpd": [0, 2, 3], "dhcpd6": [2, 3], "dhcpv4": 0, "dhcpv6": 2, "diagnost": 0, "dict": 3, "dictionari": 3, "die": 2, "dies": 2, "directli": 0, "directori": [2, 3], "disabl": 2, "disconnect": 3, "disk": 2, "dismiss": 2, "displai": 2, "dn": 1, "dns_logger": 2, "dnsmasq": 2, "dnsmasq_dhcpd": 2, "dnsmasq_watch": [1, 3], "dnssl": 2, "do": 0, "do_cont": 2, "do_verbos": 2, "doc": [0, 3], "doe": [0, 2], "doesnt": 0, "domain": 2, "done": 0, "down": 2, "download": [0, 2], "download_geoip": 3, "dpinger_statu": 2, "dropalertlog": 3, "duckdb": 2, "dummynet_stat": 3, "dump": [2, 3], "dump_log": 3, "dynam": 3, "e": [2, 3], "each": [2, 3], "echo": 2, "ein": 2, "either": 2, "ejl4fiu9yfnk": 0, "empti": [2, 3], "enabl": [0, 1, 2], "encod": 2, "ensur": 2, "enter": 2, "entri": 2, "env": 2, "env_init": 1, "environ": 2, "epoch": 2, "erreichbar": 2, "error": [0, 2], "escap": 2, "escapeshellarg": 2, "etc": 2, "everi": 0, "ex": 2, "exampl": 3, "exclud": 2, "exec_class": 3, "execut": [2, 3], "exist": [0, 2], "exit": 2, "expir": [0, 2], "explod": 2, "export_detail": 3, "extens": 2, "extract": 2, "f": [2, 3], "facil": 2, "factori": 2, "fail": 2, "failur": 2, "fals": [0, 2, 3], "famili": 2, "faulti": 2, "fclose": 2, "fe80": 0, "fetch": 2, "fetchdata": 3, "fget": 2, "fhandl": 2, "field": 2, "file": [0, 2, 3], "file_exist": 2, "file_get_cont": 2, "filemtim": 2, "filenam": 2, "filepath": 0, "files": 2, "filter": 1, "filter_": 2, "final": 2, "find": [0, 2], "find_table_refer": 3, "firewal": [0, 2, 3], "firmwar": 1, "firmware_runn": 1, "firmwarescript": 2, "flag": [0, 2, 3], "flavour": 2, "flock": 2, "flow": 2, "flowctl_stat": 3, "flowd": 2, "flowd_aggreg": [2, 3], "flowd_aggregate_metadata": 3, "flush": [2, 3], "flush_al": [1, 3], "flush_interv": 2, "flush_rout": 2, "flush_rrd": 3, "flush_slaac": 2, "fname": 2, "follow": [2, 3], "fopen": 2, "forc": [0, 2], "fork": 0, "format": 2, "found": [0, 2], "fozldqy92": 0, "fp": 2, "fread": 2, "freebsd": 1, "from": [0, 2, 3], "frontend": 1, "ftruncat": 2, "full": 2, "function": 2, "fwrite": 2, "g": [2, 3], "gaqmpk": 0, "gatewai": [0, 1, 3], "gateway_statu": [1, 3], "gateway_watch": [1, 3], "gatewayitem": 2, "gateways_statu": 2, "gen_keypair": 3, "gener": 2, "generate_cert": 3, "generiert": 2, "get": [2, 3], "get_conf": 0, "get_kea_leas": [1, 3], "get_leas": 3, "get_leases6": 3, "get_legacy_vti": [1, 3], "get_timeseri": 3, "get_top_usag": 3, "get_vhid_statu": 2, "getopt": 2, "getuserentrybyuid": 2, "gif": 2, "gif_configur": 2, "gifs_todo": 2, "git": 0, "github": 0, "given": [0, 2], "gname": 2, "god": 0, "gre": 2, "gre_configur": 2, "gres_todo": 2, "group": 2, "gw": 2, "gwname": 2, "gwname6": 2, "h": 2, "ha": [0, 2], "halt": [1, 3], "handl": 2, "have": 0, "head": 2, "health": [1, 3], "help": 2, "hint": 2, "hook": [2, 3], "host": [0, 2, 3], "hostnam": [1, 3], "hour": 2, "howev": 0, "html": 2, "http": 2, "human": 2, "i": [0, 1, 2, 3], "id": [2, 3], "identifi": 2, "if_reg": 3, "ifconfig": [2, 3], "ifctl": [1, 3], "ifdetail": 2, "ifgroup_setup": 2, "iflist": 2, "ifnam": 2, "implod": 2, "import": [0, 3], "inc": 2, "includ": 2, "indefinit": 2, "index": 2, "indic": 2, "inet": 2, "inet6": 2, "info": 3, "inform": 2, "inherit": 3, "init": 0, "init_config_manag": 3, "initi": [0, 2, 3], "input": 2, "insensit": 2, "instal": [1, 3], "installed_rul": 2, "installrul": 3, "instanc": [2, 3], "int": 2, "intbit": 2, "intbits6": 2, "integr": 2, "interact": 2, "interfac": [0, 1], "interface_carp_configur": 2, "interface_ipalias_configur": 2, "interface_proxyarp_configur": 2, "interfaces_addresses_flush": 2, "interfaces_neighbors_configur": 2, "interfaces_restart_by_devic": 2, "interv": 2, "intip": 2, "intip6": 2, "invok": [2, 3], "ip": [2, 3], "ip_to_remov": 2, "ipfw": 3, "ipsec": 1, "ipsec_get_configured_vti": 2, "ipv4": [0, 2, 3], "ipv6": [0, 2], "is_ipaddr": 2, "isen": 2, "ist": 2, "item": 0, "iter": 2, "iterateitem": 2, "its": [0, 2, 3], "join": 2, "jot": 2, "json": 2, "json_decod": 2, "json_encod": 2, "just": [0, 3], "kea": 3, "kei": [2, 3], "kernel": 2, "key_valu": 2, "kill_sess": 3, "kill_stat": [1, 3], "kill_tabl": 3, "l": 2, "label": 2, "lagg": 2, "lagg_configur": 2, "laggs_todo": 2, "lan": [0, 1], "last": 2, "latest": [1, 3], "launcher": 3, "leas": 2, "least": 2, "leav": 2, "legaci": 2, "legacy_config_get_interfac": 2, "legacy_interface_deladdress": 2, "legacy_interface_destroi": 2, "legacy_interface_stat": 2, "legacy_interfaces_detail": 2, "legacy_vlan_pcp": 2, "legacy_vlan_proto": 2, "legacy_vlan_remove_tag": 2, "legacy_vlan_tag": 2, "length": 2, "let": [0, 3], "lib": 3, "libfetch": 2, "librari": 3, "libvirt": 0, "licens": [1, 3], "licensedir": 2, "licensefil": 2, "limit": 2, "line": [0, 2], "link": 0, "linkdown": 3, "linkup": 3, "list": [2, 3], "list_appl": [1, 3], "list_arp": 3, "list_group_memb": [1, 3], "list_leas": 3, "list_macdb": 3, "list_ndp": 3, "list_osfp": 3, "list_pfsync": 3, "list_rule_id": 3, "list_sad": 3, "list_sockstat": 3, "list_spd": 3, "list_stat": [1, 3], "list_statu": 3, "list_tabl": 3, "listalertlog": 3, "listinstallableruleset": 3, "listprovid": 2, "listreport": 3, "listrulemetadata": [1, 3], "lo0": 0, "load": [0, 2], "local": [0, 2], "local_user_set": 2, "local_user_set_password": 2, "localhost": 0, "locat": 2, "lock": [1, 3], "lockfil": 2, "lockout_handl": 3, "log": [0, 2], "log_arch": 3, "logformat": 3, "logger": [1, 3], "loginterfac": 0, "logloc": 0, "longopt": 2, "m": [0, 2], "mac": 2, "macinfo": 3, "made": 0, "mai": 0, "main": [0, 2], "maintain": 2, "mainten": 2, "make": 0, "manag": 2, "manipul": 2, "manner": 2, "map": 2, "map_if": 2, "match": 2, "matter": 0, "md": 2, "md5": 2, "mdl": 2, "me": 0, "member": 2, "merg": 2, "messag": [0, 2, 3], "metadata": [2, 3], "metafil": 2, "method": [0, 2], "minut": 2, "mirror": 2, "miss": 2, "mkdir": 2, "mname": 2, "mock": 2, "mode": 2, "modif": 2, "modifi": 2, "modul": 2, "monit": 3, "motiv": 1, "mpd": 3, "mself": 0, "mtu": 0, "must": [2, 3], "mx": 2, "my": 0, "myservic": 3, "n": [0, 2], "name": [2, 3], "nameserv": [1, 3], "nameserver6": 2, "necessari": [2, 3], "need": [0, 2, 3], "neighbor": 2, "netboot": 1, "netflow": 1, "netif": 0, "network": [0, 2], "new": 2, "next": 2, "nhop": 0, "nicht": 2, "non": 2, "none": [0, 2, 3], "note": 2, "null": [0, 2], "number": 2, "o": 2, "object": [2, 3], "ocsp": 2, "off": 2, "offer": 2, "offset": 2, "oldest": 2, "onc": [0, 1, 2], "one": [0, 2], "onescript": 2, "onli": 2, "onsense_help": 3, "open": 2, "openssh": 1, "openvpn": 1, "oper": [2, 3], "opnsense_help": [0, 1], "opnsensecorebackend": 2, "opnsensecoreconfig": 2, "opnsensefirewallfilt": 2, "opnsenseinterfacesgif": 2, "opnsenseinterfacesgr": 2, "opnsenseinterfaceslagg": 2, "opnsenseopenvpnopenvpn": 2, "opnsenseroutinggatewai": 2, "opnsenserrdfactori": 2, "opnsensesystemsystemstatu": 2, "opnsensetruststor": 2, "opt": 2, "opt1": 0, "opt2": 0, "opt3": 0, "opt4": 0, "optind": 2, "option": [2, 3], "optstr": 2, "order": 2, "origin": 2, "other": [0, 1, 2], "otherwis": 2, "out": 2, "output": [0, 2], "over": 2, "overrid": 2, "ovpn_ev": 3, "ovpn_instance_stat": 2, "ovpn_service_control": [1, 3], "ovpn_start": 2, "ovpn_statu": 3, "ovpn_stop": 2, "own": 2, "ownership": 2, "packag": [0, 2, 3], "param": 2, "paramet": [2, 3], "parent": 3, "pars": [0, 2, 3], "part": 2, "pass": 3, "passthru": 2, "passw": [0, 3], "password": [1, 3], "path": [2, 3], "paus": 2, "pcp": [0, 2], "pend": 2, "perform": 2, "permiss": 2, "pf": 2, "pfctl": 2, "pfstatist": 3, "pftablecount": 3, "pftop": 3, "phisic": 0, "php": [0, 1, 3], "phy": [0, 1], "pid": [0, 2], "ping": [1, 3], "pinghost": 2, "pip": [1, 3], "pipe": 2, "pkg": 2, "placehold": 2, "plugin": [1, 3], "pluginctl": [0, 1, 2], "plugins_config_get": 2, "plugins_config_set": 2, "plugins_disk_found": 2, "plugins_disk_get": 2, "pod": 0, "point": 2, "pointer": 2, "poll": 2, "port": 2, "portprob": 3, "posit": 2, "possibl": 2, "power": 2, "ppp": 3, "pre": 2, "prefix": [1, 3], "presenc": 2, "present": 2, "press": 2, "prevent": 2, "primari": 3, "print": [2, 3], "prioriti": 2, "problem": 0, "proce": 2, "procedur": 2, "process": 2, "product": [1, 3], "program": 2, "project": 0, "prompt": 2, "properti": [2, 3], "proto": [0, 2], "protocol": 2, "provid": [0, 2, 3], "proxi": 2, "pull": 0, "put_fil": 0, "pw": 2, "py": [0, 1, 3], "pypi": 0, "python": 0, "python3": 0, "queri": [1, 3], "query_dn": [1, 3], "queryalertlog": 3, "queryinstalledrul": 3, "querylog": [1, 3], "question": 0, "r": [2, 3], "ra": 2, "radvd": 2, "random": 2, "random_delai": 2, "raw": 3, "rc": [0, 2], "rdnss": 2, "re": 2, "read": [0, 1, 3], "read_log": 3, "readabl": 2, "readi": 2, "realli": 0, "reboot": [1, 3], "receiv": 2, "recogn": 2, "reconfigur": [0, 1, 2], "reconfigure_gif": 1, "reconfigure_gr": 1, "reconfigure_lagg": [1, 3], "reconfigure_neighbor": [1, 3], "reconfigure_vip": [1, 3], "reconfigure_vlan": [1, 3], "record": 2, "redund": 2, "refresh": 2, "regist": [1, 3], "registr": [2, 3], "reinstal": [1, 3], "relat": 2, "relatedscript": 2, "relev": 2, "reload": 2, "reload_al": 2, "remain": 2, "remot": 2, "remote_backup": [1, 3], "remov": [1, 3], "remove_item": 0, "renam": 3, "repli": 0, "repo": [0, 1], "repositori": 2, "request": 0, "requir": [1, 2], "require_onc": 2, "reresolv": 3, "reset": 2, "reset_factory_default": 2, "resolv": 2, "resourc": 2, "respons": 2, "restart": [2, 3], "restart_webgui": 2, "restor": [1, 3], "restore_db": [1, 3], "result": 2, "resync": [1, 3], "resynchron": 2, "ret": 2, "retriev": 2, "return": [2, 3], "revert": 2, "revis": 2, "rfc5246_cipher_suit": 3, "right": 0, "robin": 2, "roll": 2, "rollback": 2, "rollback_cancel": 3, "rollback_cancl": 1, "rollback_tim": [1, 3], "root": [0, 2], "round": 2, "rout": [0, 1], "router": [0, 2], "row": 2, "rqia15f1yx1snikgciel2qnojwhbekrawie0anryceh9hey5ifgzlf3da4yj": 0, "rqueri": 2, "rrd": 2, "rrd_pfstate_info": 3, "rtsold": 2, "rtsold_resolvconf": [1, 3], "rule": [0, 2, 3], "rule_stat": 3, "run": [0, 1, 3], "run_act": 2, "run_unittest": 3, "runscript": 2, "runtim": [0, 1, 2], "saddelet": 3, "safe": 2, "sampl": 2, "save": [0, 2], "sbin": 2, "search": 2, "searchdomain": 2, "second": 2, "section": 2, "secur": [1, 3], "sed": 2, "see": 3, "select": 2, "separ": 2, "server": 2, "servic": [0, 2, 3], "service_dump": 3, "servicepid": 2, "set": [0, 2, 3], "set_check": 2, "setaddr": [1, 3], "setport": [1, 3], "setup": [0, 2, 3], "setup_interfac": 2, "sever": 2, "sh": [0, 1, 3], "shaper": 1, "shell": 1, "shell_saf": 2, "shh": [0, 1], "shop": 0, "short": 2, "shortopt": 2, "show": 2, "show_rout": [0, 3], "shut": 2, "signal": 2, "signalhandl": 2, "simpl": 2, "singl": [0, 2], "size": 2, "slaac": 2, "slice": 2, "snippet": 0, "so": [0, 2], "soon": 0, "sort": 2, "sort_bi": 2, "sourc": 2, "spddelet": 3, "specif": 2, "specifi": 2, "split": 2, "spread": 2, "srgsv": 2, "ssh": [0, 3], "ssh_auth": [0, 3], "ssh_queri": 3, "ssl": [0, 3], "ssl_cipher": [1, 3], "stabl": 2, "standard": 2, "start": [0, 1, 3], "stat": [1, 3], "state": 2, "static": 2, "statist": [2, 3], "statu": [0, 1, 3], "status_transl": 2, "statuscod": 0, "stdin": 2, "stdout": 2, "still": 2, "stop": 2, "store": 2, "str": [0, 2, 3], "str1": 2, "str2": 2, "strcasecmp": 2, "stream": 2, "streamlog": 1, "string": [2, 3], "stuff": [0, 1], "subnet": 2, "subr": [2, 3], "subscript": 2, "success": 2, "suffix": 2, "support": [0, 2], "sure": 0, "suricata": 1, "suricata_setup": 1, "sync": [1, 3], "synchron": 2, "syntax": 0, "sysctl": [1, 3], "syshook": 2, "syslog": 1, "system": [0, 1], "t6srlmkd1": 0, "tabl": 2, "tag": [0, 2], "take": 2, "tar": 2, "target": 2, "targetdb": 2, "tee": 2, "tell": 2, "temp": 3, "temp_path": [0, 3], "temperatur": [1, 3], "templat": 3, "temporari": [2, 3], "terraform": 0, "text": 2, "thei": 2, "them": [0, 2], "thescript": 2, "thi": [0, 2, 3], "thisscript": 2, "those": 3, "three": 2, "tier": 2, "time": 2, "timer": 2, "timestamp": [0, 2], "tl": 2, "tls_verifi": [1, 3], "tlsv1": 2, "tmp": [0, 2], "total": 2, "touch": 2, "tracerout": 3, "traffic": 2, "traffic_stat": [1, 3], "traffic_top": 3, "trail": 2, "translat": 2, "trigger_config_changed_ev": 3, "trim": 2, "troubleshoot": 2, "true": [0, 2, 3], "truncat": 2, "trust": 2, "two": 2, "txt": 2, "type": 2, "u": [0, 2], "ug": 0, "uh": 0, "ui": 0, "uid": 2, "unbound": 1, "unbound_watch": 3, "unchang": 2, "und": 2, "uniqu": 2, "unknown": 2, "unlock": [1, 3], "unnecessari": 2, "unwant": 2, "up": [2, 3], "updat": [1, 3], "update_bogon": [1, 3], "update_t": 3, "updaterrd": 1, "updown_ev": 3, "upgrad": [0, 1, 3], "uptim": 3, "url": 2, "us": [0, 1, 2], "usag": [1, 2, 3], "user": [0, 2, 3], "user_pass_verifi": [1, 3], "usermod": 2, "usernam": 2, "using_api": 0, "usr": [0, 2], "util": 2, "uuid": 2, "v": 2, "valid": 2, "valid_from": 2, "valu": [2, 3], "var": 2, "variabl": [1, 2], "variou": [2, 3], "verbos": [0, 2, 3], "veri": 2, "verif": 2, "verifi": [0, 2, 3], "version": 2, "vfilenam": 2, "via": [0, 1, 2], "vip": 2, "virtual": 2, "vlan": [0, 1, 2, 3], "vlan0": 0, "vlan1": 0, "vlan2": 0, "vlan3": 0, "vlanif": 0, "vlans_api": 0, "vm": 0, "void": 2, "vpn": 2, "vpnid": 2, "vti": 2, "vtnet0": 0, "vtnet1": 0, "wa": 2, "wait": 2, "want": [0, 2], "warn": 2, "watch": 2, "web": 2, "webgui": 3, "well": 0, "wenn": 2, "were": [0, 2], "wg": 3, "wg_show": 3, "when": [0, 2], "where": 3, "whether": 2, "which": 2, "whitespac": 2, "wireguard": 1, "without": 2, "wrapper": [1, 3], "write": 2, "write_config": 2, "x": 2, "xml": [0, 3], "xxx": 2, "y": 2, "yaml": 2, "yes_no_prompt": 2, "yi8ka9": 0, "you": [0, 1, 3], "your": [0, 1, 3], "zero": 2, "zf": 3, "\u00fcberwacht": 2}, "titles": ["about opnsense-helper", "Opnsense-Helper", "auth", "Opnsense-Helper"], "titleterms": {"about": [0, 1], "add_us": 2, "api": [0, 1], "assign": 0, "auth": [2, 3], "autodoc": 1, "banner": 2, "cach": 2, "carp_global_statu": 2, "carp_set_statu": 2, "changelog": 2, "cla": 3, "class": 3, "cleanup_leases4": 2, "cleanup_leases6": 2, "clearlog": 2, "client_connect": 2, "client_disconnect": 2, "command": [0, 3], "config": 0, "config_manag": 0, "configctl": 3, "connect": 2, "contribut": 0, "coonfig_manag": 3, "cpu": 2, "creat": 0, "default": 2, "definit": 2, "del_rout": 2, "detail": 2, "dhcp": [2, 3], "dn": [2, 3], "dnsmasq_watch": 2, "dokument": 1, "env_init": 2, "exampl": 0, "filter": [2, 3], "firmwar": [2, 3], "firmware_runn": 2, "flush_al": 2, "freebsd": 2, "frontend": 0, "gatewai": 2, "gateway_statu": 2, "gateway_watch": 2, "get_kea_leas": 2, "get_legacy_vti": 2, "halt": 2, "health": 2, "heatlh": 3, "helper": [0, 1, 3], "hostnam": 2, "ifctl": 2, "instal": [0, 2], "interfac": [2, 3], "ipsec": [2, 3], "kill_stat": 2, "latest": 2, "licens": 2, "list_appl": 2, "list_group_memb": 2, "list_stat": 2, "listrulemetadata": 2, "lock": 2, "logger": 2, "manual": 0, "modul": 0, "motiv": 0, "nameserv": 2, "netboot": 2, "netflow": [2, 3], "object": 0, "openssh": [2, 3], "openvpn": [2, 3], "opnsens": [0, 1, 2, 3], "opnsense_help": 3, "ovpn_service_control": 2, "password": 2, "php": 2, "ping": 2, "pip": 0, "plugin": 2, "pluginctl": 3, "prefix": 2, "product": 2, "py": 2, "python": 1, "queri": 2, "query_dn": 2, "querylog": 2, "read": 2, "reboot": 2, "reconfigur": 3, "reconfigure_gif": 2, "reconfigure_gr": 2, "reconfigure_lagg": 2, "reconfigure_neighbor": 2, "reconfigure_vip": 2, "reconfigure_vlan": 2, "regist": 2, "reinstal": 2, "remote_backup": 2, "remov": 2, "repo": 2, "requir": 0, "restor": 2, "restore_db": 2, "result": 0, "resync": 2, "rollback_cancl": 2, "rollback_tim": 2, "rout": [2, 3], "rtsold_resolvconf": 2, "run": 2, "script": [0, 1, 2, 3], "secur": 2, "setaddr": 2, "setport": 2, "sh": 2, "shaper": [2, 3], "shell": [2, 3], "ssl_cipher": 2, "start": 2, "stat": 2, "statu": 2, "streamlog": 2, "suricata": [2, 3], "suricata_setup": 2, "sync": 2, "sysctl": 2, "syslog": [2, 3], "system": [2, 3], "temperatur": 2, "tls_verifi": 2, "traffic_stat": 2, "unbound": [2, 3], "unlock": 2, "updat": 2, "update_bogon": 2, "updaterrd": 2, "upgrad": 2, "usag": 0, "user_pass_verifi": 2, "variabl": 0, "wireguard": [2, 3], "wrapper": 2}}) \ No newline at end of file diff --git a/.docs/conf.py b/.docs/conf.py index 1890a24..00d9a38 100644 --- a/.docs/conf.py +++ b/.docs/conf.py @@ -1,6 +1,6 @@ import os import sys -sys.path.insert(0, os.path.abspath('../python')) # Source code dir relative to this file +sys.path.insert(0, os.path.abspath('../')) # Source code dir relative to this file extensions = [ 'sphinx.ext.autodoc', # Core library for html generation from docstrings @@ -34,7 +34,7 @@ project = 'opnsense_helper' copyright = '2024, ji-podhead' author = 'ji-podhead' -release = '0.1.20' +release = '0.1.26' # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usa.lock". + +*Params* + - argsv[0] : int + - (optional): The revision number to cancel + +*Flow* + - Checks if a revision number is provided as a command-line argument + - If a revision number is provided, checks if a lock file exists for that revision + - If the lock file exists, deletes it and exits with a success code (0) + - If no revision number is provided or the lock file does not exist, exits with a failure code (1) + +*Outputs* + + - Exit code: 0 (success) or 1 (failure) + +""" \ No newline at end of file diff --git a/python/autodocs/filter/rollback_timer.py b/python/autodocs/filter/rollback_timer.py new file mode 100644 index 0000000..a3b429f --- /dev/null +++ b/python/autodocs/filter/rollback_timer.py @@ -0,0 +1,26 @@ +""" +script rollback_timer.php +----------------------------------------------------------------------- + +A script to manage the rollback timer for firewall filter changes. + +It uses the OPNsense\Firewall\Filter class to manage firewall filter changes. +It is used to manage the rollback timer for firewall filter changes. + +*Params* + - argsv[0] : int + - (optional): The revision number to cancel + +*Functions* + - OPNsense\Firewall\Filter::rollback($revision): Rolls back to the specified revision + - OPNsense\Core\Backend::configdRun($command): Runs a command on the backend + +*Flow* + - Checks the command-line arguments for the revision number + - Creates a lock file for the revision + - Waits for 60 seconds for the API to callback + - If the lock file is deleted, exits with success + - If the lock file still exists, rolls back to the specified revision + - Reloads the firewall filter configuration if the rollback is successful + +""" \ No newline at end of file diff --git a/python/autodocs/filter/update_bogons.py b/python/autodocs/filter/update_bogons.py new file mode 100644 index 0000000..0b0cc4d --- /dev/null +++ b/python/autodocs/filter/update_bogons.py @@ -0,0 +1,19 @@ + +""" +script update_bogons.sh +--------------------------------------- + +Updates the bogons files for IPv4 and IPv6. + +It downloads the latest bogons files from the OPNsense repository, verifies their integrity, and extracts them to a temporary directory. +Thescript then updates the bogons tables in the pf firewall configuration. +If the update is successful, thescript logs a success message. + +*Params* + - ${1} : str + - COMMAND: The command to execute (e.g. "cron"). + +*Notes* + - Thisscript assumes that the necessary commands (`opnsense-update`, `fetch`, `tar`, `pfctl`, `logger`) are available. + - Thescript uses the `/usr/local/etc` directory to store the bogons files. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/changelog.py b/python/autodocs/firmware/changelog.py new file mode 100644 index 0000000..cb1ef71 --- /dev/null +++ b/python/autodocs/firmware/changelog.py @@ -0,0 +1,27 @@ + +""" + +script changelog.sh +------------------------------ + +Executes the main functionality of the changelog management program. + +*Params* + - ${1} : str + - Command to execute (fetch, cron, remove, list, url, html, text) + - ${2} : str (optional) + - Version number (required for html and text commands) + +*Returns* + - int + - Exit status of thescript (0 for success, non-zero for failure) + +*Commands* + - fetch : Fetches the latest changelog from the remote repository. + - cron : Fetches the latest changelog from the remote repository, pausing for at least 10 minutes spread out over the next 12 hours. + - remove : Removes all changelog files from the destination directory. + - list : Lists the contents of the index.json file. + - url : Prints the URL of the remote changelog repository. + - html : Prints the HTML changelog for the specified version. + - text : Prints the text changelog for the specified version. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/check.py b/python/autodocs/firmware/check.py new file mode 100644 index 0000000..6644385 --- /dev/null +++ b/python/autodocs/firmware/check.py @@ -0,0 +1,20 @@ + +""" +script check.sh +------------------------------ + + +*Params* + +- None + +*Arguments* + +- None + +*Returns* + +- int + The exit status of thescript. + +""" \ No newline at end of file diff --git a/python/autodocs/firmware/config.py b/python/autodocs/firmware/config.py new file mode 100644 index 0000000..eaa8e42 --- /dev/null +++ b/python/autodocs/firmware/config.py @@ -0,0 +1,10 @@ + +"""script env_init.sh +------------------------------ + +Initializes the environment for OPNsense firmware operations. + +It checks if the OPNsense update is available and if so, sets environment +variables to disable TLS versions below 1.3, refreshes CRL files, and tells +libfetch to verify from the trust store. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/connection.py b/python/autodocs/firmware/connection.py new file mode 100644 index 0000000..4a0f962 --- /dev/null +++ b/python/autodocs/firmware/connection.py @@ -0,0 +1,12 @@ + +""" + +script connection.sh +------------------------------ + +Checks connectivity to OPNsense servers and verifies server certificates. + +It uses the `opnsense-update` commands to determine the URLs of the servers, +and then checks connectivity to these servers over IPv4 and IPv6. +Finally, it verifies the server certificates. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/details.py b/python/autodocs/firmware/details.py new file mode 100644 index 0000000..8d7509f --- /dev/null +++ b/python/autodocs/firmware/details.py @@ -0,0 +1,16 @@ + +""" + +script details.sh +------------------------------ + +Queries package information. + +It takes a package name as an argument and uses the `pkg rquery` command to retrieve information about the package. +Thescript outputs the package name, version, and maintainer. + +*Params* + - ${1} : str + - The package to query. + +""" \ No newline at end of file diff --git a/python/autodocs/firmware/health.py b/python/autodocs/firmware/health.py new file mode 100644 index 0000000..5258702 --- /dev/null +++ b/python/autodocs/firmware/health.py @@ -0,0 +1,22 @@ + +""" +script health.sh +------------------------------ + +Performs a health audit on the system. + +It checks the root file system, kernel, base system, repositories, plugins, +locked packages, and package dependencies. +It also checks for missing or altered package files. +The audit results are logged to a file. + +*Params* + - ${1}: str + - Optional command to specify which audit to perform. + - Possible values: kernel, base, repos, plugins, locked, packages, core + +*Functions* + + - set_check: Checks the version and consistency of a package. + - core_check: Checks the consistency of the core packages. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/hostnames.py b/python/autodocs/firmware/hostnames.py new file mode 100644 index 0000000..96eb9bc --- /dev/null +++ b/python/autodocs/firmware/hostnames.py @@ -0,0 +1,17 @@ + +""" + +script hostnames.sh +------------------------------ + +Retrieves the hosts of the repositories configured on the system. + +It uses the `opnsense-verify` command to get the list of repositories, +and then parses the repository configuration files to extract the URLs. +It filters out non-HTTPS URLs and extracts the host from the remaining URLs. +The unique hosts are then printed to the console. + +*Returns* + - A list of unique hosts of the repositories. + +""" \ No newline at end of file diff --git a/python/autodocs/firmware/install.py b/python/autodocs/firmware/install.py new file mode 100644 index 0000000..a011936 --- /dev/null +++ b/python/autodocs/firmware/install.py @@ -0,0 +1,20 @@ + +""" +script install.sh +--------------------------------------- + +Installs a package on the system. +It checks if the package is a core package and if so, it checks if the core package is up-to-date. +If the core package is not up-to-date, it exits and displays an error message. +Otherwise, it installs the package using the `pkg` command and logs the output to a lockfile. +After installation, it runs the `register.php`script to register the package and then runs `pkg autoremove` to remove any unnecessary packages. + +*Params* + - ${1} : str + - Name of the package to install. + +*Notes* - Thisscript uses the `opnsense-version` command to get the current version of the system. + - Thisscript uses the `pkg` command to install and manage packages. + - Thisscript uses the `register.php`script to register the package. + - Thisscript logs all output to a lockfile. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/latest.py b/python/autodocs/firmware/latest.py new file mode 100644 index 0000000..0f5dae2 --- /dev/null +++ b/python/autodocs/firmware/latest.py @@ -0,0 +1,13 @@ +""" +script latest.php +--------------------------------------------------------------------- + +Retrieves the latest stable version of OPNsense by parsing the changelog file. + +*Params*- arsv[1] : str + - Path to the changelog file (default: /usr/local/opnsense/changelog/index.json) + +*Returns* + - string + - The latest stable version of OPNsense, or the current version if unknown. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/launcher.py b/python/autodocs/firmware/launcher.py new file mode 100644 index 0000000..7e0034f --- /dev/null +++ b/python/autodocs/firmware/launcher.py @@ -0,0 +1,28 @@ + +""" + +script firmware_runner.sh +--------------------------------------- + +Runs a firmwarescript. + +It supports various options, such as specifying ascript, setting a random delay, and enabling verbose mode. +Thescript uses a lock file to ensure that only onescript is run at a time. + +*Params* + - r: int + - Optional: Sets a random delay before running thescript. + - s: str + - Optional: Specifies thescript to run. + - u: bool + - Optional: Runs thescript without a lock file. + - V: bool + - Optional: Enables verbose mode. + +*Returns* + - int + - The return value of the runscript. + +*Notes* - Thisscript uses the `flock` function to manage the lock file. + - Thescript uses the `jot` function to generate a random delay. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/license.py b/python/autodocs/firmware/license.py new file mode 100644 index 0000000..60db629 --- /dev/null +++ b/python/autodocs/firmware/license.py @@ -0,0 +1,18 @@ + +""" +script license.sh +--------------------------------------- + +Displays the license information for a package. + +It uses the `pkg` command to query the package database and retrieve the license information. +Thescript then displays the license text for each license found. + +*Params* + - ${1} : str + - The name of the package to display the license information for. + +*Notes* + - Thisscript assumes that the license files are stored in the `${LICENSEDIR}` directory. + - Thescript uses the `${PKG}` command to query the package database. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/lock.py b/python/autodocs/firmware/lock.py new file mode 100644 index 0000000..998745d --- /dev/null +++ b/python/autodocs/firmware/lock.py @@ -0,0 +1,19 @@ + +""" + +script lock.sh +--------------------------------------- + +Locks a package to prevent updates. + +It uses the `opnsense-update` command to lock the base or kernel set, or the `pkg` command to lock a specific package. +Thescript logs its actions to a lock file. + +*Params* + - ${1} : str + - The name of the package to lock. + +*Notes* + - Thisscript assumes that the lock file is stored in the `${LOCKFILE}` directory. + - Thescript uses the `opnsense-version` command to retrieve the current version of the system. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/plugin.py b/python/autodocs/firmware/plugin.py new file mode 100644 index 0000000..6dffd20 --- /dev/null +++ b/python/autodocs/firmware/plugin.py @@ -0,0 +1,21 @@ + +""" +script plugin.sh +--------------------------------------- + +Checks if a plugin is installed. + +It uses the `opnsense-version` command to check if the plugin is installed, either in stable or development version. +Thescript returns 0 if the plugin is not installed, and 1 if it is installed. + +*Params* + - ${1} : str + - PLUGIN: The name of the plugin to check. + +*Returns* + - int + - 0 if the plugin is not installed, 1 if it is installed. + +*Notes* + - Thisscript assumes that the `opnsense-version` command is available. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/product.py b/python/autodocs/firmware/product.py new file mode 100644 index 0000000..ec5ff51 --- /dev/null +++ b/python/autodocs/firmware/product.py @@ -0,0 +1,38 @@ +""" +script product.php +------------------------------------- + +A script to retrieve and display product information. + +This script uses the `json_decode`, `file_get_contents`, `shell_safe`, `date`, `filemtime`, `explode`, `sort`, `implode`, and `json_encode` functions to retrieve and display the product information. +The script assumes that the product metadata file and license file are in the correct format and location. + +*Arguments* + - $metafile: The path to the product metadata file + - $licensefile: The path to the product license file + - $ret: The array to store the product information + +*Functions* + - json_decode(string $json, bool $assoc): Decodes a JSON string into a PHP array + - file_get_contents(string $filename): Reads the contents of a file + - shell_safe(string $command): Executes a shell command and returns the output + - date(string $format, int $timestamp): Formats a timestamp into a human-readable date string + - filemtime(string $filename): Returns the last modification time of a file + - explode(string $delimiter, string $string): Splits a string into an array using a delimiter + - sort(array &$array): Sorts an array in ascending order + - implode(string $delimiter, array $array): Joins an array into a string using a delimiter + - json_encode(array $array, int $flags): Encodes a PHP array into a JSON string + +*Flow* + - Reads the product metadata file and decodes the JSON contents into an array + - Retrieves the latest product version, mirror URL, and timestamp + - Retrieves the list of repositories and sorts them in ascending order + - Checks if there are any pending updates and retrieves the update log + - Retrieves the license information from the license file (if available) + - Sorts the product information array in ascending order + - Encodes the product information array into a JSON string and outputs it + +*Outputs* + + - A JSON string containing the product information +""" \ No newline at end of file diff --git a/python/autodocs/firmware/query.py b/python/autodocs/firmware/query.py new file mode 100644 index 0000000..89a66b5 --- /dev/null +++ b/python/autodocs/firmware/query.py @@ -0,0 +1,26 @@ + +""" +script query.sh +---------------------------------------- + +Retrieves version information for OPNsense. + +It uses the `opnsense-version` command to retrieve version information for the base and kernel sets. +It also uses the `pkg` command to retrieve package information. +Thescript supports three modes: + - local: Retrieves version information for the local OPNsense installation. + - remote: Retrieves version information from a remote repository. + - tiers: Retrieves product tier annotations from a remote repository. + +*Params* + - ${1} : str + - MODE: The mode to retrieve version information (local, remote, tiers). + +*Returns* + - str + - The version information in a formatted string. + +*Notes* + - Thisscript assumes that the necessary commands (`opnsense-version`, `pkg`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/read.py b/python/autodocs/firmware/read.py new file mode 100644 index 0000000..cde1974 --- /dev/null +++ b/python/autodocs/firmware/read.py @@ -0,0 +1,19 @@ + +""" +script read.sh +--------------------------------------- + +Retrieves the lock file for a package. + +It checks if the lock file exists and prints its content. +The lock file is assumed to be located at the `${LOCKFILE}` directory. + +*Returns* + - str + - The lock file content. + +*Notes* + - Thisscript assumes that the necessary commands (`cat`, `sed`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. + +""" \ No newline at end of file diff --git a/python/autodocs/firmware/reboot.py b/python/autodocs/firmware/reboot.py new file mode 100644 index 0000000..823b7c9 --- /dev/null +++ b/python/autodocs/firmware/reboot.py @@ -0,0 +1,20 @@ + +""" +script reboot.sh +-------------------------------------------- + +Provides a hint to the console to reboot the system. + +It checks if an update to the OPNsense core package is available and if the system needs to be rebooted. +Thescript uses the `pkg` command to query the package database and the `opnsense-update` command to check for updates. +If an update is available, thescript prints the next version number and exits with a status code of 0. +If no update is available, thescript exits with a status code of 1. + +*Returns* + - int + - 0 if a reboot is not necessary, 1 if a reboot is necessary. + +*Notes* + - Thisscript assumes that the necessary commands (`pkg`, `opnsense-update`, `pluginctl`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/register.py b/python/autodocs/firmware/register.py new file mode 100644 index 0000000..093af49 --- /dev/null +++ b/python/autodocs/firmware/register.py @@ -0,0 +1,27 @@ +""" +script register.php +--------------------------------------- + +A script to manage plugin registration. + +This script uses the Config class to manage the plugin configuration. + +The script assumes that the plugin metadata is stored in JSON files on disk. +This script is used to manage plugin registration and updates. + +*Arguments* + - $action (optional): The action to perform (install, remove, sync, resync) + - $name (optional): The name of the plugin to install or remove + +*Functions* + - plugins_config_get($config): Returns the current plugin configuration + - plugins_config_set($config, $plugins): Sets the plugin configuration + - plugins_disk_found($name): Checks if a plugin is found on disk + - plugins_disk_get(): Returns a list of plugins found on disk + +*Flow* + - Checks the command-line arguments for the action and plugin name + - Initializes the plugin configuration and disk plugins + - Performs the specified action (install, remove, sync, resync) + - Updates the plugin configuration if necessary +""" \ No newline at end of file diff --git a/python/autodocs/firmware/reinstall.py b/python/autodocs/firmware/reinstall.py new file mode 100644 index 0000000..2d8a264 --- /dev/null +++ b/python/autodocs/firmware/reinstall.py @@ -0,0 +1,21 @@ + +""" + +script reinstall.sh +------------------------------------------ + +Reinstalls a package on the OPNsense system. + +It checks if the package is the base or kernel package and performs the necessary actions. +If the package is a plugin, it reverts the plugin to its original state and reinstalls it. +Thescript uses the `opnsense-update` command to update the package and the `opnsense-revert` command to revert the plugin. +If a reboot is necessary, thescript initiates a reboot after a short delay. + +*Params* + - ${1} : str + - PACKAGE: The name of the package to reinstall (base, kernel, or a plugin name). + +*Notes* + - Thisscript assumes that the necessary commands (`opnsense-update`, `opnsense-revert`, `pkg`, `rc.reboot`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/remove.py b/python/autodocs/firmware/remove.py new file mode 100644 index 0000000..fb5bdb5 --- /dev/null +++ b/python/autodocs/firmware/remove.py @@ -0,0 +1,20 @@ + +""" + +script remove.sh +---------------------------------------- + +Removes a package from the OPNsense system. + +It uses the `pkg` command to remove the package and the `register.php`script to update the package registration. +Thescript also runs the `pkg autoremove` command to remove any unnecessary dependencies. +Thescript logs its actions to the `${LOCKFILE}` file. + +*Params* + - ${1} : str + - PACKAGE: The name of the package to remove. + +*Notes* + - Thisscript assumes that the necessary commands (`pkg`, `register.php`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/resync.py b/python/autodocs/firmware/resync.py new file mode 100644 index 0000000..d515ebe --- /dev/null +++ b/python/autodocs/firmware/resync.py @@ -0,0 +1,14 @@ + +""" +script resync.sh +--------------------------------------- + +Resynchronizes the OPNsense system with the latest configuration. + +It uses the `register.php`script to perform the resynchronization and logs its actions to the `${LOCKFILE}` file. + +*Notes* + - Thisscript assumes that the necessary commands (`opnsense-version`, `register.php`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. + - Thescript clears the `${LOCKFILE}` file before starting the resynchronization. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/running.py b/python/autodocs/firmware/running.py new file mode 100644 index 0000000..42dfda1 --- /dev/null +++ b/python/autodocs/firmware/running.py @@ -0,0 +1,17 @@ + +"""script running.sh +--------------------------------------- + +Checks if the OPNsense system is currently locked for updates. + +It uses the `flock` command to check if the lock file is available. + +*Returns* + - "ready" if the system is not locked + - "busy" if the system is locked + +*Notes* + - Thisscript assumes that the necessary commands (`flock`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. + - Thescript uses the `${LOCKFILE}` file to store the lock information. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/security.py b/python/autodocs/firmware/security.py new file mode 100644 index 0000000..a107a6c --- /dev/null +++ b/python/autodocs/firmware/security.py @@ -0,0 +1,15 @@ + +""" + +script security.sh +--------------------------------------- + +Performs a security audit on the OPNsense system. + +It uses the `pkg` command to run the audit and logs its actions to the `${LOCKFILE}` file. + +*Notes* + - Thisscript assumes that the necessary commands (`pkg`, `opnsense-version`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. + - Thescript clears the `${LOCKFILE}` file before starting the audit. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/sync.py b/python/autodocs/firmware/sync.py new file mode 100644 index 0000000..3e86b6e --- /dev/null +++ b/python/autodocs/firmware/sync.py @@ -0,0 +1,13 @@ + +""" +script sync.sh +--------------------------------------- + +Synchronizes the OPNsense system with the latest configuration. + +It uses the `sync.subr.sh`script to perform the synchronization and logs its actions to the `${LOCKFILE}` file. + +*Notes* + - Thisscript assumes that the necessary commands (`opnsense-version`, `sync.subr.sh`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/sync.subr.py b/python/autodocs/firmware/sync.subr.py new file mode 100644 index 0000000..9d5de0a --- /dev/null +++ b/python/autodocs/firmware/sync.subr.py @@ -0,0 +1,14 @@ + +"""script sync.subr.sh +--------------------------------------- + +Installs and updates plugins on the OPNsense system. + +It uses the `pluginctl` command to retrieve the list of plugins to install, and the `pkg` command to install and update them. +Thescript also checks if the core package is up-to-date and if not, it displays an error message. +If all plugins are installed successfully, thescript removes any unnecessary packages. + +*Notes* + - Thisscript assumes that the necessary commands (`pluginctl`, `pkg`, `opnsense-version`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/unlock.py b/python/autodocs/firmware/unlock.py new file mode 100644 index 0000000..5185ac2 --- /dev/null +++ b/python/autodocs/firmware/unlock.py @@ -0,0 +1,18 @@ + +""" +script unlock.sh +--------------------------------------- + +Unlocks a package or set on the OPNsense system. + +It uses the `opnsense-update` command to unlock the base or kernel sets, and the `pkg` command to unlock other packages. +Thescript logs its actions to the `${LOCKFILE}` file. + +*Params* + - ${1} : str + - PACKAGE: The name of the package or set to unlock. + +*Notes* + - Thisscript assumes that the necessary commands (`opnsense-update`, `pkg`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/update.py b/python/autodocs/firmware/update.py new file mode 100644 index 0000000..5a0d6f6 --- /dev/null +++ b/python/autodocs/firmware/update.py @@ -0,0 +1,19 @@ + +""" +script update.sh +---------------------------------------- + +Updates the OPNsense system to the latest version. + +It uses the `opnsense-update` command to perform the update and the `rc.restart_webgui` command to restart the web server. +Thescript also uses the `tee` command to log the output to the `${LOCKFILE}` file. +If the update is successful, thescript initiates a reboot after a short delay if necessary. + +*Params* + - {1} : str + - CMD: The command to execute (e.g. "sync"). + +*Notes* + - Thisscript assumes that the necessary commands (`opnsense-update`, `rc.restart_webgui`, `tee`, `rc.reboot`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/firmware/upgrade.py b/python/autodocs/firmware/upgrade.py new file mode 100644 index 0000000..09569d1 --- /dev/null +++ b/python/autodocs/firmware/upgrade.py @@ -0,0 +1,16 @@ + +""" + +script upgrade.sh +---------------------------------------- + +Upgrades the OPNsense system to the latest version. + +It uses the `opnsense-update` command to perform the upgrade and the `rc.syshook` command to execute system hooks. +Thescript also uses the `tee` command to log the output to the `${LOCKFILE}` file. +If the upgrade is successful, thescript initiates a reboot after a short delay. + +*Notes* + - Thisscript assumes that the necessary commands (`opnsense-update`, `rc.syshook`, `tee`, `rc.reboot`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/firmware/config.sh` file to configure the OPNsense environment. +""" \ No newline at end of file diff --git a/python/autodocs/health/updaterrd.py b/python/autodocs/health/updaterrd.py new file mode 100644 index 0000000..f1d13c5 --- /dev/null +++ b/python/autodocs/health/updaterrd.py @@ -0,0 +1,22 @@ +""" +script updaterrd.php +--------------------------------------------------------------------- + +This script updates the RRD (Round-Robin Database) statistics for OPNsense. + +It uses the OPNsense\Core\Config class to retrieve the RRD configuration. +It also uses the OPNsense\RRD\Factory class to collect and update the RRD statistics. +The script checks if the RRD statistics are enabled and if the /var/db/rrd directory exists. +If debug mode is enabled, the script outputs the total runtime and collection time. + +*Params* + - $argv : array + -h : bool + - Display help message and exit. + -d : bool + - Enable debug mode, output errors to stdout. + +*Returns* + - int + - 0 on success, non-zero on failure. +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/carp_global_status.py b/python/autodocs/interfaces/carp_global_status.py new file mode 100644 index 0000000..7b270f3 --- /dev/null +++ b/python/autodocs/interfaces/carp_global_status.py @@ -0,0 +1,16 @@ +""" +- #!/usr/local/bin/php +script carp_global_status.php +--------------------------------------------------------------------------------------------------------------------------------------------- + +This script checks the CARP (Common Address Redundancy Protocol) configuration and returns a JSON response with the current status. + +*Arguments* + - a_vip : array - An array of virtual IP addresses. + - carpcount : int - The number of CARP interfaces found. + - response : array - An array containing the CARP status information. + +*Returns* + - A JSON-encoded array with the CARP status information. + +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/carp_set_status.py b/python/autodocs/interfaces/carp_set_status.py new file mode 100644 index 0000000..5c8129b --- /dev/null +++ b/python/autodocs/interfaces/carp_set_status.py @@ -0,0 +1,20 @@ +""" +script carp_set_status.php +-------------------------------------------------------------------- + +Manages CARP (Common Address Redundancy Protocol) configuration and state. + +This script performs actions on the CARP configuration, such as entering or leaving maintenance mode, disabling or enabling CARP, and configuring interfaces. + +*Params* + - argsv[0] : str + - The action to perform (maintenance, disable, enable). + +*Arguments* + - a_vip : array - An array of virtual IP addresses. + - config : array - The system configuration array. + +*Returns* + - A JSON-encoded array with the result of the action. + +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/ifctl.py b/python/autodocs/interfaces/ifctl.py new file mode 100644 index 0000000..320a4cd --- /dev/null +++ b/python/autodocs/interfaces/ifctl.py @@ -0,0 +1,41 @@ + +""" + +script ifctl.sh +--------------------------------------- + +Configures and manages interface settings. + +It supports various modes, including nameserver, prefix, router, and searchdomain. +It also supports IPv4 and IPv6 address families. +Thescript can perform various actions, including clearing, flushing, dumping, and listing interface settings. + +*Params* + - CMD: str + Optional command to specify the action to perform. + Possible values: -c, -d, -f, -l, -O + - IF: str + Interface name. + - MD: str + Mode to operate in. Possible values: nameserver, prefix, router, searchdomain + - AF: str + Address family. Possible values: inet, inet6 + - EX: str + Extension to append to the file name. + - DO_CONTENTS: str + Contents to write to the file. + - DO_VERBOSE: str + Flag to enable verbose mode. + +*Functions* + + - flush_routes: Flushes routes for the specified interface and mode. + - flush_slaac: Flushes SLAAC addressing for the specified interface. + +*Notes* - Thisscript uses temporary files to store interface settings. + - Thescript uses the `route` command to manipulate routes. + - Thescript uses the `ifconfig` command to manipulate interface settings. + - This Script uses getopts to parse command-line options: + - getopts: getopts optstring name [arg ...] + - Getopts is used by shell procedures to parse positional parameters as options. +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/ppp-ipv6.py b/python/autodocs/interfaces/ppp-ipv6.py new file mode 100644 index 0000000..0f2d2bd --- /dev/null +++ b/python/autodocs/interfaces/ppp-ipv6.py @@ -0,0 +1,39 @@ +""" + +script ppp-ipv6.php +------------------------------------- + +A script to configure PPP connections for IPv6. + +*Arguments* + - $argv[1]: The name of the interface + - $argv[2]: The family of the IP address (4 or 6) + +*Parameters* + + - $config: The system configuration + - $interface: The name of the interface + - $family: The family of the IP address + +*Functions* + - convert_real_interface_to_friendly_interface_name(string $interface): Converts the interface name to a friendly name + - interface_ppps_bound(string $interface, int $family): Checks if the interface is bound to a PPP connection + - interface_dhcpv6_prepare(string $interface, array $config): Prepares the DHCPv6 configuration for the interface + - interface_dhcpv6_configure(string $interface, array $config): Configures the DHCPv6 connection for the interface + - interface_static6_configure(string $interface, array $config): Configures the static IPv6 address for the interface + - system_routing_configure(bool $reload, string $interface, bool $ipv6, string $family): Configures the routing table for the interface + +*Flow* + - Checks if the required arguments are present + - Converts the interface name to a friendly name + - Checks if the interface is bound to a PPP connection + - Checks if the family of the IP address is correct + - Configures the DHCPv6 connection for the interface, if the family is 6 + - Configures the static IPv6 address for the interface, if the family is 6 + - Configures the routing table for the interface + +*Outputs* + + - No output, if the configuration is successful + - Exit code 1, if the configuration fails +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/ppp-linkdown.py b/python/autodocs/interfaces/ppp-linkdown.py new file mode 100644 index 0000000..ca3baa5 --- /dev/null +++ b/python/autodocs/interfaces/ppp-linkdown.py @@ -0,0 +1,24 @@ + +""" +script ppp-linkdown.sh +--------------------------------------- + +Handles the link down event for a PPP interface. + +It shuts down the PPP connection using `ngctl`. +It performs different actions based on the address family: + - For inet, it disables IPv4 forwarding and routing, and removes the IPv4 address. + - For inet6, it disables IPv6 forwarding and routing, and removes the IPv6 address. +It also logs the uptime of the PPP connection and updates the uptime log file. + +*Params* + - {1}: str + - The name of the PPP interface. + - {2} : str + - The address family (inet or inet6). + +*Notes* + - Thisscript assumes that the necessary commands (`ngctl`, `ifctl`, `configctl`, `ppp-uptime.sh`) are available. + - Thescript uses the `/conf/${IF}.log` file to log the uptime of the PPP connection. + - Thescript uses the `/tmp/${IF}_uptime` file to store the uptime of the PPP connection. +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/ppp-linkup.py b/python/autodocs/interfaces/ppp-linkup.py new file mode 100644 index 0000000..10ba0b2 --- /dev/null +++ b/python/autodocs/interfaces/ppp-linkup.py @@ -0,0 +1,32 @@ + +""" +script ppp-linkup.sh +--------------------------------------- + +Handles the link up event for a PPP interface. + + +It configures the interface for the specified address family (inet or inet6). +It sets the DNS servers and router IP address if provided. +It also triggers the `configctl` command to update the interface configuration. + +*Params* + ${1} : str + - IF: The name of the PPP interface. + ${2} : str + - AF: The address family (inet or inet6). + ${3} : None + - (unused) + ${4} : str + - ROUTER: The IP address of the router (optional). + ${5} : None + - (unused) + ${6} : str + - DNS1: The first DNS server IP address (optional). + ${7} : str + - DNS2: The second DNS server IP address (optional). + +*Notes* + - Thisscript assumes that the necessary commands (`ifctl`, `configctl`, `ppp-ipv6.php`) are available. + - Thescript uses the `/tmp/${IF}_uptime` file to store the uptime of the PPP connection. +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/ppp-rename.py b/python/autodocs/interfaces/ppp-rename.py new file mode 100644 index 0000000..7d9f6ad --- /dev/null +++ b/python/autodocs/interfaces/ppp-rename.py @@ -0,0 +1,25 @@ + +""" +script ppp-rename.sh +--------------------------------------- + +Handles the link up event for a PPP interface. + +It sets the interface name, ng device name, and ng device type. +It then iterates over the ngctl list and checks if the ng device is found. +If the ng device is found, it sets the ng device name. + +*Params* + - ${1} : str + - INTERFACE: The name of the PPP interface. + - ${2} : str + - NG_DEVICE: The name of the ng device. + - ${3} : str + - NG_TYPE: The type of the ng device. + +*Notes* + - Thisscript assumes that the necessary commands (`ngctl`) are available. + - Thescript uses the `ngctl list` command to list the ng devices. + - Thescript uses the `ngctl info` command to get the ng device information. + - Thescript uses the `ngctl name` command to set the ng device name. +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/ppp-uptime.py b/python/autodocs/interfaces/ppp-uptime.py new file mode 100644 index 0000000..a76b607 --- /dev/null +++ b/python/autodocs/interfaces/ppp-uptime.py @@ -0,0 +1,24 @@ + +""" + +script ppp-uptime.sh +--------------------------------------- + +Calculates the uptime of a PPP connection. + +It checks if the `/tmp/${IF}_uptime` file exists. +If the file exists, it calculates the uptime by subtracting the modification time of the file from the current time. +The uptime is returned in seconds. + +*Params* + - ${1} : str + - IF: The name of the PPP interface. + +*Returns* +- int + - The uptime of the PPP connection in seconds. + +*Notes* + - Thisscript assumes that the necessary commands (`date`, `stat`) are available. + - Thescript uses the `/tmp/${IF}_uptime` file to store the uptime of the PPP connection. +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/reconfigure_gifs.py b/python/autodocs/interfaces/reconfigure_gifs.py new file mode 100644 index 0000000..6fcd7b4 --- /dev/null +++ b/python/autodocs/interfaces/reconfigure_gifs.py @@ -0,0 +1,42 @@ +""" +script reconfigure_gifs.php +------------------------------------------------------------------------- + +A script to reconfigure GIF interfaces. + +This script uses the `file_exists`, `filesize`, `fopen`, `flock`, `fread`, `fwrite`, `ftruncate`, `explode`, `trim`, and other functions to interact with the file system and configure the GIF interfaces. + +*Arguments* + - $gifs_todo: An array to store the GIF interfaces to reconfigure + - $vfilename: The path to the file containing the GIF interfaces to reconfigure + - $gif_configure: An array to store the GIF interfaces to reconfigure + - $ifdetails: An array to store the interface details + +*Functions* + - file_exists(string $filename): Checks if a file exists + - filesize(string $filename): Returns the size of a file + - fopen(string $filename, string $mode): Opens a file pointer + - flock(resource $handle, int $operation): Locks or unlocks a file + - fread(resource $handle, int $length): Reads from a file pointer + - fwrite(resource $handle, string $string): Writes to a file pointer + - ftruncate(resource $handle, int $size): Truncates a file to a specified size + - explode(string $delimiter, string $string): Splits a string into an array using a delimiter + - trim(string $string): Removes whitespace from a string + - OPNsense\Interfaces\Gif()->gif->iterateItems(): Iterates over the GIF interfaces + - legacy_interface_destroy(string $interface): Destroys a legacy interface + - legacy_interfaces_details(): Returns the interface details + - interfaces_addresses_flush(string $interface, int $family, array $ifdetails): Flushes addresses from an interface + - _interfaces_gif_configure(array $gif): Configures a GIF interface + - interfaces_restart_by_device(bool $force, array $interfaces): Restarts interfaces + +*Flow* + - Reads the file containing the GIF interfaces to reconfigure + - Collects the GIF interfaces to reconfigure + - Removes non-existing interfaces + - Reconfigures the still existing GIF interfaces + - Removes addresses from the interfaces (if necessary) + - Configures the GIF interfaces + - Re-applies additional addresses and hooks routing (if necessary) + +/ +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/reconfigure_gres.py b/python/autodocs/interfaces/reconfigure_gres.py new file mode 100644 index 0000000..dc3059f --- /dev/null +++ b/python/autodocs/interfaces/reconfigure_gres.py @@ -0,0 +1,41 @@ +""" + +script reconfigure_gres.php +------------------------------------------------------------------------- + +A script to reconfigure GRE interfaces. + +This script uses the `file_exists`, `filesize`, `fopen`, `flock`, `fread`, `fwrite`, `ftruncate`, `explode`, `trim`, and other functions to interact with the file system and configure the GRE interfaces + +*Arguments* + - $gres_todo: An array to store the GRE interfaces to reconfigure + - $vfilename: The path to the file containing the GRE interfaces to reconfigure + - $gre_configure: An array to store the GRE interfaces to reconfigure + - $ifdetails: An array to store the interface details + +*Functions* + - file_exists(string $filename): Checks if a file exists + - filesize(string $filename): Returns the size of a file + - fopen(string $filename, string $mode): Opens a file pointer + - flock(resource $handle, int $operation): Locks or unlocks a file + - fread(resource $handle, int $length): Reads from a file pointer + - fwrite(resource $handle, string $string): Writes to a file pointer + - ftruncate(resource $handle, int $size): Truncates a file to a specified size + - explode(string $delimiter, string $string): Splits a string into an array using a delimiter + - trim(string $string): Removes whitespace from a string + - OPNsense\Interfaces\Gre()->gre->iterateItems(): Iterates over the GRE interfaces + - legacy_interface_destroy(string $interface): Destroys a legacy interface + - legacy_interfaces_details(): Returns the interface details + - interfaces_addresses_flush(string $interface, int $family, array $ifdetails): Flushes addresses from an interface + - _interfaces_gre_configure(array $gre): Configures a GRE interface + - interfaces_restart_by_device(bool $force, array $interfaces): Restarts interfaces + +*Flow* + - Reads the file containing the GRE interfaces to reconfigure + - Collects the GRE interfaces to reconfigure + - Removes non-existing interfaces + - Reconfigures the still existing GRE interfaces + - Removes addresses from the interfaces (if necessary) + - Configures the GRE interfaces + - Re-applies additional addresses and hooks routing (if necessary) +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/reconfigure_laggs.py b/python/autodocs/interfaces/reconfigure_laggs.py new file mode 100644 index 0000000..c2a94c5 --- /dev/null +++ b/python/autodocs/interfaces/reconfigure_laggs.py @@ -0,0 +1,33 @@ +""" +script reconfigure_laggs.php +------------------------------------------------------------------------- + +A script to reconfigure LAGG interfaces. + +This script uses the `file_exists`, `filesize`, `fopen`, `flock`, `fread`, `fwrite`, `ftruncate`, `explode`, `trim`, and other functions to interact with the file system and configure the LAGG interfaces + +*Arguments* + - $laggs_todo: An array to store the LAGG interfaces to reconfigure + - $vfilename: The path to the file containing the LAGG interfaces to reconfigure + - $lagg_configure: An array to store the LAGG interfaces to reconfigure + +*Functions* + - file_exists(string $filename): Checks if a file exists + - filesize(string $filename): Returns the size of a file + - fopen(string $filename, string $mode): Opens a file pointer + - flock(resource $handle, int $operation): Locks or unlocks a file + - fread(resource $handle, int $length): Reads from a file pointer + - fwrite(resource $handle, string $string): Writes to a file pointer + - ftruncate(resource $handle, int $size): Truncates a file to a specified size + - explode(string $delimiter, string $string): Splits a string into an array using a delimiter + - trim(string $string): Removes whitespace from a string + - OPNsense\Interfaces\Lagg()->lagg->iterateItems(): Iterates over the LAGG interfaces + - legacy_interface_destroy(string $interface): Destroys a legacy interface + - _interfaces_lagg_configure(array $lagg): Configures a LAGG interface + +*Flow* + - Reads the file containing the LAGG interfaces to reconfigure + - Collects the LAGG interfaces to reconfigure + - Removes non-existing interfaces + - Reconfigures the still existing LAGG interfaces +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/reconfigure_neighbors.py b/python/autodocs/interfaces/reconfigure_neighbors.py new file mode 100644 index 0000000..afe3e2f --- /dev/null +++ b/python/autodocs/interfaces/reconfigure_neighbors.py @@ -0,0 +1,15 @@ +""" +script reconfigure_neighbors.php +--------------------------------------------------------------------------------------------------------- + +This script uses the interfaces_neighbors_configure() function to configure the neighbors. + +The interfaces_neighbors_configure() function is defined in another module and is not part of this script. +This script is very simple and consists of only one function call. + +*Functions* + - interfaces_neighbors_configure(): Configures the neighbors + +*Flow* + - Calls the interfaces_neighbors_configure() function to configure the neighbors +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/reconfigure_vips.py b/python/autodocs/interfaces/reconfigure_vips.py new file mode 100644 index 0000000..8c0a6fa --- /dev/null +++ b/python/autodocs/interfaces/reconfigure_vips.py @@ -0,0 +1,21 @@ +""" +script reconfigure_vips.php +------------------------------------------------------------------------- + +A script to reconfigure the Virtual IPs (VIPs). + +*Functions* + - legacy_interfaces_details(): Returns the interface details + - legacy_config_get_interfaces(): Returns the interface configurations + - legacy_interface_deladdress(): Deletes an IP address from an interface + - interface_ipalias_configure(): Configures an IP alias interface + - interface_carp_configure(): Configures a CARP interface + - interface_proxyarp_configure(): Configures the proxy ARP + +*Flow* + - Collects the IP addresses and their corresponding interfaces + - Removes deleted VIPs + - Compares the actual VIP configuration with the desired configuration + - Configures the VIPs based on the desired configuration +/ +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/reconfigure_vlans.py b/python/autodocs/interfaces/reconfigure_vlans.py new file mode 100644 index 0000000..5803540 --- /dev/null +++ b/python/autodocs/interfaces/reconfigure_vlans.py @@ -0,0 +1,24 @@ +""" +script reconfigure_vlans.php +------------------------------------------------------------------------- + +A script to reconfigure the VLANs. + +*Functions* + - legacy_interfaces_details(): Returns the interface details + - legacy_interface_destroy(): Destroys an interface + - legacy_vlan_remove_tag(): Removes a VLAN tag from an interface + - legacy_vlan_tag(): Adds a VLAN tag to an interface + - legacy_vlan_pcp(): Sets the PCP (Priority Code Point) for a VLAN + - legacy_vlan_proto(): Sets the protocol for a VLAN + - _interfaces_vlan_configure(): Configures a VLAN interface + - ifgroup_setup(): Sets up the interface groups + +*Flow* + - Collects all relevant VLANs (new, updated, and removed) into a single list + - Merges the configured VLANs with the existing VLANs + - Handles existing VLANs (removed, changed, or unchanged) + - Configures new VLANs + - Sets up the interface groups + +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/rtsold_resolvconf.py b/python/autodocs/interfaces/rtsold_resolvconf.py new file mode 100644 index 0000000..c352573 --- /dev/null +++ b/python/autodocs/interfaces/rtsold_resolvconf.py @@ -0,0 +1,22 @@ + +""" +script rtsold_resolvconf.sh +------------------------------- + +Processes Router Advertisements (RA) with RDNSS and DNSSL options. + +Thisscript is invoked by rtsold when a Router Advertisement with RDNSS and DNSSL options is received. It extracts the interface, router, and DNS information from the arguments and STDIN. + +*Params* + - ${1} : str + - Action: + - "-a" to add DNS information + - "-d" to delete DNS information + - ${2} : str + - Interface information: "ifname:slaac:[RA source address]" + +*Notes* + - Thisscript uses the ifctl(8) and configctl(8) commands to modify + the interface configuration. + - It uses the /var/etc/radvd.conf file to recognize its own configuration. +""" \ No newline at end of file diff --git a/python/autodocs/interfaces/traffic_stats.py b/python/autodocs/interfaces/traffic_stats.py new file mode 100644 index 0000000..2e60165 --- /dev/null +++ b/python/autodocs/interfaces/traffic_stats.py @@ -0,0 +1,21 @@ +""" + +script traffic_stats.php +--------------------------------------------------------------------- + +This script uses the `legacy_config_get_interfaces` and `legacy_interface_stats` functions to collect interface information and statistics. + +It also uses the `map_ifs` function to map interface data to a standardized format. +If an interval is specified, the script will collect statistics at that interval and output the results in a streaming format. +If no interval is specified, the script will collect statistics once and output the results in a single JSON object. + +*Params* + - srgsv[0] : int + - The interval in seconds to collect traffic statistics. + +*Returns* + - string + - The traffic statistics in JSON format. + +/ +""" \ No newline at end of file diff --git a/python/autodocs/ipsec/get_legacy_vti.py b/python/autodocs/ipsec/get_legacy_vti.py new file mode 100644 index 0000000..15ea3b5 --- /dev/null +++ b/python/autodocs/ipsec/get_legacy_vti.py @@ -0,0 +1,23 @@ +""" + +script get_legacy_vti.php +-------------------------------------------------------------------------------------------------------- + +This script uses the ipsec_get_configured_vtis() function to retrieve the list of configured IPsec VTIs. + +The result is output in JSON format using the json_encode() function. + +*Returns* + - A JSON-encoded array containing the list of configured IPsec VTIs. + +*Functions* + - require_once(string $filename) : void - Includes the specified file. + - ipsec_get_configured_vtis() : array - Retrieves a list of configured IPsec VTIs. + - json_encode(array $data) : string - Encodes the data in JSON format. + +*Arguments* + - result : array - An array to store the result. + - vti : array - The current VTI. + - record : array - An array to store the VTI record. + +""" \ No newline at end of file diff --git a/python/autodocs/netflow/flush_all.py b/python/autodocs/netflow/flush_all.py new file mode 100644 index 0000000..331d7f6 --- /dev/null +++ b/python/autodocs/netflow/flush_all.py @@ -0,0 +1,17 @@ + +""" + +script flush_all.sh +------------------------------ + +Flushes local netflow data. + +If the "all" argument is provided, it stops the flowd and flowd_aggregate services, +removes all netflow data files and log files, and then starts the services again. + +*Params* + - ${1}: str + - If str == "all" provided, all local netflow data will be flushed. + + +""" \ No newline at end of file diff --git a/python/autodocs/openvpn/client_connect.py b/python/autodocs/openvpn/client_connect.py new file mode 100644 index 0000000..69e7dc9 --- /dev/null +++ b/python/autodocs/openvpn/client_connect.py @@ -0,0 +1,19 @@ +""" +script client_connect.php +---------------------------------------------------------------------------------------------------------- + +This script authenticates an OpenVPN user based on the provided common name and server ID, and generates a client configuration file if required. + +*Arguments* + - common_name : string - The common name of the user. + - vpnid : string - The ID of the OpenVPN server. + - config_file : string - The path to the client configuration file. + - server : OPNsense\OpenVPN\OpenVPN - The OpenVPN server instance. + - cso : OPNsense\OpenVPN\OpenVPN - The client-specific override configuration. + +*Environment Variables* + - common_name : The common name of the user. + - auth_server : The ID of the OpenVPN server. + - config_file : The path to the client configuration file. + +""" \ No newline at end of file diff --git a/python/autodocs/openvpn/client_disconnect.py b/python/autodocs/openvpn/client_disconnect.py new file mode 100644 index 0000000..81d84e5 --- /dev/null +++ b/python/autodocs/openvpn/client_disconnect.py @@ -0,0 +1,10 @@ + +""" +script client_disconnect.sh +------------------------------ + +*Returns* + - int + - The exit status of thescript. + +""" \ No newline at end of file diff --git a/python/autodocs/openvpn/ovpn_service_control.py b/python/autodocs/openvpn/ovpn_service_control.py new file mode 100644 index 0000000..4dd7664 --- /dev/null +++ b/python/autodocs/openvpn/ovpn_service_control.py @@ -0,0 +1,23 @@ +""" +script ovpn_service_control.php +---------------------------------------------------------------------------------------------------------- + +Controls the OpenVPN instances on the system. +It can be used to start, stop, restart, or configure instances. + +*Parameters* + - $argv : array + - $argsv[-2] : str + - action: stop|start|restart|configure + - $argsv[-1] : str + - uuid: UUID of the instance + - -a: all instances + - -h: help + +*Functions* + - setup_interface($instance): Configures the network interface for the OpenVPN instance. + - ovpn_start($instance, $fhandle): Starts the OpenVPN instance. + - ovpn_stop($instance, $destroy_if = false): Stops the OpenVPN instance. + - ovpn_instance_stats($instance, $fhandle): Reads the statistics of the OpenVPN instance. + - get_vhid_status(): Reads the status of the CARP instances. +""" \ No newline at end of file diff --git a/python/autodocs/openvpn/tls_verify.py b/python/autodocs/openvpn/tls_verify.py new file mode 100644 index 0000000..59b55d6 --- /dev/null +++ b/python/autodocs/openvpn/tls_verify.py @@ -0,0 +1,19 @@ +""" +script tls_verify.php +--------------------------------------------------------------------- + +This script verifies the certificate depth for OpenVPN authentication. + +It uses the OPNsense\OpenVPN\OpenVPN class to retrieve the server instance by ID. +It also uses the OPNsense\Trust\Store class to validate the OCSP response. +The script checks the certificate depth and OCSP validation for the given server ID. +If the verification fails, it logs a warning message and exits with a non-zero status code. + +*Params* + - argsv[0] : str + - The auth_server identifier for authentication. + +*Returns* + - int + - 0 on success, 1 on failure. +""" \ No newline at end of file diff --git a/python/autodocs/openvpn/user_pass_verify.py b/python/autodocs/openvpn/user_pass_verify.py new file mode 100644 index 0000000..7082b31 --- /dev/null +++ b/python/autodocs/openvpn/user_pass_verify.py @@ -0,0 +1,19 @@ +""" +script user_pass_verify.php +----------------------------------------------------------------------------------------------------------------------------------------- + +It also uses the OPNsense\OpenVPN\OpenVPN class to retrieve OpenVPN server information and create client-specific overrides. +The script logs authentication results to the syslog. + +*Arguments* + - auth_server : string - The ID of the OpenVPN server. + - auth_method : string - The authentication method to use (via-env or via-file). + - common_name : string - The common name of the certificate. + - auth_file : string - The file containing the username and password (when using via-file method). + - auth_defer : bool - Whether to defer authentication to another process. + - auth_control_file : string - The file to write the authentication result to (when using auth_defer). + +*Returns* + - int + - 0 on success, non-zero on failure. +""" \ No newline at end of file diff --git a/python/autodocs/repos/FreeBSD.py b/python/autodocs/repos/FreeBSD.py new file mode 100644 index 0000000..1d3033c --- /dev/null +++ b/python/autodocs/repos/FreeBSD.py @@ -0,0 +1,17 @@ +""" +script FreeBSD.php +------------------------------------------------------------------------------------------------------ + +Disables the FreeBSD repository to avoid breakage. + +This script ensures that the FreeBSD repository is disabled by copying the sample configuration file over the active configuration file. + +*Arguments* + - conf : string + - The path to the FreeBSD repository configuration file. + +*Actions* + + - Copies the sample configuration file ($conf . '.sample') over the active configuration file ($conf). + +""" \ No newline at end of file diff --git a/python/autodocs/repos/OPNsense.py b/python/autodocs/repos/OPNsense.py new file mode 100644 index 0000000..644d492 --- /dev/null +++ b/python/autodocs/repos/OPNsense.py @@ -0,0 +1,16 @@ +""" +script OPNsense.php +--------------------------------------------------------------------- + +Updates the OPNsense configuration based on the system settings. + +It also checks for a subscription key and appends the URL suffix if present. +If no subscription key is set, the license file is deleted. + +*Params* + + - argsv : array + - -A: specifies the ABI (Architecture-Based Interface) to use + - -m: specifies the mirror URL to use + - -n: specifies the flavour to use +""" \ No newline at end of file diff --git a/python/autodocs/routes/del_route.py b/python/autodocs/routes/del_route.py new file mode 100644 index 0000000..a046f30 --- /dev/null +++ b/python/autodocs/routes/del_route.py @@ -0,0 +1,15 @@ +""" +script del_route.py +------------------------------------------ + +*Parameters* + +* destination : str + * Description: destination + * options : ['--destination'] + * required : True +* gateway : str + * Description: gateway + * options : ['--gateway'] + * required : True +""" \ No newline at end of file diff --git a/python/autodocs/routes/gateway_status.py b/python/autodocs/routes/gateway_status.py new file mode 100644 index 0000000..b6deaa9 --- /dev/null +++ b/python/autodocs/routes/gateway_status.py @@ -0,0 +1,25 @@ +""" + +script gateway_status.php +-------------------------------------------------------------------------------------------------------- + +This script retrieves the status of gateways using the dpinger_status() function, and generates a JSON-encoded result containing information about each gateway. + + + +*Returns* + - A JSON-encoded array containing information about each gateway. + +*Functions* + - dpinger_status() : Retrieves the status of gateways. + +*Variables* + + - result : array - An array to store the result of the script. + - gateways_status : array - An array containing the status of each gateway. + - gname : string - The name of the current gateway. + - gw : array - An array containing information about the current gateway. + - gatewayItem : array - An array to store information about the current gateway. + - status_translated : string - A translated version of the status of the current gateway. + +""" \ No newline at end of file diff --git a/python/autodocs/routes/gateway_watcher.py b/python/autodocs/routes/gateway_watcher.py new file mode 100644 index 0000000..0f9b502 --- /dev/null +++ b/python/autodocs/routes/gateway_watcher.py @@ -0,0 +1,25 @@ +""" +script gateway_watcher.php +---------------------------------------------------------------------------------------------------------- + +Dieses Script überwacht die Gateways und generiert Alarme, wenn ein Gateway nicht erreichbar ist. + +*Params* + - $argv[1] : string + - the action to execute: `configd_run($action)` + +*Functions* + - signalhandler($signal) : Function called when a signal is received. + - dpinger_status() : Function that returns the status of the gateways. + - config_read_array($section, $key) : Function that returns an array from the configuration. + - shell_safe($command, $args) : Function that safely executes a command. + - syslog($priority, $message) : Function that writes a message to the system log. + +*Variables* + + - $config : array The system configuration. + - $mode : array An array that stores the status of the gateways. + - $poll : int The poll interval in seconds. + - $wait : int The wait interval in seconds. + - $alarm : bool A flag that indicates whether an alarm has been generated. +""" \ No newline at end of file diff --git a/python/autodocs/routes/gateways.py b/python/autodocs/routes/gateways.py new file mode 100644 index 0000000..467f8b4 --- /dev/null +++ b/python/autodocs/routes/gateways.py @@ -0,0 +1,34 @@ +""" + +script gateways.php +------------------------------------------------------------------------ + +Retrieves a list of gateways and their corresponding IP addresses or protocols. + +This script retrieves a list of gateways and their corresponding IP addresses or protocols, and outputs the result in JSON format. + +*Params* + - $argvs : array + - -g : Adds gateway groups to the result. + - -h : Displays the usage help. + +*Returns* + - A JSON-encoded array containing the list of gateways and their corresponding IP addresses or protocols. + +*Functions* + - getopt(string $shortopts, array $longopts = [], int &$optind = 0) : array + - Parses the command-line options. + - array_slice(array $array, int $offset, int $length = null) : array + - Extracts a slice of the array. + - is_ipaddr(string $ip) : bool + - Checks if the given string is a valid IP address. + +*Variables* + - mdl : \OPNsense\Routing\Gateways - An instance of the Gateways class. + - gateways : array - An array containing the list of gateways. + - ret : array - An array to store the result. + - opts : array - An array containing the parsed command-line options. + - args : array - An array containing the remaining command-line arguments. + + +""" \ No newline at end of file diff --git a/python/autodocs/shell/banner.py b/python/autodocs/shell/banner.py new file mode 100644 index 0000000..7950c59 --- /dev/null +++ b/python/autodocs/shell/banner.py @@ -0,0 +1,17 @@ +""" +script banner.php +-------------------------------------------------------------------- + +Displays system information and network interface details. + +This script prints the system hostname, domain, and version, followed by a list of assigned network interfaces with their IP addresses, classes, and other details. + +*Arguments* + - version : str + - The system version. + - iflist : array + - A list of network interfaces. + - ifdetails : array + - A list of network interface details. + +""" \ No newline at end of file diff --git a/python/autodocs/shell/defaults.py b/python/autodocs/shell/defaults.py new file mode 100644 index 0000000..ef185b8 --- /dev/null +++ b/python/autodocs/shell/defaults.py @@ -0,0 +1,20 @@ +""" +script defaults.php +------------------------------------------------------------------------ + +Resets the firewall to factory defaults. + +This script prompts the user to confirm whether they want to reset the firewall to factory defaults, and then calls the reset_factory_defaults() function if the user confirms. + + + +*Arguments* + - fp : resource + - A file pointer to the standard input stream. + - yes_no_prompt : string + - The prompt to display to the user. + +*Functions* + - reset_factory_defaults() : Resets the firewall to factory defaults. + +""" \ No newline at end of file diff --git a/python/autodocs/shell/firmware.py b/python/autodocs/shell/firmware.py new file mode 100644 index 0000000..62667a4 --- /dev/null +++ b/python/autodocs/shell/firmware.py @@ -0,0 +1,16 @@ + +""" + +script firmware.sh +------------------------------ + +Thisscript performs firmware actions, such as fetching changelogs, running updates, and performing upgrades. +It checks if an update or upgrade is available and prompts the user to confirm whether to proceed. +If the user agrees, the update or upgrade is executed. + +Functions: + - run_action: Performs a firmware action and waits for user input. + - Fetches changelogs and updates. + - Checks if an upgrade is available. + - Runs updates and upgrades. +""" \ No newline at end of file diff --git a/python/autodocs/shell/halt.py b/python/autodocs/shell/halt.py new file mode 100644 index 0000000..85eff77 --- /dev/null +++ b/python/autodocs/shell/halt.py @@ -0,0 +1,23 @@ +""" + +script halt.php +---------------------------------------------------------------------- + +This script halts the system and powers it off after the user confirms that they want to proceed. + +This script uses the passthru() function to execute the system command '/usr/local/etc/rc.halt'. +The user must confirm that they want to proceed before the system is shut down. + +*Functions* + - require_once(string $filename) : void - Includes the specified file. + - fopen(string $filename, string $mode) : resource - Opens a file or other file system. + - fgets(resource $stream) : string - Reads a line from a file stream. + - strcasecmp(string $str1, string $str2) : int - Compares two strings without considering case. + - passthru(string $command) : void - Executes a system command and returns the output. + - fclose(resource $stream) : bool - Closes a file stream. + +*Variables* + - fp : resource + - A file stream opened to the standard input. + +""" \ No newline at end of file diff --git a/python/autodocs/shell/password.py b/python/autodocs/shell/password.py new file mode 100644 index 0000000..55cbfc6 --- /dev/null +++ b/python/autodocs/shell/password.py @@ -0,0 +1,31 @@ +""" +script password.php +------------------------------------- + +A script to reset the root user account. + +*Parameters* + + - $argv[2] and $argv[3]: Options for the script + - -h 0: Mocking "pw usermod root -h 0" + - -x 0: Creates a new root user if none exists + - $fp : input stream + +*Functions* + - getUserEntryByUID(int $uid): Returns the user entry for the given UID + - local_user_set_password(array $user, string $password): Sets the password for the given user + - local_user_set(array $user): Saves the user entry + - write_config(string $message): Writes a message to the configuration + +*Flow* + - Checks if the options -h 0 or -x 0 were provided + - If -h 0, sets the password for the root user + - If -x 0, creates a new root user if none exists and sets the password + - If no options were provided, asks if the user wants to restore the default authentication mode + - If the user wants to restore the default authentication mode, sets the password for the root user + +*Outputs* + + - Messages for resetting the root user account + - Error messages if the password is empty or does not match +""" \ No newline at end of file diff --git a/python/autodocs/shell/ping.py b/python/autodocs/shell/ping.py new file mode 100644 index 0000000..4ea3551 --- /dev/null +++ b/python/autodocs/shell/ping.py @@ -0,0 +1,36 @@ +""" + +script ping.php +------------------------------------- + +A script to ping a host name or IP address. + +This script uses the `fopen`, `fgets`, `escapeshellarg`, `passthru`, and `fclose` functions to interact with the user and execute the ping command. +The script assumes that the [/sbin/ping](cci:7://file:///sbin/ping:0:0-0:0) command is available on the system. + +*Parameters* + + - $fp: The file pointer for standard input + - $pinghost: The host name or IP address to ping + +*Functions* + - fopen(string $filename, string $mode): Opens a file pointer + - fgets(resource $fp): Reads a line from the file pointer + - escapeshellarg(string $arg): Escapes a shell argument + - passthru(string $command): Executes a shell command and displays the output + - fclose(resource $fp): Closes a file pointer + +*Flow* + - Opens the standard input file pointer + - Prompts the user to enter a host name or IP address + - Reads the user input and stores it in the $pinghost variable + - Pings the host name or IP address using the [/sbin/ping](cci:7://file:///sbin/ping:0:0-0:0) command with the `-c 3` and `-n` options + - Displays the output of the ping command + - Prompts the user to press ENTER to continue + - Reads the user input and closes the standard input file pointer + +*Outputs* + + - The output of the ping command + +""" \ No newline at end of file diff --git a/python/autodocs/shell/reboot.py b/python/autodocs/shell/reboot.py new file mode 100644 index 0000000..a2d1c1b --- /dev/null +++ b/python/autodocs/shell/reboot.py @@ -0,0 +1,33 @@ +""" +script netboot.php +------------------------------------- + +A script to reboot the system after confirmation. + +This script uses the `fopen`, `fgets`, `chop`, `strcasecmp`, `passthru`, and `fclose` functions to interact with the user and execute the reboot command. +The script assumes that the `/usr/local/etc/rc.reboot` command is available on the system and will reboot the system. + +*Parameters* + + - $fp: The file pointer for standard input + +*Functions* + - fopen(string $filename, string $mode): Opens a file pointer + - fgets(resource $fp): Reads a line from the file pointer + - chop(string $string): Removes trailing whitespace from a string + - strcasecmp(string $str1, string $str2): Compares two strings in a case-insensitive manner + - passthru(string $command): Executes a shell command and displays the output + - fclose(resource $fp): Closes a file pointer + +*Flow* + - Opens the standard input file pointer + - Prompts the user to confirm the reboot + - Reads the user input and checks if it matches 'y' (case-insensitive) + - If confirmed, executes the `/usr/local/etc/rc.reboot` command to reboot the system + - Closes the standard input file pointer + +*Outputs* + + - The output of the reboot command (if executed) + +""" \ No newline at end of file diff --git a/python/autodocs/shell/restore.py b/python/autodocs/shell/restore.py new file mode 100644 index 0000000..d27fe6c --- /dev/null +++ b/python/autodocs/shell/restore.py @@ -0,0 +1,14 @@ + +""" +script restore.sh +---------------------------------------- + +Restores a backup of the OPNsense configuration. + +It lists all available backups, allows the user to select one, and then restores it. +Thescript also offers the option to reboot the system to apply the backup cleanly. + +*Notes* + - Thisscript assumes that the necessary commands (`cd`, `find`, `date`, `sort`, `head`, `echo`, `read`, `cp`, `rc.reboot`, `rc.reload_all`) are available. + - Thescript uses the `/conf/backup` directory to store the backups. +""" \ No newline at end of file diff --git a/python/autodocs/shell/setaddr.py b/python/autodocs/shell/setaddr.py new file mode 100644 index 0000000..371ca31 --- /dev/null +++ b/python/autodocs/shell/setaddr.py @@ -0,0 +1,23 @@ +""" +* +script script setaddr.php +--------------------------------------------------------------------- + +This script is used to configure IP addresses and gateways for network interfaces. + +*Params* + - argsv[0] : str + - The name of the network interface to configure. + - $fp - input stream + - $fp = fopen('php://stdin', 'r'); +*Arguments* + - intip : str - The new IPv4 address for the interface. + - intbits : int - The subnet bit count for the IPv4 address. + - gwname : str - The name of the gateway for the interface. + - nameserver : str - The name server for the interface. + - intip6 : str - The new IPv6 address for the interface. + - intbits6 : int - The subnet bit count for the IPv6 address. + - gwname6 : str - The name of the gateway for the IPv6 interface. + - nameserver6 : str - The name server for the IPv6 interface. + The script does not return any value. +""" \ No newline at end of file diff --git a/python/autodocs/shell/setports.py b/python/autodocs/shell/setports.py new file mode 100644 index 0000000..785b57c --- /dev/null +++ b/python/autodocs/shell/setports.py @@ -0,0 +1,24 @@ +""" + +script setports.php +--------------------------------------------------------------------- + +This script configures the networking interfaces and ports for the system. + +The script stops local servers to prevent faulty leases and then configures the interfaces, routing, DHCP, and VPN settings. + + + +*Returns* + - bool + - true if the configuration was successful, false otherwise + +This script requires the following files to be included: + - config.inc + - console.inc + - filter.inc + - util.inc + - system.inc + - interfaces.inc + +""" \ No newline at end of file diff --git a/python/autodocs/suricata/listRuleMetadata.py b/python/autodocs/suricata/listRuleMetadata.py new file mode 100644 index 0000000..cf61988 --- /dev/null +++ b/python/autodocs/suricata/listRuleMetadata.py @@ -0,0 +1,13 @@ +""" +script listRuleMetadata.py +------------------------------------------ + +*Parameters* + +* mode : str + * Description: fetch mode + * options : ['--mode'] + * default : properties + * choices : ['properties', 'rules'] + * required : False +""" \ No newline at end of file diff --git a/python/autodocs/suricata/setup.py b/python/autodocs/suricata/setup.py new file mode 100644 index 0000000..2cd08ae --- /dev/null +++ b/python/autodocs/suricata/setup.py @@ -0,0 +1,14 @@ + +""" +script suricata_setup.sh +--------------------------------------- + +Sets up the Suricata directories and configuration files. + +It creates the necessary directories, sets the ownership and permissions, and creates a placeholder file if necessary. + +*Notes* + - Thisscript assumes that the necessary commands (`mkdir`, `chown`, `chmod`, `touch`) are available. + - Thescript uses the `/var/log/suricata` directory for Suricata logs. + - Thescript creates the `/usr/local/etc/suricata/installed_rules.yaml` file if it does not exist. +""" \ No newline at end of file diff --git a/python/autodocs/syslog/clearlog.py b/python/autodocs/syslog/clearlog.py new file mode 100644 index 0000000..391c390 --- /dev/null +++ b/python/autodocs/syslog/clearlog.py @@ -0,0 +1,25 @@ +""" + +script clearlog.php +------------------------------------------------------------------------ + +Clears log files for a specific module or service. + +This script removes log files for a specified module or service, and restarts the system syslog service. + +*Params* - argsv : array + - - -h : Show help text and exit. + - - -m : Specify the module name. + - - -f : Specify the log file name. + +*Arguments* + - opts : array + - An array of command-line options. + - mname : string + - The name of the module or service. + - fname : string + - The name of the log file. + - basename : string + - The base path of the log file. + +""" \ No newline at end of file diff --git a/python/autodocs/syslog/list_applications.py b/python/autodocs/syslog/list_applications.py new file mode 100644 index 0000000..3427cd0 --- /dev/null +++ b/python/autodocs/syslog/list_applications.py @@ -0,0 +1,13 @@ +""" + +script list_applications.php +--------------------------------------------------------------------- + +Retrieves a list of syslog facilities and their corresponding plugin names. + + + +*Returns* + - string + - A JSON-encoded array containing syslog facilities as keys and plugin names as values. +""" \ No newline at end of file diff --git a/python/autodocs/syslog/queryLog.py b/python/autodocs/syslog/queryLog.py new file mode 100644 index 0000000..2add78f --- /dev/null +++ b/python/autodocs/syslog/queryLog.py @@ -0,0 +1,47 @@ +""" +script queryLog.py +------------------------------------------ + +*Parameters* + +* output : str + * Description: output type [json/text] + * options : ['--output'] + * default : json + * required : False +* filter : str + * Description: filter results + * options : ['--filter'] + * default : + * required : False +* limit : str + * Description: limit number of results + * options : ['--limit'] + * default : + * required : False +* offset : str + * Description: begin at row number + * options : ['--offset'] + * default : + * required : False +* filename : str + * Description: log file name (excluding .log extension) + * options : ['--filename'] + * default : + * required : False +* module : str + * Description: module + * options : ['--module'] + * default : core + * required : False +* severity : str + * Description: comma separated list of severities + * options : ['--severity'] + * default : + * required : False +* valid_from : str + * Description: oldest data to search for (epoch) + * options : ['--valid_from'] + * default : + * required : False +""" \ No newline at end of file diff --git a/python/autodocs/syslog/streamLog.py b/python/autodocs/syslog/streamLog.py new file mode 100644 index 0000000..9b5f4a7 --- /dev/null +++ b/python/autodocs/syslog/streamLog.py @@ -0,0 +1,32 @@ +""" +script streamLog.py +------------------------------------------ + +*Parameters* + +* filter : str + * Description: filter results + * options : ['--filter'] + * default : + * required : False +* offset : str + * Description: include last N matching lines + * options : ['--offset'] + * default : + * required : False +* filename : str + * Description: log file name (excluding .log extension) + * options : ['--filename'] + * default : + * required : False +* module : str + * Description: module + * options : ['--module'] + * default : core + * required : False +* severity : str + * Description: comma separated list of severities + * options : ['--severity'] + * default : + * required : False +""" \ No newline at end of file diff --git a/python/autodocs/system/cpu.py b/python/autodocs/system/cpu.py new file mode 100644 index 0000000..053d0df --- /dev/null +++ b/python/autodocs/system/cpu.py @@ -0,0 +1,12 @@ +""" +script cpu.py +------------------------------------------ + +*Parameters* + +* interval : str + * Description: poll interval + * options : ['--interval'] + * default : 1 + * required : False +""" \ No newline at end of file diff --git a/python/autodocs/system/nameservers.py b/python/autodocs/system/nameservers.py new file mode 100644 index 0000000..6ec463a --- /dev/null +++ b/python/autodocs/system/nameservers.py @@ -0,0 +1,14 @@ +""" +script nameservers.php +--------------------------------------------------------------------- + +Retrieves a list of nameservers. + +*Arguments* + - - argv[1] : bool + - - Optional argument to specify whether to include additional information (default: false) + +*Returns* + - string + - - A JSON-encoded array containing the list of nameservers. +""" \ No newline at end of file diff --git a/python/autodocs/system/remote_backup.py b/python/autodocs/system/remote_backup.py new file mode 100644 index 0000000..647fc99 --- /dev/null +++ b/python/autodocs/system/remote_backup.py @@ -0,0 +1,23 @@ +""" +script remote_backup.php +----------------------------------------------------------------------- + +This script uses the BackupFactory class to manage backup providers. + +The script assumes that the backup providers are configured correctly and that the necessary dependencies are . +This script is designed to be run remotely and can be used to perform backups at random intervals. + +*Arguments* + - $random_delay (optional): A random delay in seconds to add before starting the backup + +*Functions* + - BackupFactory::listProviders(): Returns a list of backup providers + - BackupProvider::isEnabled(): Checks if a backup provider is enabled + - BackupProvider::backup(): Performs a backup using a provider + +*Flow* + - Adds a random delay in seconds before starting the backup (if specified) + - Creates a BackupFactory instance + - Iterates over the list of backup providers + - Checks if each provider is enabled and performs a backup if it is +""" \ No newline at end of file diff --git a/python/autodocs/system/ssl_ciphers.py b/python/autodocs/system/ssl_ciphers.py new file mode 100644 index 0000000..91be1c6 --- /dev/null +++ b/python/autodocs/system/ssl_ciphers.py @@ -0,0 +1,18 @@ +""" +script ssl_ciphers.py +------------------------------------------ + +*Parameters* + +* format : str + * Description: format + * options : ['--format'] + * default : full + * choices : ['full', 'key_value'] + * required : False +* filter : str + * Description: filter version + * options : ['--filter'] + * choices : ['TLSv1.3', 'pre-TLSv1.3', ''] + * required : False +""" \ No newline at end of file diff --git a/python/autodocs/system/status.py b/python/autodocs/system/status.py new file mode 100644 index 0000000..8e861cc --- /dev/null +++ b/python/autodocs/system/status.py @@ -0,0 +1,18 @@ +""" +script status.php +--------------------------------------------------------------------- + +This script uses the OPNsense\System\SystemStatus class to retrieve the system status. + +If an action is specified (dismiss), the script will dismiss the corresponding status. +If no action is specified, the script will display the system status in JSON format. + +*Params* + - argsv[0] : str + - The action to perform on the system status (dismiss). + +*Returns* + - string + - The system status in JSON format if no action is specified. + +""" \ No newline at end of file diff --git a/python/autodocs/system/sysctl.py b/python/autodocs/system/sysctl.py new file mode 100644 index 0000000..6295552 --- /dev/null +++ b/python/autodocs/system/sysctl.py @@ -0,0 +1,11 @@ +""" +script sysctl.py +------------------------------------------ + +*Parameters* + +* values : str + * Description: comma-separated list of sysctl values to fetch + * options : ['--values'] + * required : False +""" \ No newline at end of file diff --git a/python/autodocs/system/temperature.py b/python/autodocs/system/temperature.py new file mode 100644 index 0000000..4c49562 --- /dev/null +++ b/python/autodocs/system/temperature.py @@ -0,0 +1,13 @@ + +""" +script temperature.sh +--------------------------------------- + +Displays the temperature readings from the system. + +It uses the `sysctl` command to retrieve the temperature-related sysctls and then sorts the output. + +*Notes* + - Thisscript assumes that the necessary command (`sysctl`) is available. + - Thescript only displays temperature readings if they are available on the system. +""" \ No newline at end of file diff --git a/python/autodocs/unbound/cache.py b/python/autodocs/unbound/cache.py new file mode 100644 index 0000000..2dae689 --- /dev/null +++ b/python/autodocs/unbound/cache.py @@ -0,0 +1,26 @@ + +""" +script cache.sh +------------------------------ + +Executes the main functionality of the program. + +*Params* + - ${1} : str + - Path to the configuration file. + +*Arguments* + + - verbose : bool + Enable verbose mode for detailed output. + default= False + - debug : bool + Enable debug mode for troubleshooting. + default= False + +*Returns* + +- int + Exit status of thescript (0 for success, non-zero for failure) + +""" \ No newline at end of file diff --git a/python/autodocs/unbound/check.py b/python/autodocs/unbound/check.py new file mode 100644 index 0000000..6644385 --- /dev/null +++ b/python/autodocs/unbound/check.py @@ -0,0 +1,20 @@ + +""" +script check.sh +------------------------------ + + +*Params* + +- None + +*Arguments* + +- None + +*Returns* + +- int + The exit status of thescript. + +""" \ No newline at end of file diff --git a/python/autodocs/unbound/logger.py b/python/autodocs/unbound/logger.py new file mode 100644 index 0000000..7ba8895 --- /dev/null +++ b/python/autodocs/unbound/logger.py @@ -0,0 +1,27 @@ +""" +script logger.py +------------------------------------------ + +*Parameters* + +* pipe : str + * Description: named pipe file location + * options : ['--pipe'] + * default : /var/unbound/data/dns_logger + * required : False +* targetdb : str + * Description: duckdb filename + * options : ['--targetdb'] + * default : /var/unbound/data/unbound.duckdb + * required : False +* backup_dir : str + * Description: backup directory + * options : ['--backup_dir'] + * default : /var/cache/unbound.duckdb + * required : False +* flush_interval : str + * Description: interval to flush to db + * options : ['--flush_interval'] + * default : 10 + * required : False +""" \ No newline at end of file diff --git a/python/autodocs/unbound/restore_db.py b/python/autodocs/unbound/restore_db.py new file mode 100644 index 0000000..970cb30 --- /dev/null +++ b/python/autodocs/unbound/restore_db.py @@ -0,0 +1,17 @@ +""" +script restore_db.py +------------------------------------------ + +*Parameters* + +* backup_dir : str + * Description: backup directory + * options : ['--backup_dir'] + * default : /var/cache/unbound.duckdb + * required : False +* targetdb : str + * Description: duckdb filename + * options : ['--targetdb'] + * default : /var/unbound/data/unbound.duckdb + * required : False +""" \ No newline at end of file diff --git a/python/autodocs/unbound/start.py b/python/autodocs/unbound/start.py new file mode 100644 index 0000000..d1ef01a --- /dev/null +++ b/python/autodocs/unbound/start.py @@ -0,0 +1,19 @@ + +""" +script start.sh +--------------------------------------- + +Starts the Unbound DNS resolver and configures it for use with OPNsense. + +It removes any existing configuration files, checks for the presence of the root.key file, and runs unbound-anchor if necessary. +Thescript then copies configuration files from /usr/local/etc/unbound.opnsense.d to /var/unbound/etc and sets the ownership of the files to the unbound user. +Finally, thescript starts the Unbound service and loads the DNS cache. + +*Params* + - ${1} : str + - DOMAIN: The domain name to use for DHCP and DNS configuration. + +*Notes* + - Thisscript assumes that the necessary commands (`unbound`, `unbound-anchor`, `unbound-control-setup`, `chown`, `daemon`) are available. + - Thescript uses the `/usr/local/opnsense/scripts/unbound` directory for Unbound-relatedscripts and configuration files. +""" \ No newline at end of file diff --git a/python/autodocs/unbound/stats.py b/python/autodocs/unbound/stats.py new file mode 100644 index 0000000..8c4686d --- /dev/null +++ b/python/autodocs/unbound/stats.py @@ -0,0 +1,9 @@ +""" +script stats.py +------------------------------------------ + +*Parameters* + +None + +""" \ No newline at end of file diff --git a/python/autodocs/unbound/wrapper.py b/python/autodocs/unbound/wrapper.py new file mode 100644 index 0000000..b6ff681 --- /dev/null +++ b/python/autodocs/unbound/wrapper.py @@ -0,0 +1,9 @@ +""" +script wrapper.py +------------------------------------------ + +*Parameters* + +None + +""" \ No newline at end of file diff --git a/python/opnsense_helper/scripts/scripts.py b/python/opnsense_helper/scripts/scripts.py index 06a7f1a..08c0782 100644 --- a/python/opnsense_helper/scripts/scripts.py +++ b/python/opnsense_helper/scripts/scripts.py @@ -6,7 +6,7 @@ class Scripts(): """ class Scripts - ------------ + ----------------------------- Initialize the Scripts class. * its just a wrapper for all the opnsense scripts classes. see attributes below. @@ -70,7 +70,7 @@ def __init__(self,base): class unbound(Exec_Class): """ class unbound - ---------- + ----------------------------- * Initializes the unbound class, inheriting from Exec_Class. @@ -122,7 +122,7 @@ def __init__(self, base): class system(Exec_Class): """ class system - ---------- + ----------------------------- Initializes the system class, inheriting from Exec_Class. @@ -178,7 +178,7 @@ def __init__(self, base): class syslog(Exec_Class): """ class syslog - ---------- + ----------------------------- Initializes the syslog class, inheriting from Exec_Class. @@ -227,7 +227,7 @@ def __init__(self, base): class suricata(Exec_Class): """ class suricata - ------------- + ------------------------------------------------- Initializes the suricata class, inheriting from Exec_Class. @@ -338,7 +338,7 @@ def __init__(self, base): class shaper(Exec_Class): """ class Shaper - ------------ + ----------------------------- Initializes the shaper class, inheriting from Exec_Class. @@ -378,7 +378,7 @@ def __init__(self, base): class routes(Exec_Class): """ class routes - ------------ + ----------------------------- Initializes the routes class, inheriting from Exec_Class. @@ -422,7 +422,7 @@ def __init__(self, base): class openvpn(Exec_Class): """ class openvpn - ------------ + ----------------------------- Initializes the openvpn class, inheriting from Exec_Class. @@ -473,7 +473,7 @@ def __init__(self, base): class openssh(Exec_Class): """ class openssh - ------------- + ------------------------------ Initializes the openssh class, inheriting from Exec_Class. @@ -510,7 +510,7 @@ def __init__(self, base): class netflow(Exec_Class): """ class netflow - ------------- + ------------------------------ Initialize the netflow class, inheriting from Exec_Class. @@ -560,7 +560,7 @@ def __init__(self, base): class ipsec(Exec_Class): """ class ipsec - ------------- + ------------------------------ Initializes the ipsec class, inheriting from Exec_Class. @@ -614,7 +614,7 @@ def __init__(self, base): class interfaces(Exec_Class): """ class interfaces - ---------------- + --------------------------------- Initializes the interfaces class, inheriting from Exec_Class. @@ -698,7 +698,7 @@ def __init__(self, base): class health(Exec_Class): """ class heatlh - ............. + ----------------- Initializes the health class, inheriting from Exec_Class. @@ -738,7 +738,7 @@ def __init__(self, base): class firmware(Exec_Class): """ clas firmware - ............. + --------------- Initializes the firmware class, inheriting from Exec_Class. @@ -822,7 +822,7 @@ def __init__(self, base): class filter(Exec_Class): """ class filter - ............. + -------------- Initializes the filter class, inheriting from Exec_Class. **Usage** @@ -897,7 +897,7 @@ def __init__(self, base): class dns(Exec_Class): """ class dns - ........ + ------------ Initializes the dns class, inheriting from Exec_Class. @@ -932,7 +932,7 @@ def __init__(self, base): class dhcp(Exec_Class): """ class dhcp - ........ + ----------- Initializes the dhcp class, inheriting from Exec_Class. @@ -982,7 +982,7 @@ def __init__(self, base): class auth(Exec_Class): """ class auth - ------ + --------------- Initializes the auth class, inheriting from Exec_Class. @@ -1020,7 +1020,7 @@ def __init__(self, base): class Wireguard(Exec_Class): """ class Wireguard - ------ + ----------------- Initializes the Wireguard class, inheriting from Exec_Class. diff --git a/python/setup.py b/python/setup.py index c308d66..8e1e74d 100644 --- a/python/setup.py +++ b/python/setup.py @@ -8,7 +8,7 @@ setup( name='opnsense_helper', - version='0.1.25', + version='0.1.26', description='backend api for opnsense. assign lan interfaces, create vlans, vlan-interfaces and setup dhcp in a single script.', long_description=long_description, long_description_content_type='text/markdown',