From d1ecd1b9284a3515b6e3a8aa9eec6ee7181bab72 Mon Sep 17 00:00:00 2001 From: Nicholas de Jong Date: Sun, 9 Sep 2018 10:06:17 +0800 Subject: [PATCH] FauxAPI-1.3_3 release --- package/LATEST | 2 +- package/README.md | 18 +++++++++--------- package/SHA256SUMS | 1 + package/pfSense-pkg-FauxAPI-1.3_3.txz | Bin 0 -> 38060 bytes pfSense-pkg-FauxAPI/Makefile | 2 +- .../usr/local/www/fauxapi/admin/about.php | 11 +++++++++-- 6 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 package/pfSense-pkg-FauxAPI-1.3_3.txz diff --git a/package/LATEST b/package/LATEST index 3cb69cd..79aa4bd 100644 --- a/package/LATEST +++ b/package/LATEST @@ -1 +1 @@ -pfSense-pkg-FauxAPI-1.3_2.txz +pfSense-pkg-FauxAPI-1.3_3.txz diff --git a/package/README.md b/package/README.md index 7c3af12..ab59753 100644 --- a/package/README.md +++ b/package/README.md @@ -9,12 +9,12 @@ installation example below. It takes just 2x commands to install and just 1x command to de-install if you need to. ## Current Version - - pfSense-pkg-FauxAPI-1.3_1.txz - - SHA256: cc3d1cac94b9088b13330f72dfbad8a080ca853cd292ad3bbecb5fc6a8497e62 + - pfSense-pkg-FauxAPI-1.3_3.txz + - SHA256: 9ed0e5a61a1cb954b203d732c3d0d141dacd4f7b26ed5d892819683f15659f47 ## Installation Example ``` -[2.4.3-RELEASE][root@pfSense.localdomain]/root: pkg-static install pfSense-pkg-FauxAPI-1.3_1.txz +[2.4.3-RELEASE][root@pfSense.localdomain]/root: pkg-static install pfSense-pkg-FauxAPI-1.3_3.txz Updating pfSense-core repository catalogue... pfSense-core repository is up to date. Updating pfSense repository catalogue... @@ -25,13 +25,13 @@ Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: - pfSense-pkg-FauxAPI: 1.3_1 [unknown-repository] + pfSense-pkg-FauxAPI: 1.3_3 [unknown-repository] Number of packages to be installed: 1 Proceed with this action? [y/N]: y -[1/1] Installing pfSense-pkg-FauxAPI-1.3_1... -Extracting pfSense-pkg-FauxAPI-1.3_1: 100% +[1/1] Installing pfSense-pkg-FauxAPI-1.3_3... +Extracting pfSense-pkg-FauxAPI-1.3_3: 100% Saving updated package information... done. Loading package configuration... done. @@ -49,15 +49,15 @@ Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: - pfSense-pkg-FauxAPI-1.3_1 + pfSense-pkg-FauxAPI-1.3_3 Number of packages to be removed: 1 Proceed with deinstalling packages? [y/N]: y -[1/1] Deinstalling pfSense-pkg-FauxAPI-1.3_1... +[1/1] Deinstalling pfSense-pkg-FauxAPI-1.3_3... Removing FauxAPI components... Menu items... done. -[1/1] Deleting files for pfSense-pkg-FauxAPI-1.3_1: 100% +[1/1] Deleting files for pfSense-pkg-FauxAPI-1.3_3: 100% Removing FauxAPI components... Configuration... done. [2.4.3-RELEASE][root@pfSense.localdomain]/root: diff --git a/package/SHA256SUMS b/package/SHA256SUMS index a5245e0..3e705cb 100644 --- a/package/SHA256SUMS +++ b/package/SHA256SUMS @@ -7,3 +7,4 @@ e06079b5ea7ec0dd32612c324e4dec3aa1720adf573a055b060d4f67344be552 pfSense-pkg-Fa aa01bd1750c325584291f7842ae7c0c20d9b82c9b5fa38bd79cce61c2f88031f pfSense-pkg-FauxAPI-1.2_2.txz cc3d1cac94b9088b13330f72dfbad8a080ca853cd292ad3bbecb5fc6a8497e62 pfSense-pkg-FauxAPI-1.3_1.txz a1770eebae1acc38c2c28fc227bc64561f4e80b01cc3cbffe3655d02c84673ef pfSense-pkg-FauxAPI-1.3_2.txz +9ed0e5a61a1cb954b203d732c3d0d141dacd4f7b26ed5d892819683f15659f47 pfSense-pkg-FauxAPI-1.3_3.txz diff --git a/package/pfSense-pkg-FauxAPI-1.3_3.txz b/package/pfSense-pkg-FauxAPI-1.3_3.txz new file mode 100644 index 0000000000000000000000000000000000000000..63ac65e1c446cc2a11ed4409718ada4f2b08cf39 GIT binary patch literal 38060 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 QRefer to the published package SHA256SUMS

Hint: if not already, consider installing the jq tool on your local machine (not pfSense host) to pipe and manage JSON outputs from FauxAPI - https://stedolan.github.io/jq/

+

NB: you MUST at least setup your /etc/fauxapi/credentials.ini file on the +pfSense host before you continue, see the API Authentication section below.

Client libraries

@@ -186,9 +188,11 @@ FauxAPI /etc/fauxapi/credentials.ini file - happy to receive feedback about this approach.

The two sample FauxAPI keys (PFFAexample01 and PFFAexample02) and their -associated secrets in the sample credentials.ini file are hard-coded to be -inoperative, you must create entirely new values before your client scripts +associated secrets in the sample credentials.sample.ini file are hard-coded to +be inoperative, you must create entirely new values before your client scripts will be able to issue commands to FauxAPI.

+

You can start your own /etc/fauxapi/credentials.ini file by copying the sample +file provided in credentials.sample.ini

API authentication itself is performed on a per-call basis with the auth value inserted as an additional fauxapi-auth HTTP request header, it can be calculated as such:-

@@ -599,6 +603,9 @@ function thus causing all FauxAPI actions to be logged and auditable on a per
  • Functions to be called via this interface MUST be defined in the file /etc/pfsense_function_calls.txt only a handful very basic and read-only pfSense functions are enabled by default.
  • +
  • You can start your own /etc/fauxapi/pfsense_function_calls.txt file by +copying the sample file provided in pfsense_function_calls.sample.txt +
  • HTTP: POST
  • Params: none