OPNsense CLI written in python.
Project description
opn-cli
opn-cli - the OPNsense CLI written in python.
Install
pip install opn-cli
Configure
-
Generate an api_key and api_secret. See: https://docs.opnsense.org/development/how-tos/api.html#creating-keys.
-
Create the default config file
~/.opn-cli/conf.yaml
---
api_key: your_api_key
api_secret: your_api_secret
url: https://opnsense.example.com/api
timeout: 60
ssl_verify: true
ca: ~/.opn-cli/ca.pem
Usage
$ opn-cli --help
Usage: opn-cli [OPTIONS] COMMAND [ARGS]...
OPNsense CLI - interact with OPNsense via the CLI
API key + secret:
You need a valid API key and secret to interact with the API. Open your
browser and go to System->Access->Users and generate or use an existing
Api Key.
See: https://docs.opnsense.org/development/how-tos/api.html#creating-keys.
SSL verify / CA:
If you use ssl verification (--ssl-verify), make sure to specify a valid
ca with --ca <path_to_bundle>.
To download the default self-signed cert, open the OPNsense Web Gui and go to
System->Trust->Certificates. Search for the Name: "Web GUI SSL certificate" and
press the "export user cert" button.
If you use a ca signed certificate, go to System->Trust->Authorities and
press the "export CA cert" button to download the ca.
Save the cert or the ca as ~/.opn-cli/ca.pem.
Configuration:
You can set the required options as environment variables. See --help
"[env var: [...]"
Or use a config file passed with -c option.
The configuration cascade from highest precedence to lowest:
1. argument & options
2. environment variables
3. config file
Happy automating!
Options:
-c, --config FILE path to the config file [env var:
OPN_CONFIG; default: ~/.opn-cli/conf.yaml]
--ca FILE path to the ca bundle file for ssl
verification [env var: OPN_SSL_VERIFY_CA;
default: ~/.opn-cli/ca.pem]
-k, --api-key TEXT Your API key for the OPNsense API [env var:
OPN_API_KEY]
-s, --api-secret TEXT Your API secret for the OPNsense API [env
var: OPN_API_SECRET]
-u, --url TEXT The Base URL for the OPNsense API [env var:
OPN_API_URL]
-t, --timeout INTEGER Set timeout for API Calls in seconds. [env
var: OPN_API_TIMEOUT; default: 60]
--ssl-verify / --no-ssl-verify Enable or disable SSL verification for API
communication. [env var: OPN_SSL_VERIFY;
default: True]
-h, --help Show this message and exit.
Commands:
firewall Manage the OPNsense firewall
plugin Manage OPNsense plugins
version Show the CLI version and exit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
opn-cli-0.3.2.tar.gz
(11.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
opn_cli-0.3.2-py3-none-any.whl
(16.2 kB
view details)
File details
Details for the file opn-cli-0.3.2.tar.gz.
File metadata
- Download URL: opn-cli-0.3.2.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b40c8e09308289fbefc3934b1e64b3175414aa8c6ab700370d0b0da9c103711f
|
|
| MD5 |
8b64bd9b5164bb868c8cc600ff9cbfe4
|
|
| BLAKE2b-256 |
bf242b0c11e2b7e60f7fe03bde3b164badab4f1961a4d49468b79fccdadb4270
|
File details
Details for the file opn_cli-0.3.2-py3-none-any.whl.
File metadata
- Download URL: opn_cli-0.3.2-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fed257dcfbba94e7903bc7b213d818eb755fd1050b5c5c324b024d1a7740720
|
|
| MD5 |
55d98c03652de302adf5cc359dfbd6d2
|
|
| BLAKE2b-256 |
6086adf2b7f7ec69604c9256fe89f774eaf973048ac51427bb11a4a7a3fca366
|