<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.kinguardproject.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tor</id>
	<title>The Kinguard Project Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.kinguardproject.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tor"/>
	<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Special:Contributions/Tor"/>
	<updated>2026-04-16T11:35:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Downloads&amp;diff=127</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Downloads&amp;diff=127"/>
		<updated>2020-08-08T08:40:51Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Current release ==&lt;br /&gt;
The current release for The Kinguard Project is &amp;quot;Kinguard 20.07&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Install images ===&lt;br /&gt;
Install images are provided on the Kinguard [https://www.kinguardproject.org/download/releases/20.07 Download Area] for both OPI and KEEP.&lt;br /&gt;
&lt;br /&gt;
Please read the [https://www.kinguardproject.org/download/releases/20.07/ReleaseNotes_20.07.pdf ReleseNotes].&lt;br /&gt;
=== How to install ===&lt;br /&gt;
For KEEP write the img-file to a USB stick and press and hold the button for 10 seconds while inserting power.&lt;br /&gt;
&lt;br /&gt;
A simple cross platform tool to write .img files to an SD Card or USB Stick is Etcher. https://etcher.io/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For KEEP&#039;&#039;&#039;, the installation takes about 3 minutes. Unfortunately there is currently no visual indication that the installation has completed. A hint though is that when the harddrive spins down, the installation is complete. After the completed installation the unit needs to be power cycled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For OPI&#039;&#039;&#039; write the image file (.img) to a uSD card (using Etcher or similar tool), insert it into OPI and apply power.&lt;br /&gt;
OPI will turn off all LEDs when the installation is complete. When the installation is complete replace the installation SD-card with a blank SD card.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Special OPI note when upgradeing&#039;&#039;&#039; from the older OPI software to the newer Kinguard-based version. &#039;&#039;&#039;It is not possible to reuse data directly from an old SD-card&#039;&#039;&#039;. The default procedure is to perform a backup to USB and then do a complete reinstall with a new/newly formatted SD card.&lt;br /&gt;
&lt;br /&gt;
If data is to be restored from a backup, the recommended way is to make sure that a backup on USB exists (usually faster than downloading from on-line servers), make a clean shutdown of OPI and then leave the USB memory inserted during the setup. The data set can then be chosen during the &amp;quot;Restore&amp;quot; step of the setup procedure.&lt;br /&gt;
&lt;br /&gt;
=== Installer Configuration ===&lt;br /&gt;
In the installer image there is a configuration file that can be used to alter the behavior of the installer image.&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;/etc/kgp-install.conf&amp;quot; there are few parameters available. Note that you need to be &amp;quot;root&amp;quot; in order to change these parameters.&lt;br /&gt;
&lt;br /&gt;
 DO_INSTALL=1&lt;br /&gt;
&lt;br /&gt;
By default this parameter is set to &amp;quot;1&amp;quot;, which will cause the image to basically do a factory reset by formatting the internal eMMC and reinstalling system software. Any data on the data disk will be left intact. &lt;br /&gt;
&lt;br /&gt;
If set to &#039;0&#039;, the system will boot into a rescue mode, leaving all data on the system intact, but allowing access to the system using ssh and serial console.&lt;br /&gt;
&lt;br /&gt;
 DO_ADDROOT=0 &lt;br /&gt;
&lt;br /&gt;
By default this parameter is set to &amp;quot;0&amp;quot;. By changing this to &amp;quot;1&amp;quot;, the system will be installed a root account is added with the password &amp;quot;op237&amp;quot;.&lt;br /&gt;
This is only available on the serial port, ssh is not enabled by default.&lt;br /&gt;
&lt;br /&gt;
How to connect to the serial port is described [[Enable serial console|here]].&lt;br /&gt;
&lt;br /&gt;
== Older releases provided by OpenProducts ==&lt;br /&gt;
&lt;br /&gt;
=== OPI ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kinguardproject.org/download/releases/OpenProducts-OPI-Legacy/install/ Installation images]&lt;br /&gt;
&lt;br /&gt;
[https://www.kinguardproject.org/download/releases/OpenProducts-OPI-Legacy/rescue/ Rescue images]&lt;br /&gt;
&lt;br /&gt;
Instructions on how to reinstall is available [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 here]&lt;br /&gt;
&lt;br /&gt;
The rescue image is very similar to the install image, only that the image does not re-install the system. The system will be available both on the serial port and on ssh with the user/password of root/op237. The root file system can then be accessed and manipulated, but all user data is only available if the encrypted partition in unlocked and mounted by hand.&lt;br /&gt;
&lt;br /&gt;
=== KEEP ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kinguardproject.org/download/releases/OpenProducts-KEEP-Legacy Installation images]&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Downloads&amp;diff=110</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Downloads&amp;diff=110"/>
		<updated>2019-06-05T12:02:03Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Current release ==&lt;br /&gt;
The current release for The Kinguard Project is &amp;quot;Kinguard 19.06&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Install images ===&lt;br /&gt;
Install images are provided on the Kinguard [https://www.kinguardproject.org/download/releases/19.06/ Download Area] for both OPI and KEEP.&lt;br /&gt;
&lt;br /&gt;
Please read the [https://www.kinguardproject.org/download/releases/19.06/ReleaseNotes_19.06.pdf ReleseNotes].&lt;br /&gt;
=== How to install ===&lt;br /&gt;
For KEEP write the img-file to a USB stick and press and hold the button for 10 seconds while inserting power.&lt;br /&gt;
&lt;br /&gt;
A simple cross platform tool to write .img files to an SD Card or USB Stick is Etcher. https://etcher.io/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For KEEP&#039;&#039;&#039;, the installation takes about 3 minutes. Unfortunately there is currently no visual indication that the installation has completed. A hint though is that when the harddrive spins down, the installation is complete. After the completed installation the unit needs to be power cycled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For OPI&#039;&#039;&#039; write the image file (.img) to a uSD card (using Etcher or similar tool), insert it into OPI and apply power.&lt;br /&gt;
OPI will turn off all LEDs when the installation is complete. When the installation is complete replace the installation SD-card with a blank SD card.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Special OPI note when upgradeing&#039;&#039;&#039; from the older OPI software to the newer Kinguard-based version. &#039;&#039;&#039;It is not possible to reuse data directly from an old SD-card&#039;&#039;&#039;. The default procedure is to perform a backup to USB and then do a complete reinstall with a new/newly formatted SD card.&lt;br /&gt;
&lt;br /&gt;
If data is to be restored from a backup, the recommended way is to make sure that a backup on USB exists (usually faster than downloading from on-line servers), make a clean shutdown of OPI and then leave the USB memory inserted during the setup. The data set can then be chosen during the &amp;quot;Restore&amp;quot; step of the setup procedure.&lt;br /&gt;
&lt;br /&gt;
=== Installer Configuration ===&lt;br /&gt;
In the installer image there is a configuration file that can be used to alter the behavior of the installer image.&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;/etc/kgp-install.conf&amp;quot; there are few parameters available. Note that you need to be &amp;quot;root&amp;quot; in order to change these parameters.&lt;br /&gt;
&lt;br /&gt;
 DO_INSTALL=1&lt;br /&gt;
&lt;br /&gt;
By default this parameter is set to &amp;quot;1&amp;quot;, which will cause the image to basically do a factory reset by formatting the internal eMMC and reinstalling system software. Any data on the data disk will be left intact. &lt;br /&gt;
&lt;br /&gt;
If set to &#039;0&#039;, the system will boot into a rescue mode, leaving all data on the system intact, but allowing access to the system using ssh and serial console.&lt;br /&gt;
&lt;br /&gt;
 DO_ADDROOT=0 &lt;br /&gt;
&lt;br /&gt;
By default this parameter is set to &amp;quot;0&amp;quot;. By changing this to &amp;quot;1&amp;quot;, the system will be installed a root account is added with the password &amp;quot;op237&amp;quot;.&lt;br /&gt;
This is only available on the serial port, ssh is not enabled by default.&lt;br /&gt;
&lt;br /&gt;
How to connect to the serial port is described [[Enable serial console|here]].&lt;br /&gt;
&lt;br /&gt;
== Older releases provided by OpenProducts ==&lt;br /&gt;
&lt;br /&gt;
=== OPI ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kinguardproject.org/download/releases/OpenProducts-OPI-Legacy/install/ Installation images]&lt;br /&gt;
&lt;br /&gt;
[https://www.kinguardproject.org/download/releases/OpenProducts-OPI-Legacy/rescue/ Rescue images]&lt;br /&gt;
&lt;br /&gt;
Instructions on how to reinstall is available [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 here]&lt;br /&gt;
&lt;br /&gt;
The rescue image is very similar to the install image, only that the image does not re-install the system. The system will be available both on the serial port and on ssh with the user/password of root/op237. The root file system can then be accessed and manipulated, but all user data is only available if the encrypted partition in unlocked and mounted by hand.&lt;br /&gt;
&lt;br /&gt;
=== KEEP ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kinguardproject.org/download/releases/OpenProducts-KEEP-Legacy Installation images]&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=OPIForceReinstall&amp;diff=109</id>
		<title>OPIForceReinstall</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=OPIForceReinstall&amp;diff=109"/>
		<updated>2018-12-22T16:03:38Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Reinstall */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Howto reinstall a dead OPI ==&lt;br /&gt;
&lt;br /&gt;
This howto covers howto recover a bricked dead OPI or a forced downgrade from a newer version to an older one. For a normal reinstall se here [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 (Re)Installing OPI]&lt;br /&gt;
&lt;br /&gt;
In some rare occasions OPI could end up in a &amp;quot;dead&amp;quot; unrecoverable state. This could for example be the result of an interrupted reinstall or a filesystem corrupted in another way. In this situation the normal startup never finishes and a normal reinstall is never started.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To perform the re-installation you will have to remove the cover of OPI thus you need the following&lt;br /&gt;
&lt;br /&gt;
* Complete OPI with network and power supply/USB-cable.&lt;br /&gt;
* Torx T10 screwdriver&lt;br /&gt;
* SD card with installer (Read [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 (Re)Installing OPI] on how to create.&lt;br /&gt;
&lt;br /&gt;
== Disassemble OPI ==&lt;br /&gt;
&lt;br /&gt;
Turn OPI upside down and locate the four screws. Note that the upper left screw is located under the sticker.&lt;br /&gt;
&lt;br /&gt;
[[File:OPI-Bottom.png|none|thumb|OPI bottom]]&lt;br /&gt;
Use the screw driver to remove the four screws and then gently remove the upper cover.&lt;br /&gt;
[[File:OPI-uncovered.jpg|thumb|none|OPI without cover]]&lt;br /&gt;
&lt;br /&gt;
== Reinstall ==&lt;br /&gt;
&lt;br /&gt;
Locate the top left button on OPI&lt;br /&gt;
&lt;br /&gt;
[[File:OPI-buttons-marked.jpg|thumb|none|Alternate boot button]]&lt;br /&gt;
&lt;br /&gt;
Insert the install SD-card into OPI and hold down the button while inserting the power cable. When led is lit you can release the button.&lt;br /&gt;
[[File:OPI-power-on.jpg|thumb|none|OPI power on]]&lt;br /&gt;
Now wait for the installation to complete as described in the (RE)installing OPI.&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=OPIForceReinstall&amp;diff=108</id>
		<title>OPIForceReinstall</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=OPIForceReinstall&amp;diff=108"/>
		<updated>2018-12-22T16:02:59Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Howto reinstall a dead OPI ==&lt;br /&gt;
&lt;br /&gt;
This howto covers howto recover a bricked dead OPI or a forced downgrade from a newer version to an older one. For a normal reinstall se here [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 (Re)Installing OPI]&lt;br /&gt;
&lt;br /&gt;
In some rare occasions OPI could end up in a &amp;quot;dead&amp;quot; unrecoverable state. This could for example be the result of an interrupted reinstall or a filesystem corrupted in another way. In this situation the normal startup never finishes and a normal reinstall is never started.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To perform the re-installation you will have to remove the cover of OPI thus you need the following&lt;br /&gt;
&lt;br /&gt;
* Complete OPI with network and power supply/USB-cable.&lt;br /&gt;
* Torx T10 screwdriver&lt;br /&gt;
* SD card with installer (Read [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 (Re)Installing OPI] on how to create.&lt;br /&gt;
&lt;br /&gt;
== Disassemble OPI ==&lt;br /&gt;
&lt;br /&gt;
Turn OPI upside down and locate the four screws. Note that the upper left screw is located under the sticker.&lt;br /&gt;
&lt;br /&gt;
[[File:OPI-Bottom.png|none|thumb|OPI bottom]]&lt;br /&gt;
Use the screw driver to remove the four screws and then gently remove the upper cover.&lt;br /&gt;
[[File:OPI-uncovered.jpg|thumb|none|OPI without cover]]&lt;br /&gt;
&lt;br /&gt;
== Reinstall ==&lt;br /&gt;
&lt;br /&gt;
Locate the top left button on OPI&lt;br /&gt;
&lt;br /&gt;
[[File:OPI-buttons-marked.jpg|thumb|none|Alternate boot button]]&lt;br /&gt;
&lt;br /&gt;
Insert the install SD-card into OPI and hold down the button while inserting the power cable. When led is lit you can de-press the button.&lt;br /&gt;
[[File:OPI-power-on.jpg|thumb|none|OPI power on]]&lt;br /&gt;
Now wait for the installation to complete as described in the (RE)installing OPI.&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=OPIForceReinstall&amp;diff=107</id>
		<title>OPIForceReinstall</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=OPIForceReinstall&amp;diff=107"/>
		<updated>2018-12-22T15:59:56Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Howto reinstall a dead OPI ==&lt;br /&gt;
&lt;br /&gt;
This howto covers howto recover a bricked dead OPI or a forced downgrade from a newer version to an older one. For a normal reinstall se here [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 (Re)Installing OPI]&lt;br /&gt;
&lt;br /&gt;
In some rare occasions OPI could end up in a &amp;quot;dead&amp;quot; unrecoverable state. This could for example be the result of an interrupted reinstall or a filesystem corrupted in another way. In this situation the normal startup never finishes and a normal reinstall is never started.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To perform the re-installation you will have to remove the cover of OPI thus you need the following&lt;br /&gt;
&lt;br /&gt;
* Complete OPI with network and power supply/USB-cable.&lt;br /&gt;
* Torx T9 screwdriver&lt;br /&gt;
* SD card with installer (Read [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 (Re)Installing OPI] on how to create.&lt;br /&gt;
&lt;br /&gt;
== Disassemble OPI ==&lt;br /&gt;
&lt;br /&gt;
Turn OPI upside down and locate the four screws. Note that the upper left screw is located under the sticker.&lt;br /&gt;
&lt;br /&gt;
[[File:OPI-Bottom.png|none|thumb|OPI bottom]]&lt;br /&gt;
Use the screw driver to remove the four screws and then gently remove the upper cover.&lt;br /&gt;
[[File:OPI-uncovered.jpg|thumb|none|OPI without cover]]&lt;br /&gt;
&lt;br /&gt;
== Reinstall ==&lt;br /&gt;
&lt;br /&gt;
Locate the top left button on OPI&lt;br /&gt;
&lt;br /&gt;
[[File:OPI-buttons-marked.jpg|thumb|none|Alternate boot button]]&lt;br /&gt;
&lt;br /&gt;
Insert the install SD-card into OPI and hold down the button while inserting the power cable. When led is lit you can de-press the button.&lt;br /&gt;
[[File:OPI-power-on.jpg|thumb|none|OPI power on]]&lt;br /&gt;
Now wait for the installation to complete as described in the (RE)installing OPI.&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=File:OPI-power-on.jpg&amp;diff=106</id>
		<title>File:OPI-power-on.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=File:OPI-power-on.jpg&amp;diff=106"/>
		<updated>2018-12-22T15:59:09Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OPI power on with alternate boot&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=File:OPI-buttons-marked.jpg&amp;diff=104</id>
		<title>File:OPI-buttons-marked.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=File:OPI-buttons-marked.jpg&amp;diff=104"/>
		<updated>2018-12-22T15:48:05Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OPI with boot button marked&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=File:OPI-uncovered.jpg&amp;diff=100</id>
		<title>File:OPI-uncovered.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=File:OPI-uncovered.jpg&amp;diff=100"/>
		<updated>2018-12-22T15:41:50Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OPI with cover removed&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=File:OPI-Bottom.png&amp;diff=99</id>
		<title>File:OPI-Bottom.png</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=File:OPI-Bottom.png&amp;diff=99"/>
		<updated>2018-12-22T15:32:52Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OPI bottom up with screws marked.&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=OPIForceReinstall&amp;diff=98</id>
		<title>OPIForceReinstall</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=OPIForceReinstall&amp;diff=98"/>
		<updated>2018-12-22T11:47:45Z</updated>

		<summary type="html">&lt;p&gt;Tor: Created page with &amp;quot;== Howto reinstall a dead OPI ==  &amp;#039;&amp;#039;&amp;#039;Work in progress!&amp;#039;&amp;#039;&amp;#039;  This howto covers howto recover a bricked dead OPI or a forced downgrade from a newer version to an older one. For a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Howto reinstall a dead OPI ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Work in progress!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This howto covers howto recover a bricked dead OPI or a forced downgrade from a newer version to an older one. For a normal reinstall se here [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 (Re)Installing OPI]&lt;br /&gt;
&lt;br /&gt;
In some rare occasions OPI could end up in a &amp;quot;dead&amp;quot; unrecoverable state. This could for example be the result of an interrupted reinstall or a filesystem corrupted in another way. In this situation the normal startup never finishes and a normal reinstall is never started.&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Tutorials_and_How-tos&amp;diff=97</id>
		<title>Tutorials and How-tos</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Tutorials_and_How-tos&amp;diff=97"/>
		<updated>2018-12-22T11:40:14Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Intermediate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beginner ==&lt;br /&gt;
&lt;br /&gt;
* [[Access your unit using SSH]]&lt;br /&gt;
* [[SSH access using private/public key pair]]&lt;br /&gt;
* [[Run a backup manually]]&lt;br /&gt;
* [[DavDroid Crashes when adding a nextcloud account]]&lt;br /&gt;
&lt;br /&gt;
== Intermediate ==&lt;br /&gt;
* [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=750/ Change to a larger SD card on OPI]&lt;br /&gt;
* [[Enable serial console]]&lt;br /&gt;
* [[OPIForceReinstall|Reinstall dead OPI]]&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Downloads&amp;diff=94</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Downloads&amp;diff=94"/>
		<updated>2018-10-15T13:20:17Z</updated>

		<summary type="html">&lt;p&gt;Tor: Fixed typo and added section on OPI dist upgrade&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Current release ==&lt;br /&gt;
The current release for The Kinguard Project is &amp;quot;Kinguard 18.06&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Install images ===&lt;br /&gt;
Install images are provided on the Kinguard [https://www.kinguardproject.org/download/releases/18.06/ Download Area] for both OPI and KEEP.&lt;br /&gt;
&lt;br /&gt;
Please read the [https://www.kinguardproject.org/download/releases/18.06/ReleaseNotes_18.06.pdf ReleseNotes].&lt;br /&gt;
=== How to install ===&lt;br /&gt;
For KEEP write the img-file to a USB stick and press and hold the button for 10 seconds while inserting power.&lt;br /&gt;
&lt;br /&gt;
A simple cross platform tool to write .img files to an SD Card or USB Stick is Etcher. https://etcher.io/&lt;br /&gt;
&lt;br /&gt;
For KEEP, the installation takes about 3 minutes. Unfortunately there is currently no visual indication that the installation has completed. A hint though is that when the harddrive spins down, the installation is complete. After the completed installation the unit needs to be power cycled.&lt;br /&gt;
&lt;br /&gt;
For OPI write the image to a uSD card, insert it into OPI and apply power.&lt;br /&gt;
OPI will turn off all LEDs when the installation is complete. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Special OPI note&#039;&#039;&#039; regarding upgrading from the older OPI software to the newer Kinguard-based version. It is currently not possible to reuse data directly from an old SD-card. The default procedure is to perform a backup to USB and then do a complete reinstall with a new/newly formatted SD card.&lt;br /&gt;
&lt;br /&gt;
If data is to be restored from a backup, the recommended way is to make sure that a backup on USB exists (usually faster than downloading from on-line servers), make a clean shutdown of OPI and then leave the USB memory inserted during the setup. The data set can then be chosen during the &amp;quot;Restore&amp;quot; step of the setup procedure.&lt;br /&gt;
&lt;br /&gt;
=== Installer Configuration ===&lt;br /&gt;
In the installer image there is a configuration file that can be used to alter the behavior of the installer image.&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;/etc/kgp-install.conf&amp;quot; there are few parameters available. Note that you need to be &amp;quot;root&amp;quot; in order to change these parameters.&lt;br /&gt;
&lt;br /&gt;
 DO_INSTALL=1&lt;br /&gt;
&lt;br /&gt;
By default this parameter is set to &amp;quot;1&amp;quot;, which will cause the image to basically do a factory reset by formatting the internal eMMC and reinstalling system software. Any data on the data disk will be left intact. &lt;br /&gt;
&lt;br /&gt;
If set to &#039;0&#039;, the system will boot into a rescue mode, leaving all data on the system intact, but allowing access to the system using ssh and serial console.&lt;br /&gt;
&lt;br /&gt;
 DO_ADDROOT=0 &lt;br /&gt;
&lt;br /&gt;
By default this parameter is set to &amp;quot;0&amp;quot;. By changing this to &amp;quot;1&amp;quot;, the system will be installed a root account is added with the password &amp;quot;op237&amp;quot;.&lt;br /&gt;
This is only available on the serial port, ssh is not enabled by default.&lt;br /&gt;
&lt;br /&gt;
How to connect to the serial port is described [[Enable serial console|here]].&lt;br /&gt;
&lt;br /&gt;
== Older releases provided by OpenProducts ==&lt;br /&gt;
&lt;br /&gt;
=== OPI ===&lt;br /&gt;
&lt;br /&gt;
[https://download.openproducts.com/opi/install/ Installation images]&lt;br /&gt;
&lt;br /&gt;
[https://download.openproducts.com/opi/rescue/ Rescue images]&lt;br /&gt;
&lt;br /&gt;
Instructions on how to reinstall is available [https://www.kinguardproject.org/forum/viewtopic.php?f=345&amp;amp;t=466 here]&lt;br /&gt;
&lt;br /&gt;
The rescue image is very similar to the install image, only that the image does not re-install the system. The system will be available both on the serial port and on ssh with the user/password of root/op237. The root file system can then be accessed and manipulated, but all user data is only available if the encrypted partition in unlocked and mounted by hand.&lt;br /&gt;
&lt;br /&gt;
=== KEEP ===&lt;br /&gt;
&lt;br /&gt;
[https://download.openproducts.com/keep/install/ Installation images]&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=85</id>
		<title>Documentation/sysconfig</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=85"/>
		<updated>2018-07-06T08:31:52Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Config scopes and variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=System configuration file=&lt;br /&gt;
&lt;br /&gt;
The kinguard system components store all generic none security sensitive configuration in a central configuration file &amp;quot;/etc/kinguard/sysconfig.json&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This file should however never be manually edited it should always be accessed programatically using either [https://github.com/Kinguard/libkgp libkgp] or any wrapper to this library described further down.  &lt;br /&gt;
&lt;br /&gt;
=== File Syntax ===&lt;br /&gt;
For reference here is the layout of the sysconfig json file. Please read the file for reference but never ever edit it manually.&lt;br /&gt;
&lt;br /&gt;
The complete configuration file is one json object (note that javascript object syntax is not permitted).&lt;br /&gt;
&lt;br /&gt;
The file is set up using a &amp;quot;scope&amp;quot; and &amp;quot;key/value&amp;quot; pairs.&lt;br /&gt;
&lt;br /&gt;
All scope and key identifiers shall be lowercase and written with &#039;&#039;&#039;letters and digits only&#039;&#039;&#039;, no &amp;quot;-&amp;quot; or &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;webapps&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;theme&amp;quot;:&amp;quot;kgp&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;hostinfo&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;,&lt;br /&gt;
     &amp;quot;hostname&amp;quot;:&amp;quot;myhost&amp;quot;,&lt;br /&gt;
     &amp;quot;domain&amp;quot;:&amp;quot;example.org&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Native access via libkgp ===&lt;br /&gt;
Libkgp is the main library to use when programming locally for the kinguard system it contains c++ objects for managing all kinguard functions. No official documentation exists for this yet but pointers on how it works can be found in the [https://github.com/Kinguard/libkgp/tree/master/test unit tests] and in the applications utilizing them for example [https://github.com/Kinguard/kgp-backend KGP backend] and [https://github.com/Kinguard/kgp-control KGP startup control]&lt;br /&gt;
&lt;br /&gt;
To access the system configuration the [https://github.com/Kinguard/libkgp/blob/master/SysConfig.h SysConfig class]&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.&lt;br /&gt;
&lt;br /&gt;
===== Shell Scripts =====&lt;br /&gt;
For shell scripts, use &amp;quot;[https://github.com/Kinguard/kinguard-utils kgp-sysinfo]&amp;quot;. Run kgp-sysinfo --help for options.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid -p&lt;br /&gt;
 c79f425c-9af7-4f38-b1ba-d53277b14939&lt;br /&gt;
 &lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid&lt;br /&gt;
 {&amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
For Python3, use the python library &amp;quot;[https://github.com/Kinguard/kgp-pywrap pylibopi]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import pylibopi&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; pylibopi.StorageDevice()&lt;br /&gt;
 &#039;/dev/disk/by-path/platform-f10a8000.sata-ata-2&#039;&lt;br /&gt;
&lt;br /&gt;
===== C =====&lt;br /&gt;
For C programs, [https://github.com/Kinguard/libkgp_wrapper libkgp_wrapper] can be used.&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.&lt;br /&gt;
&lt;br /&gt;
= Config scopes and variables =&lt;br /&gt;
Very few of these parameters are mandatory. However default behavior for the applications will vary if an expected parameter is missing.&lt;br /&gt;
&lt;br /&gt;
 - autoupdate&lt;br /&gt;
      |- enabled     turns on and off automatic updates&lt;br /&gt;
 &lt;br /&gt;
 - backup&lt;br /&gt;
      |- backend           which storage backend to use for s3ql &lt;br /&gt;
      |- devicemountpath   where to mount local devices, such as usb memories&lt;br /&gt;
      |- enabled           turns on and off the backup service&lt;br /&gt;
 &lt;br /&gt;
 - dns&lt;br /&gt;
      |- dnsauthkey    path to the private key used for lower level authentication on service provider backends&lt;br /&gt;
      |- dnspubkey     path to corresponding public key&lt;br /&gt;
      |- enabled       turns on and off dns updates&lt;br /&gt;
      |- provider      backend provider&lt;br /&gt;
 &lt;br /&gt;
 - filesystem&lt;br /&gt;
      |- storagemount  mountpoint of storage volume&lt;br /&gt;
      |- luksdevice    luks-created cryptodevice (If used)&lt;br /&gt;
      |- lvmdevice     lvm-created storage pool (If used)&lt;br /&gt;
      |- lvmvg         lvm-created volume group (If used)&lt;br /&gt;
      |- lvmlv         lvm-created logical volume (If used)&lt;br /&gt;
 &lt;br /&gt;
 - hostinfo&lt;br /&gt;
      |- unitid        system id to use as account identifier for service provider backends&lt;br /&gt;
      |- hostname      the &#039;host&#039; part of the [https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN]&lt;br /&gt;
      |- domain        the &#039;domain&#039; part of the FQDN&lt;br /&gt;
      |- cafile        the ca file used to verify service provider backends&lt;br /&gt;
      |- sysauthkey    the key used to access data on service provider backends&lt;br /&gt;
      |- syspubkey     corresponding public key&lt;br /&gt;
 &lt;br /&gt;
 - mail&lt;br /&gt;
      |- localmail    configuration file for local mail delivery, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- virtualalias configuration file for virtual mail aliases, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- vmailbox     path to virtual mailbox mapping, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- vdomains     path to virtual domains file (Which domains to accept mail from), relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- saslpasswd   path to sasl password store file, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- oprelayserver URL to OpenProducts smtp-relay&lt;br /&gt;
 &lt;br /&gt;
 - setup&lt;br /&gt;
      |- conntesthost  host used for connectivity tests&lt;br /&gt;
 &lt;br /&gt;
 - upnp&lt;br /&gt;
      |- forwardports  which ports the device shall try to forward from a UPNP gateway&lt;br /&gt;
  &lt;br /&gt;
 - webapps&lt;br /&gt;
      |- theme         the theme used by webapps&lt;br /&gt;
 &lt;br /&gt;
 - webcertificate&lt;br /&gt;
      |- backend       backend provider&lt;br /&gt;
      |- enabled       turns on and off generation of web certificates&lt;br /&gt;
      |- certpath      the location where signed certificate are stored&lt;br /&gt;
      |- customcert    full path to custom certificate&lt;br /&gt;
      |- customkey     full path to private key for the custom certificate&lt;br /&gt;
      |- activecert    path to symlink for the certificate being used&lt;br /&gt;
      |- activekey     path to symlink for key corresponding to activecert&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=84</id>
		<title>Documentation/sysconfig</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=84"/>
		<updated>2018-07-05T13:27:55Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Config scopes and variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=System configuration file=&lt;br /&gt;
&lt;br /&gt;
The kinguard system components store all generic none security sensitive configuration in a central configuration file &amp;quot;/etc/kinguard/sysconfig.json&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This file should however never be manually edited it should always be accessed programatically using either [https://github.com/Kinguard/libkgp libkgp] or any wrapper to this library described further down.  &lt;br /&gt;
&lt;br /&gt;
=== File Syntax ===&lt;br /&gt;
For reference here is the layout of the sysconfig json file. Please read the file for reference but never ever edit it manually.&lt;br /&gt;
&lt;br /&gt;
The complete configuration file is one json object (note that javascript object syntax is not permitted).&lt;br /&gt;
&lt;br /&gt;
The file is set up using a &amp;quot;scope&amp;quot; and &amp;quot;key/value&amp;quot; pairs.&lt;br /&gt;
&lt;br /&gt;
All scope and key identifiers shall be lowercase and written with &#039;&#039;&#039;letters and digits only&#039;&#039;&#039;, no &amp;quot;-&amp;quot; or &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;webapps&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;theme&amp;quot;:&amp;quot;kgp&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;hostinfo&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;,&lt;br /&gt;
     &amp;quot;hostname&amp;quot;:&amp;quot;myhost&amp;quot;,&lt;br /&gt;
     &amp;quot;domain&amp;quot;:&amp;quot;example.org&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Native access via libkgp ===&lt;br /&gt;
Libkgp is the main library to use when programming locally for the kinguard system it contains c++ objects for managing all kinguard functions. No official documentation exists for this yet but pointers on how it works can be found in the [https://github.com/Kinguard/libkgp/tree/master/test unit tests] and in the applications utilizing them for example [https://github.com/Kinguard/kgp-backend KGP backend] and [https://github.com/Kinguard/kgp-control KGP startup control]&lt;br /&gt;
&lt;br /&gt;
To access the system configuration the [https://github.com/Kinguard/libkgp/blob/master/SysConfig.h SysConfig class]&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.&lt;br /&gt;
&lt;br /&gt;
===== Shell Scripts =====&lt;br /&gt;
For shell scripts, use &amp;quot;[https://github.com/Kinguard/kinguard-utils kgp-sysinfo]&amp;quot;. Run kgp-sysinfo --help for options.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid -p&lt;br /&gt;
 c79f425c-9af7-4f38-b1ba-d53277b14939&lt;br /&gt;
 &lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid&lt;br /&gt;
 {&amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
For Python3, use the python library &amp;quot;[https://github.com/Kinguard/kgp-pywrap pylibopi]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import pylibopi&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; pylibopi.StorageDevice()&lt;br /&gt;
 &#039;/dev/disk/by-path/platform-f10a8000.sata-ata-2&#039;&lt;br /&gt;
&lt;br /&gt;
===== C =====&lt;br /&gt;
For C programs, [https://github.com/Kinguard/libkgp_wrapper libkgp_wrapper] can be used.&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.&lt;br /&gt;
&lt;br /&gt;
= Config scopes and variables =&lt;br /&gt;
Very few of these parameters are mandatory. However default behavior for the applications will vary if an expected parameter is missing.&lt;br /&gt;
&lt;br /&gt;
 - autoupdate&lt;br /&gt;
      |- enabled     turns on and off automatic updates&lt;br /&gt;
 &lt;br /&gt;
 - backup&lt;br /&gt;
      |- backend           which storage backend to use for s3ql &lt;br /&gt;
      |- devicemountpath   where to mount local devices, such as usb memories&lt;br /&gt;
      |- enabled           turns on and off the backup service&lt;br /&gt;
 &lt;br /&gt;
 - dns&lt;br /&gt;
      |- dnsauthkey    path to the private key used for lower level authentication on service provider backends&lt;br /&gt;
      |- dnspubkey     path to corresponding public key&lt;br /&gt;
      |- enabled       turns on and off dns updates&lt;br /&gt;
      |- provider      backend provider&lt;br /&gt;
 &lt;br /&gt;
 - filesystem&lt;br /&gt;
      |- storagemount  mountpoint of storage volume&lt;br /&gt;
      |- luksdevice    luks-created cryptodevice (If used)&lt;br /&gt;
      |- lvmdevice     lvm-created storage pool (If used)&lt;br /&gt;
      |- lvmvg         lvm-created volume group (If used)&lt;br /&gt;
      |- lvmlv         lvm-created logical volume (If used)&lt;br /&gt;
 &lt;br /&gt;
 - hostinfo&lt;br /&gt;
      |- unitid        system id to use as account identifier for service provider backends&lt;br /&gt;
      |- hostname      the &#039;host&#039; part of the [https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN]&lt;br /&gt;
      |- domain        the &#039;domain&#039; part of the FQDN&lt;br /&gt;
      |- cafile        the ca file used to verify service provider backends&lt;br /&gt;
      |- sysauthkey    the key used to access data on service provider backends&lt;br /&gt;
      |- syspubkey     corresponding public key&lt;br /&gt;
 &lt;br /&gt;
 - mail&lt;br /&gt;
      |- localmail    configuration file for local mail delivery, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- virtualalias configuration file for virtual mail aliases, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- vmailbox     path to virtual mailbox mapping, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- vdomains     path to virtual domains file (Which domains to accept mail from), relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- saslpasswd   path to sasl password store file, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- oprelayserver URL to OpenProducts smtp-relay&lt;br /&gt;
 &lt;br /&gt;
 - setup&lt;br /&gt;
      |- conntesthost  host used for connectivity tests&lt;br /&gt;
 &lt;br /&gt;
 - upnp&lt;br /&gt;
      |- forwardports  which ports the device shall try to forward from a UPNP gateway&lt;br /&gt;
  &lt;br /&gt;
 - webapps&lt;br /&gt;
      |- theme         the theme used by webapps&lt;br /&gt;
 &lt;br /&gt;
 - webcertificate&lt;br /&gt;
      |- backend       backend provider&lt;br /&gt;
      |- enabled       turns on and off generation of web certificates&lt;br /&gt;
      |- certpath      the location where signed certificate are stored&lt;br /&gt;
      |- customcert    full path to custom certificate&lt;br /&gt;
      |- customkey     full path to private key for the custom certificate&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=83</id>
		<title>Documentation/sysconfig</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=83"/>
		<updated>2018-07-05T12:45:57Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Config scopes and variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=System configuration file=&lt;br /&gt;
&lt;br /&gt;
The kinguard system components store all generic none security sensitive configuration in a central configuration file &amp;quot;/etc/kinguard/sysconfig.json&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This file should however never be manually edited it should always be accessed programatically using either [https://github.com/Kinguard/libkgp libkgp] or any wrapper to this library described further down.  &lt;br /&gt;
&lt;br /&gt;
=== File Syntax ===&lt;br /&gt;
For reference here is the layout of the sysconfig json file. Please read the file for reference but never ever edit it manually.&lt;br /&gt;
&lt;br /&gt;
The complete configuration file is one json object (note that javascript object syntax is not permitted).&lt;br /&gt;
&lt;br /&gt;
The file is set up using a &amp;quot;scope&amp;quot; and &amp;quot;key/value&amp;quot; pairs.&lt;br /&gt;
&lt;br /&gt;
All scope and key identifiers shall be lowercase and written with &#039;&#039;&#039;letters and digits only&#039;&#039;&#039;, no &amp;quot;-&amp;quot; or &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;webapps&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;theme&amp;quot;:&amp;quot;kgp&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;hostinfo&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;,&lt;br /&gt;
     &amp;quot;hostname&amp;quot;:&amp;quot;myhost&amp;quot;,&lt;br /&gt;
     &amp;quot;domain&amp;quot;:&amp;quot;example.org&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Native access via libkgp ===&lt;br /&gt;
Libkgp is the main library to use when programming locally for the kinguard system it contains c++ objects for managing all kinguard functions. No official documentation exists for this yet but pointers on how it works can be found in the [https://github.com/Kinguard/libkgp/tree/master/test unit tests] and in the applications utilizing them for example [https://github.com/Kinguard/kgp-backend KGP backend] and [https://github.com/Kinguard/kgp-control KGP startup control]&lt;br /&gt;
&lt;br /&gt;
To access the system configuration the [https://github.com/Kinguard/libkgp/blob/master/SysConfig.h SysConfig class]&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.&lt;br /&gt;
&lt;br /&gt;
===== Shell Scripts =====&lt;br /&gt;
For shell scripts, use &amp;quot;[https://github.com/Kinguard/kinguard-utils kgp-sysinfo]&amp;quot;. Run kgp-sysinfo --help for options.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid -p&lt;br /&gt;
 c79f425c-9af7-4f38-b1ba-d53277b14939&lt;br /&gt;
 &lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid&lt;br /&gt;
 {&amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
For Python3, use the python library &amp;quot;[https://github.com/Kinguard/kgp-pywrap pylibopi]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import pylibopi&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; pylibopi.StorageDevice()&lt;br /&gt;
 &#039;/dev/disk/by-path/platform-f10a8000.sata-ata-2&#039;&lt;br /&gt;
&lt;br /&gt;
===== C =====&lt;br /&gt;
For C programs, [https://github.com/Kinguard/libkgp_wrapper libkgp_wrapper] can be used.&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.&lt;br /&gt;
&lt;br /&gt;
= Config scopes and variables =&lt;br /&gt;
Very few of these parameters are mandatory. However default behavior for the applications will vary if an expected parameter is missing.&lt;br /&gt;
&lt;br /&gt;
 - autoupdate&lt;br /&gt;
      |- enabled     turns on and off automatic updates&lt;br /&gt;
 &lt;br /&gt;
 - backup&lt;br /&gt;
      |- backend           which storage backend to use for s3ql &lt;br /&gt;
      |- devicemountpath   where to mount local devices, such as usb memories&lt;br /&gt;
      |- enabled           turns on and off the backup service&lt;br /&gt;
 &lt;br /&gt;
 - dns&lt;br /&gt;
      |- dnsauthkey    path to the private key used for lower level authentication on service provider backends&lt;br /&gt;
      |- dnspubkey     path to corresponding public key&lt;br /&gt;
      |- enabled       turns on and off dns updates&lt;br /&gt;
      |- provider      backend provider&lt;br /&gt;
 &lt;br /&gt;
 - filesystem&lt;br /&gt;
      |- storagemount  mountpoint of storage volume&lt;br /&gt;
      |- luksdevice    luks-created cryptodevice (If used)&lt;br /&gt;
      |- lvmdevice     lvm-created storage pool (If used)&lt;br /&gt;
      |- lvmvg         lvm-created volume group (If used)&lt;br /&gt;
      |- lvmlv         lvm-created logical volume (If used)&lt;br /&gt;
 &lt;br /&gt;
 - hostinfo&lt;br /&gt;
      |- unitid        system id to use as account identifier for service provider backends&lt;br /&gt;
      |- hostname      the &#039;host&#039; part of the [https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN]&lt;br /&gt;
      |- domain        the &#039;domain&#039; part of the FQDN&lt;br /&gt;
      |- cafile        the ca file used to verify service provider backends&lt;br /&gt;
      |- sysauthkey    the key used to access data on service provider backends&lt;br /&gt;
      |- syspubkey     corresponding public key&lt;br /&gt;
 &lt;br /&gt;
 - mail&lt;br /&gt;
      |- localmail    configuration file for local mail delivery, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- virtualalias configuration file for virtual mail aliases, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- vmailbox     path to virtual mailbox mapping, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- vdomains     path to virtual domains file (Which domains to accept mail from), relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- saslpasswd   path to sasl password store file, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
 &lt;br /&gt;
 - setup&lt;br /&gt;
      |- conntesthost  host used for connectivity tests&lt;br /&gt;
 &lt;br /&gt;
 - upnp&lt;br /&gt;
      |- forwardports  which ports the device shall try to forward from a UPNP gateway&lt;br /&gt;
  &lt;br /&gt;
 - webapps&lt;br /&gt;
      |- theme         the theme used by webapps&lt;br /&gt;
 &lt;br /&gt;
 - webcertificate&lt;br /&gt;
      |- backend       backend provider&lt;br /&gt;
      |- enabled       turns on and off generation of web certificates&lt;br /&gt;
      |- certpath      the location where signed certificate are stored&lt;br /&gt;
      |- customcert    full path to custom certificate&lt;br /&gt;
      |- customkey     full path to private key for the custom certificate&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=82</id>
		<title>Documentation/sysconfig</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=82"/>
		<updated>2018-07-05T12:28:46Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Config scopes and variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=System configuration file=&lt;br /&gt;
&lt;br /&gt;
The kinguard system components store all generic none security sensitive configuration in a central configuration file &amp;quot;/etc/kinguard/sysconfig.json&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This file should however never be manually edited it should always be accessed programatically using either [https://github.com/Kinguard/libkgp libkgp] or any wrapper to this library described further down.  &lt;br /&gt;
&lt;br /&gt;
=== File Syntax ===&lt;br /&gt;
For reference here is the layout of the sysconfig json file. Please read the file for reference but never ever edit it manually.&lt;br /&gt;
&lt;br /&gt;
The complete configuration file is one json object (note that javascript object syntax is not permitted).&lt;br /&gt;
&lt;br /&gt;
The file is set up using a &amp;quot;scope&amp;quot; and &amp;quot;key/value&amp;quot; pairs.&lt;br /&gt;
&lt;br /&gt;
All scope and key identifiers shall be lowercase and written with &#039;&#039;&#039;letters and digits only&#039;&#039;&#039;, no &amp;quot;-&amp;quot; or &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;webapps&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;theme&amp;quot;:&amp;quot;kgp&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;hostinfo&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;,&lt;br /&gt;
     &amp;quot;hostname&amp;quot;:&amp;quot;myhost&amp;quot;,&lt;br /&gt;
     &amp;quot;domain&amp;quot;:&amp;quot;example.org&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Native access via libkgp ===&lt;br /&gt;
Libkgp is the main library to use when programming locally for the kinguard system it contains c++ objects for managing all kinguard functions. No official documentation exists for this yet but pointers on how it works can be found in the [https://github.com/Kinguard/libkgp/tree/master/test unit tests] and in the applications utilizing them for example [https://github.com/Kinguard/kgp-backend KGP backend] and [https://github.com/Kinguard/kgp-control KGP startup control]&lt;br /&gt;
&lt;br /&gt;
To access the system configuration the [https://github.com/Kinguard/libkgp/blob/master/SysConfig.h SysConfig class]&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.&lt;br /&gt;
&lt;br /&gt;
===== Shell Scripts =====&lt;br /&gt;
For shell scripts, use &amp;quot;[https://github.com/Kinguard/kinguard-utils kgp-sysinfo]&amp;quot;. Run kgp-sysinfo --help for options.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid -p&lt;br /&gt;
 c79f425c-9af7-4f38-b1ba-d53277b14939&lt;br /&gt;
 &lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid&lt;br /&gt;
 {&amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
For Python3, use the python library &amp;quot;[https://github.com/Kinguard/kgp-pywrap pylibopi]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import pylibopi&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; pylibopi.StorageDevice()&lt;br /&gt;
 &#039;/dev/disk/by-path/platform-f10a8000.sata-ata-2&#039;&lt;br /&gt;
&lt;br /&gt;
===== C =====&lt;br /&gt;
For C programs, [https://github.com/Kinguard/libkgp_wrapper libkgp_wrapper] can be used.&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.&lt;br /&gt;
&lt;br /&gt;
= Config scopes and variables =&lt;br /&gt;
Very few of these parameters are mandatory. However default behavior for the applications will vary if an expected parameter is missing.&lt;br /&gt;
&lt;br /&gt;
 - autoupdate&lt;br /&gt;
      |- enabled     turns on and off automatic updates&lt;br /&gt;
 &lt;br /&gt;
 - backup&lt;br /&gt;
      |- backend           which storage backend to use for s3ql &lt;br /&gt;
      |- devicemountpath   where to mount local devices, such as usb memories&lt;br /&gt;
      |- enabled           turns on and off the backup service&lt;br /&gt;
 &lt;br /&gt;
 - dns&lt;br /&gt;
      |- dnsauthkey    path to the private key used for lower level authentication on service provider backends&lt;br /&gt;
      |- dnspubkey     path to corresponding public key&lt;br /&gt;
      |- enabled       turns on and off dns updates&lt;br /&gt;
      |- provider      backend provider&lt;br /&gt;
 &lt;br /&gt;
 - filesystem&lt;br /&gt;
      |- storagemount  mountpoint of storage volume&lt;br /&gt;
      |- luksdevice    luks-created cryptodevice (If used)&lt;br /&gt;
      |- lvmdevice     lvm-created storage pool (If used)&lt;br /&gt;
      |- lvmvg         lvm-created volume group (If used)&lt;br /&gt;
      |- lvmlv         lvm-created logical volume (If used)&lt;br /&gt;
 &lt;br /&gt;
 - hostinfo&lt;br /&gt;
      |- unitid        system id to use as account identifier for service provider backends&lt;br /&gt;
      |- hostname      the &#039;host&#039; part of the [https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN]&lt;br /&gt;
      |- domain        the &#039;domain&#039; part of the FQDN&lt;br /&gt;
      |- cafile        the ca file used to verify service provider backends&lt;br /&gt;
      |- sysauthkey    the key used to access data on service provider backends&lt;br /&gt;
      |- syspubkey     corresponding public key&lt;br /&gt;
 &lt;br /&gt;
 - mail&lt;br /&gt;
      |- localmail    configuration file for local mail delivery, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- virtualalias configuration file for virtual mail aliases, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- vmailbox     path to virtual mailbox mapping, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- vdomains     path to virtual domains file (Which domains to accept mail from), relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
 &lt;br /&gt;
 - setup&lt;br /&gt;
      |- conntesthost  host used for connectivity tests&lt;br /&gt;
 &lt;br /&gt;
 - upnp&lt;br /&gt;
      |- forwardports  which ports the device shall try to forward from a UPNP gateway&lt;br /&gt;
  &lt;br /&gt;
 - webapps&lt;br /&gt;
      |- theme         the theme used by webapps&lt;br /&gt;
 &lt;br /&gt;
 - webcertificate&lt;br /&gt;
      |- backend       backend provider&lt;br /&gt;
      |- enabled       turns on and off generation of web certificates&lt;br /&gt;
      |- certpath      the location where signed certificate are stored&lt;br /&gt;
      |- customcert    full path to custom certificate&lt;br /&gt;
      |- customkey     full path to private key for the custom certificate&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=74</id>
		<title>Documentation/sysconfig</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=74"/>
		<updated>2018-07-02T14:51:35Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Config scopes and variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=System configuration file=&lt;br /&gt;
&lt;br /&gt;
The kinguard system components store all generic none security sensitive configuration in a central configuration file &amp;quot;/etc/kinguard/sysconfig.json&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This file should however never be manually edited it should always be accessed programatically using either [https://github.com/Kinguard/libkgp libkgp] or any wrapper to this library described further down.  &lt;br /&gt;
&lt;br /&gt;
=== File Syntax ===&lt;br /&gt;
For reference here is the layout of the sysconfig json file. Please read the file for reference but never ever edit it manually.&lt;br /&gt;
&lt;br /&gt;
The complete configuration file is one json object (note that javascript object syntax is not permitted).&lt;br /&gt;
&lt;br /&gt;
The file is set up using a &amp;quot;scope&amp;quot; and &amp;quot;key/value&amp;quot; pairs.&lt;br /&gt;
&lt;br /&gt;
All scope and key identifiers shall be lowercase and written with &#039;&#039;&#039;letters and digits only&#039;&#039;&#039;, no &amp;quot;-&amp;quot; or &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;webapps&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;theme&amp;quot;:&amp;quot;kgp&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;hostinfo&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;,&lt;br /&gt;
     &amp;quot;hostname&amp;quot;:&amp;quot;myhost&amp;quot;,&lt;br /&gt;
     &amp;quot;domain&amp;quot;:&amp;quot;example.org&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Native access via libkgp ===&lt;br /&gt;
Libkgp is the main library to use when programming locally for the kinguard system it contains c++ objects for managing all kinguard functions. No official documentation exists for this yet but pointers on how it works can be found in the [https://github.com/Kinguard/libkgp/tree/master/test unit tests] and in the applications utilizing them for example [https://github.com/Kinguard/kgp-backend KGP backend] and [https://github.com/Kinguard/kgp-control KGP startup control]&lt;br /&gt;
&lt;br /&gt;
To access the system configuration the [https://github.com/Kinguard/libkgp/blob/master/SysConfig.h SysConfig class]&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.&lt;br /&gt;
&lt;br /&gt;
===== Shell Scripts =====&lt;br /&gt;
For shell scripts, use &amp;quot;[https://github.com/Kinguard/kinguard-utils kgp-sysinfo]&amp;quot;. Run kgp-sysinfo --help for options.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid -p&lt;br /&gt;
 c79f425c-9af7-4f38-b1ba-d53277b14939&lt;br /&gt;
 &lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid&lt;br /&gt;
 {&amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
For Python3, use the python library &amp;quot;[https://github.com/Kinguard/kgp-pywrap pylibopi]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import pylibopi&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; pylibopi.StorageDevice()&lt;br /&gt;
 &#039;/dev/disk/by-path/platform-f10a8000.sata-ata-2&#039;&lt;br /&gt;
&lt;br /&gt;
===== C =====&lt;br /&gt;
For C programs, [https://github.com/Kinguard/libkgp_wrapper libkgp_wrapper] can be used.&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.&lt;br /&gt;
&lt;br /&gt;
= Config scopes and variables =&lt;br /&gt;
Very few of these parameters are mandatory. However default behavior for the applications will vary if an expected parameter is missing.&lt;br /&gt;
&lt;br /&gt;
 - autoupdate&lt;br /&gt;
      |- enabled     turns on and off automatic updates&lt;br /&gt;
 &lt;br /&gt;
 - backup&lt;br /&gt;
      |- backend           which storage backend to use for s3ql &lt;br /&gt;
      |- devicemountpath   where to mount local devices, such as usb memories&lt;br /&gt;
      |- enabled           turns on and off the backup service&lt;br /&gt;
 &lt;br /&gt;
 - dns&lt;br /&gt;
      |- dnsauthkey    path to the private key used for lower level authentication on service provider backends&lt;br /&gt;
      |- dnspubkey     path to corresponding public key&lt;br /&gt;
      |- enabled       turns on and off dns updates&lt;br /&gt;
      |- provider      backend provider&lt;br /&gt;
 &lt;br /&gt;
 - filesystem&lt;br /&gt;
      |- storagemount  mountpoint of storage volume&lt;br /&gt;
      |- luksdevice    luks-created cryptodevice (If used)&lt;br /&gt;
      |- lvmdevice     lvm-created storage pool (If used)&lt;br /&gt;
      |- lvmvg         lvm-created volume group (If used)&lt;br /&gt;
      |- lvmlv         lvm-created logical volume (If used)&lt;br /&gt;
 &lt;br /&gt;
 - hostinfo&lt;br /&gt;
      |- unitid        system id to use as account identifier for service provider backends&lt;br /&gt;
      |- hostname      the &#039;host&#039; part of the [https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN]&lt;br /&gt;
      |- domain        the &#039;domain&#039; part of the FQDN&lt;br /&gt;
      |- cafile        the ca file used to verify service provider backends&lt;br /&gt;
      |- sysauthkey    the key used to access data on service provider backends&lt;br /&gt;
      |- syspubkey     corresponding public key&lt;br /&gt;
 &lt;br /&gt;
 - mail&lt;br /&gt;
      |- localmail    configuration file for local mail delivery, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- virtualalias configuration file for virtual mail aliases, relative to filesystem-&amp;gt;storagemount &lt;br /&gt;
 &lt;br /&gt;
 - setup&lt;br /&gt;
      |- conntesthost  host used for connectivity tests&lt;br /&gt;
 &lt;br /&gt;
 - upnp&lt;br /&gt;
      |- forwardports  which ports the device shall try to forward from a UPNP gateway&lt;br /&gt;
  &lt;br /&gt;
 - webapps&lt;br /&gt;
      |- theme         the theme used by webapps&lt;br /&gt;
 &lt;br /&gt;
 - webcertificate&lt;br /&gt;
      |- backend       backend provider&lt;br /&gt;
      |- enabled       turns on and off generation of web certificates&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=73</id>
		<title>Documentation/sysconfig</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=73"/>
		<updated>2018-07-02T14:39:12Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Config scopes and variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=System configuration file=&lt;br /&gt;
&lt;br /&gt;
The kinguard system components store all generic none security sensitive configuration in a central configuration file &amp;quot;/etc/kinguard/sysconfig.json&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This file should however never be manually edited it should always be accessed programatically using either [https://github.com/Kinguard/libkgp libkgp] or any wrapper to this library described further down.  &lt;br /&gt;
&lt;br /&gt;
=== File Syntax ===&lt;br /&gt;
For reference here is the layout of the sysconfig json file. Please read the file for reference but never ever edit it manually.&lt;br /&gt;
&lt;br /&gt;
The complete configuration file is one json object (note that javascript object syntax is not permitted).&lt;br /&gt;
&lt;br /&gt;
The file is set up using a &amp;quot;scope&amp;quot; and &amp;quot;key/value&amp;quot; pairs.&lt;br /&gt;
&lt;br /&gt;
All scope and key identifiers shall be lowercase and written with &#039;&#039;&#039;letters and digits only&#039;&#039;&#039;, no &amp;quot;-&amp;quot; or &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;webapps&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;theme&amp;quot;:&amp;quot;kgp&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;hostinfo&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;,&lt;br /&gt;
     &amp;quot;hostname&amp;quot;:&amp;quot;myhost&amp;quot;,&lt;br /&gt;
     &amp;quot;domain&amp;quot;:&amp;quot;example.org&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Native access via libkgp ===&lt;br /&gt;
Libkgp is the main library to use when programming locally for the kinguard system it contains c++ objects for managing all kinguard functions. No official documentation exists for this yet but pointers on how it works can be found in the [https://github.com/Kinguard/libkgp/tree/master/test unit tests] and in the applications utilizing them for example [https://github.com/Kinguard/kgp-backend KGP backend] and [https://github.com/Kinguard/kgp-control KGP startup control]&lt;br /&gt;
&lt;br /&gt;
To access the system configuration the [https://github.com/Kinguard/libkgp/blob/master/SysConfig.h SysConfig class]&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.&lt;br /&gt;
&lt;br /&gt;
===== Shell Scripts =====&lt;br /&gt;
For shell scripts, use &amp;quot;[https://github.com/Kinguard/kinguard-utils kgp-sysinfo]&amp;quot;. Run kgp-sysinfo --help for options.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid -p&lt;br /&gt;
 c79f425c-9af7-4f38-b1ba-d53277b14939&lt;br /&gt;
 &lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid&lt;br /&gt;
 {&amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
For Python3, use the python library &amp;quot;[https://github.com/Kinguard/kgp-pywrap pylibopi]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import pylibopi&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; pylibopi.StorageDevice()&lt;br /&gt;
 &#039;/dev/disk/by-path/platform-f10a8000.sata-ata-2&#039;&lt;br /&gt;
&lt;br /&gt;
===== C =====&lt;br /&gt;
For C programs, [https://github.com/Kinguard/libkgp_wrapper libkgp_wrapper] can be used.&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.&lt;br /&gt;
&lt;br /&gt;
= Config scopes and variables =&lt;br /&gt;
Very few of these parameters are mandatory. However default behavior for the applications will vary if an expected parameter is missing.&lt;br /&gt;
&lt;br /&gt;
 - autoupdate&lt;br /&gt;
      |- enabled     turns on and off automatic updates&lt;br /&gt;
 &lt;br /&gt;
 - backup&lt;br /&gt;
      |- backend           which storage backend to use for s3ql &lt;br /&gt;
      |- devicemountpath   where to mount local devices, such as usb memories&lt;br /&gt;
      |- enabled           turns on and off the backup service&lt;br /&gt;
 &lt;br /&gt;
 - dns&lt;br /&gt;
      |- dnsauthkey    the key used for lower level authentication on service provider backends&lt;br /&gt;
      |- dnspubkey     corresponding public key&lt;br /&gt;
      |- enabled       turns on and off dns updates&lt;br /&gt;
      |- provider      backend provider&lt;br /&gt;
 &lt;br /&gt;
 - filesystem&lt;br /&gt;
      |- storagemount  mountpoint of storage volume&lt;br /&gt;
      |- luksdevice    luks-created cryptodevice (If used)&lt;br /&gt;
      |- lvmdevice     lvm-created storage pool (If used)&lt;br /&gt;
      |- lvmvg         lvm-created volume group (If used)&lt;br /&gt;
      |- lvmlv         lvm-created logical volume (If used)&lt;br /&gt;
 &lt;br /&gt;
 - hostinfo&lt;br /&gt;
      |- unitid        system id to use as account identifier for service provider backends&lt;br /&gt;
      |- hostname      the &#039;host&#039; part of the [https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN]&lt;br /&gt;
      |- domain        the &#039;domain&#039; part of the FQDN&lt;br /&gt;
      |- cafile        the ca file used to verify service provider backends&lt;br /&gt;
      |- sysauthkey    the key used to access data on service provider backends&lt;br /&gt;
      |- syspubkey     corresponding public key&lt;br /&gt;
 &lt;br /&gt;
 - mail&lt;br /&gt;
      |- localmail    configuration file for local mail delivery, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- virtualalias configuration file for virtual mail aliases, relative to filesystem-&amp;gt;storagemount &lt;br /&gt;
 &lt;br /&gt;
 - setup&lt;br /&gt;
      |- conntesthost  host used for connectivity tests&lt;br /&gt;
 &lt;br /&gt;
 - upnp&lt;br /&gt;
      |- forwardports  which ports the device shall try to forward from a UPNP gateway&lt;br /&gt;
  &lt;br /&gt;
 - webapps&lt;br /&gt;
      |- theme         the theme used by webapps&lt;br /&gt;
 &lt;br /&gt;
 - webcertificate&lt;br /&gt;
      |- backend       backend provider&lt;br /&gt;
      |- enabled       turns on and off generation of web certificates&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=72</id>
		<title>Documentation/sysconfig</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=72"/>
		<updated>2018-07-02T14:38:05Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* Config scopes and variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=System configuration file=&lt;br /&gt;
&lt;br /&gt;
The kinguard system components store all generic none security sensitive configuration in a central configuration file &amp;quot;/etc/kinguard/sysconfig.json&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This file should however never be manually edited it should always be accessed programatically using either [https://github.com/Kinguard/libkgp libkgp] or any wrapper to this library described further down.  &lt;br /&gt;
&lt;br /&gt;
=== File Syntax ===&lt;br /&gt;
For reference here is the layout of the sysconfig json file. Please read the file for reference but never ever edit it manually.&lt;br /&gt;
&lt;br /&gt;
The complete configuration file is one json object (note that javascript object syntax is not permitted).&lt;br /&gt;
&lt;br /&gt;
The file is set up using a &amp;quot;scope&amp;quot; and &amp;quot;key/value&amp;quot; pairs.&lt;br /&gt;
&lt;br /&gt;
All scope and key identifiers shall be lowercase and written with &#039;&#039;&#039;letters and digits only&#039;&#039;&#039;, no &amp;quot;-&amp;quot; or &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;webapps&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;theme&amp;quot;:&amp;quot;kgp&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;hostinfo&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;,&lt;br /&gt;
     &amp;quot;hostname&amp;quot;:&amp;quot;myhost&amp;quot;,&lt;br /&gt;
     &amp;quot;domain&amp;quot;:&amp;quot;example.org&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Native access via libkgp ===&lt;br /&gt;
Libkgp is the main library to use when programming locally for the kinguard system it contains c++ objects for managing all kinguard functions. No official documentation exists for this yet but pointers on how it works can be found in the [https://github.com/Kinguard/libkgp/tree/master/test unit tests] and in the applications utilizing them for example [https://github.com/Kinguard/kgp-backend KGP backend] and [https://github.com/Kinguard/kgp-control KGP startup control]&lt;br /&gt;
&lt;br /&gt;
To access the system configuration the [https://github.com/Kinguard/libkgp/blob/master/SysConfig.h SysConfig class]&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.&lt;br /&gt;
&lt;br /&gt;
===== Shell Scripts =====&lt;br /&gt;
For shell scripts, use &amp;quot;[https://github.com/Kinguard/kinguard-utils kgp-sysinfo]&amp;quot;. Run kgp-sysinfo --help for options.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid -p&lt;br /&gt;
 c79f425c-9af7-4f38-b1ba-d53277b14939&lt;br /&gt;
 &lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid&lt;br /&gt;
 {&amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
For Python3, use the python library &amp;quot;[https://github.com/Kinguard/kgp-pywrap pylibopi]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import pylibopi&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; pylibopi.StorageDevice()&lt;br /&gt;
 &#039;/dev/disk/by-path/platform-f10a8000.sata-ata-2&#039;&lt;br /&gt;
&lt;br /&gt;
===== C =====&lt;br /&gt;
For C programs, [https://github.com/Kinguard/libkgp_wrapper libkgp_wrapper] can be used.&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.&lt;br /&gt;
&lt;br /&gt;
= Config scopes and variables =&lt;br /&gt;
Very few of these parameters are mandatory. However default behavior for the applications will vary if an expected parameter is missing.&lt;br /&gt;
&lt;br /&gt;
 - autoupdate&lt;br /&gt;
      |- enabled     turns on and off automatic updates&lt;br /&gt;
&lt;br /&gt;
 - backup&lt;br /&gt;
      |- backend           which storage backend to use for s3ql &lt;br /&gt;
      |- devicemountpath   where to mount local devices, such as usb memories&lt;br /&gt;
      |- enabled           turns on and off the backup service&lt;br /&gt;
&lt;br /&gt;
 - dns&lt;br /&gt;
      |- dnsauthkey    the key used for lower level authentication on service provider backends&lt;br /&gt;
      |- dnspubkey     corresponding public key&lt;br /&gt;
      |- enabled       turns on and off dns updates&lt;br /&gt;
      |- provider      backend provider&lt;br /&gt;
&lt;br /&gt;
 - filesystem&lt;br /&gt;
      |- storagemount  mountpoint of storage volume&lt;br /&gt;
      |- luksdevice    luks-created cryptodevice (If used)&lt;br /&gt;
      |- lvmdevice     lvm-created storage pool (If used)&lt;br /&gt;
      |- lvmvg         lvm-created volume group (If used)&lt;br /&gt;
      |- lvmlv         lvm-created logical volume (If used)&lt;br /&gt;
&lt;br /&gt;
 - hostinfo&lt;br /&gt;
      |- unitid        system id to use as account identifier for service provider backends&lt;br /&gt;
      |- hostname      the &#039;host&#039; part of the [https://en.wikipedia.org/wiki/Fully_qualified_domain_name FQDN]&lt;br /&gt;
      |- domain        the &#039;domain&#039; part of the FQDN&lt;br /&gt;
      |- cafile        the ca file used to verify service provider backends&lt;br /&gt;
      |- sysauthkey    the key used to access data on service provider backends&lt;br /&gt;
      |- syspubkey     corresponding public key&lt;br /&gt;
&lt;br /&gt;
 - mail&lt;br /&gt;
      |- localmail    configuration file for local mail delivery, relative to filesystem-&amp;gt;storagemount&lt;br /&gt;
      |- virtualalias configuration file for virtual mail aliases, relative to filesystem-&amp;gt;storagemount &lt;br /&gt;
&lt;br /&gt;
 - setup&lt;br /&gt;
      |- conntesthost  host used for connectivity tests&lt;br /&gt;
 &lt;br /&gt;
 - upnp&lt;br /&gt;
      |- forwardports  which ports the device shall try to forward from a UPNP gateway&lt;br /&gt;
  &lt;br /&gt;
 - webapps&lt;br /&gt;
      |- theme         the theme used by webapps&lt;br /&gt;
 &lt;br /&gt;
 - webcertificate&lt;br /&gt;
      |- backend       backend provider&lt;br /&gt;
      |- enabled       turns on and off generation of web certificates&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=69</id>
		<title>Documentation/sysconfig</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation/sysconfig&amp;diff=69"/>
		<updated>2018-06-06T08:08:45Z</updated>

		<summary type="html">&lt;p&gt;Tor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=System configuration file=&lt;br /&gt;
&lt;br /&gt;
The kinguard system components store all generic none security sensitive configuration in a central configuration file &amp;quot;/etc/kinguard/sysconfig.json&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This file should however never be manually edited it should always be accessed programatically using either [https://github.com/Kinguard/libkgp libkgp] or any wrapper to this library described further down.  &lt;br /&gt;
&lt;br /&gt;
=== File Syntax ===&lt;br /&gt;
For reference here is the layout of the sysconfig json file. Please read the file for reference but never ever edit it manually.&lt;br /&gt;
&lt;br /&gt;
The complete configuration file is one json object (note that javascript object syntax is not permitted).&lt;br /&gt;
&lt;br /&gt;
The file is set up using a &amp;quot;scope&amp;quot; and &amp;quot;key/value&amp;quot; pairs.&lt;br /&gt;
&lt;br /&gt;
All scope and key identifiers shall be lowercase and written with &#039;&#039;&#039;letters and digits only&#039;&#039;&#039;, no &amp;quot;-&amp;quot; or &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;webapps&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;theme&amp;quot;:&amp;quot;kgp&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;hostinfo&amp;quot;:&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;,&lt;br /&gt;
     &amp;quot;hostname&amp;quot;:&amp;quot;myhost&amp;quot;,&lt;br /&gt;
     &amp;quot;domain&amp;quot;:&amp;quot;example.org&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Native access via libkgp ===&lt;br /&gt;
Libkgp is the main library to use when programming locally for the kinguard system it contains c++ objects for managing all kinguard functions. No official documentation exists for this yet but pointers on how it works can be found in the [https://github.com/Kinguard/libkgp/tree/master/test unit tests] and in the applications utilizing them for example [https://github.com/Kinguard/kgp-backend KGP backend] and [https://github.com/Kinguard/kgp-control KGP startup control]&lt;br /&gt;
&lt;br /&gt;
To access the system configuration the [https://github.com/Kinguard/libkgp/blob/master/SysConfig.h SysConfig class]&lt;br /&gt;
&lt;br /&gt;
=== Wrappers ===&lt;br /&gt;
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.&lt;br /&gt;
&lt;br /&gt;
===== Shell Scripts =====&lt;br /&gt;
For shell scripts, use &amp;quot;[https://github.com/Kinguard/kinguard-utils kgp-sysinfo]&amp;quot;. Run kgp-sysinfo --help for options.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid -p&lt;br /&gt;
 c79f425c-9af7-4f38-b1ba-d53277b14939&lt;br /&gt;
 &lt;br /&gt;
 # kgp-sysinfo -c hostinfo -k unitid&lt;br /&gt;
 {&amp;quot;unitid&amp;quot;:&amp;quot;c79f425c-9af7-4f38-b1ba-d53277b14939&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
===== Python =====&lt;br /&gt;
For Python3, use the python library &amp;quot;[https://github.com/Kinguard/kgp-pywrap pylibopi]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; import pylibopi&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; pylibopi.StorageDevice()&lt;br /&gt;
 &#039;/dev/disk/by-path/platform-f10a8000.sata-ata-2&#039;&lt;br /&gt;
&lt;br /&gt;
===== C =====&lt;br /&gt;
For C programs, [https://github.com/Kinguard/libkgp_wrapper libkgp_wrapper] can be used.&lt;br /&gt;
&lt;br /&gt;
===== PHP =====&lt;br /&gt;
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation&amp;diff=68</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation&amp;diff=68"/>
		<updated>2018-06-06T07:45:45Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* SOFTWARE COMPONENTS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Manual Source ==&lt;br /&gt;
The manual for the is written in latex and located on [https://github.com/Kinguard/manual github]&lt;br /&gt;
Ideally this should be adapted to better suit The Kinguard Project, so feel free to contribute.&lt;br /&gt;
&lt;br /&gt;
In order for this to work, there are separate branches for different products and also a separate branch for a short one-pager.&lt;br /&gt;
&lt;br /&gt;
== OPI ==&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The latest compiled version is available [https://download.openproducts.com/opi/documentation/quickstart.pdf as pdf here]&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
The schematics for OPI is available for download [https://download.openproducts.com/opi/documentation/OP-I_1B Rev B .pdf as pdf here]. It is in most aspects a copy of BeageBoneBlack, with the HDMI removed.&lt;br /&gt;
&lt;br /&gt;
== KEEP ==&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The latest compiled version is available [https://download.openproducts.com/keep/documentation/keep-quickstart.pdf as pdf here]&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
KEEP is using a SOM (System On Module) from SolidRun, with 2GB DDR RAM and 8GB eMMC. The carrier board is made by [https://www.openproducts.com OpenProducts]. Schematics and component placement for that board is available [https://download.openproducts.com/keep/documentation/KEEP_R1B.pdf as pdf here].&lt;br /&gt;
&lt;br /&gt;
[https://download.openproducts.com/keep/documentation/KEEP_PCB.step A stp-model] for the PCBA is also available for download (~60MB).&lt;br /&gt;
&lt;br /&gt;
== Developer documentation ==&lt;br /&gt;
=== Software components ===&lt;br /&gt;
There are a number of software components available in The Kinguard Project, some of them documented here, but most is by comments in source code and available by running the application with &amp;quot;--help&amp;quot;&lt;br /&gt;
* System configuration (sysconfig.json). [[Documentation/sysconfig|Details]]&lt;br /&gt;
* System utilities, (kgp-sysinfo, kgp-notifier) [https://github.com/Kinguard/kinguard-utils Details]&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
	<entry>
		<id>https://www.kinguardproject.org/wiki/index.php?title=Documentation&amp;diff=67</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="https://www.kinguardproject.org/wiki/index.php?title=Documentation&amp;diff=67"/>
		<updated>2018-06-06T07:45:18Z</updated>

		<summary type="html">&lt;p&gt;Tor: /* SOFTWARE COMPONENTS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Manual Source ==&lt;br /&gt;
The manual for the is written in latex and located on [https://github.com/Kinguard/manual github]&lt;br /&gt;
Ideally this should be adapted to better suit The Kinguard Project, so feel free to contribute.&lt;br /&gt;
&lt;br /&gt;
In order for this to work, there are separate branches for different products and also a separate branch for a short one-pager.&lt;br /&gt;
&lt;br /&gt;
== OPI ==&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The latest compiled version is available [https://download.openproducts.com/opi/documentation/quickstart.pdf as pdf here]&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
The schematics for OPI is available for download [https://download.openproducts.com/opi/documentation/OP-I_1B Rev B .pdf as pdf here]. It is in most aspects a copy of BeageBoneBlack, with the HDMI removed.&lt;br /&gt;
&lt;br /&gt;
== KEEP ==&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The latest compiled version is available [https://download.openproducts.com/keep/documentation/keep-quickstart.pdf as pdf here]&lt;br /&gt;
&lt;br /&gt;
=== Schematics ===&lt;br /&gt;
KEEP is using a SOM (System On Module) from SolidRun, with 2GB DDR RAM and 8GB eMMC. The carrier board is made by [https://www.openproducts.com OpenProducts]. Schematics and component placement for that board is available [https://download.openproducts.com/keep/documentation/KEEP_R1B.pdf as pdf here].&lt;br /&gt;
&lt;br /&gt;
[https://download.openproducts.com/keep/documentation/KEEP_PCB.step A stp-model] for the PCBA is also available for download (~60MB).&lt;br /&gt;
&lt;br /&gt;
== Developer documentation ==&lt;br /&gt;
=== SOFTWARE COMPONENTS ===&lt;br /&gt;
There are a number of software components available in The Kinguard Project, some of them documented here, but most is by comments in source code and available by running the application with &amp;quot;--help&amp;quot;&lt;br /&gt;
* System configuration (sysconfig.json). [[Documentation/sysconfig|Details]]&lt;br /&gt;
* System utilities, (kgp-sysinfo, kgp-notifier) [https://github.com/Kinguard/kinguard-utils Details]&lt;/div&gt;</summary>
		<author><name>Tor</name></author>
	</entry>
</feed>