mirror of
https://github.com/PeernetOfficial/core.git
synced 2026-07-17 02:47:51 +01:00
53 lines
1.4 KiB
Markdown
53 lines
1.4 KiB
Markdown
# System
|
|
|
|
This submodule defines how files and plugins are managed and updated.
|
|
|
|
## Package Files
|
|
|
|
Package files are ZIP files containing a file `info.ini` that describes which actions to take. They provide updates and installation of individual files, plugins, or entire clients.
|
|
|
|
Actions may specify target files or folders. Such paths may use virtual paths that will be automatically resolved.
|
|
|
|
```
|
|
%plugin% = Plugin folder
|
|
%data% = Data folder
|
|
```
|
|
|
|
## Sample Package File
|
|
|
|
A sample package file `TextViewer.zip` looks like this:
|
|
|
|
```
|
|
│ info.ini
|
|
│
|
|
└───TextViewer
|
|
Microsoft.Extensions.DependencyInjection.Abstractions.dll
|
|
Peernet.Browser.Plugins.TextViewer.deps.json
|
|
Peernet.Browser.Plugins.TextViewer.dll
|
|
Peernet.SDK.dll
|
|
```
|
|
|
|
The `info.ini` file:
|
|
|
|
```ini
|
|
[main]
|
|
name = "Text Viewer Plugin"
|
|
organization = "Peernet s.r.o."
|
|
architecture = "windows/amd64"
|
|
|
|
[action1]
|
|
action = extract
|
|
source = TextViewer
|
|
target = "%plugin%"
|
|
```
|
|
|
|
## Security Implications
|
|
|
|
The actions currently only allow to extract any arbitrary file to the local disk. Later, the destination directory will be limited to the Peernet installation directory.
|
|
|
|
Signatures for packages are not implemented yet. They will be added in a subsequent version.
|
|
|
|
## Target OS
|
|
|
|
It is up to the client to select and download the appropriate packages.
|