Public Key Name System Framework
Project description
Public Key Name System Framework
This is the Public Key Name System Framework designed as a Public Key Exchange for both centralised and peer-to-peer services. It comes pre-built with useful and powerful CLI tools.
Installation
From source
To install from source use the following command, make sure you have setuptools>=50.0.0
python3 seutp.py install
To install from PyPI
pip3 install pkns
Using the PKNS_Table
API
The PKNS_Table
API is the core for the PKNS Local Services found in the pknscore
from pkns.pknscore import PKNS_Table
new_table = PKNS_Table(PATH_TO_A_TABLE_DIR)
PATH_TO_A_TABLE
can be a path to an existing table directory or a new table directory, defaults to ~/.pkns
.
The API provides all basic table operations.
Using the PKNS_Server
API
The PKNS_Server
API is the core of PKNS Network Services found in the pknscore
. It provides the correct server handling and configuration for a hosted PKNS Services. The PKNS service runs on the default port 6300
. It is capable to handle multiple clients and process multiple requests and can be safely daemonized.
from pkns.pknscore import PKNS_Server
server = PKNS_Server(IP_ADDR, PORT, PATH_TO_A_TABLE_DIR)
IP_ADDR
is the IP Address to use for the server, defaults to 0.0.0.0
, PORT
is the port to be used for the server, defaults to 6300
, PATH_TO_A_TABLE
can be a path to an existing table directory or a new table directory, defaults to ~/.pkns
.
Query Syntax
PKNS Query is used for better integration of centralised servers. The query follows a fixed Syntax
pkns://HOST_SERVER[:PORT][/PEERGROUP][/USER]
CLI Tools
CLI Tools help manage the PKNS Tables and Servers easily, they also include useful functions.
Local Table Manager tabman
Managing Local Tables
$ pkns_cli tabman
Usage: pkns_cli tabman [OPTIONS] COMMAND [ARGS]...
PKNS Table Manager
Options:
--help Show this message and exit.
Commands:
add-peergroup Add/Create a Peergroup
add-user Add Users to a Peergroup
del-peergroup Delete/Leave a Peergroup
del-user Remove Users from a Peergroup
get-peergroup Get Info of a Peergroup
get-user Get Users Info from a Peergroup
rename-peergroup Rename a Peergroup
rename-user Rename a User from a Peergroup
Server Manager server
Server Utilities
$ pkns_cli server
Usage: pkns_cli server [OPTIONS] COMMAND [ARGS]...
PKNS Server Manager
Options:
-i, --host TEXT IP Address to bind [default: 0.0.0.0]
-p, --port INTEGER Port to bind [default: 6300]
--help Show this message and exit.
Commands:
restart Restart PKNS Server
start Start the PKNS Server
status PKNS Server Status
stop Stop the PKNS Server
Other utilities
Ping
Ping a Local or Remote Server
$ pkns_cli ping --help
Usage: pkns_cli ping [OPTIONS] [ADDRESS]
PKNS Ping
Options:
-n, --nop INTEGER Number of Pings to send
--help Show this message and exit.
Query
Query Local or Remote Server
$ pkns_cli query --help
Usage: pkns_cli query [OPTIONS] QUERY
PKNS Query
Options:
--help Show this message and exit.
Sync
Sync to Local or Remote Server
$ pkns_cli sync --help
Usage: pkns_cli sync [OPTIONS] [ADDRESS]
PKNS Sync
Options:
--help Show this message and exit.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pkns-0.5.10.tar.gz
.
File metadata
- Download URL: pkns-0.5.10.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.2 Linux/5.10.0-kali7-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0752de7f141e7439f11f2a7ef22095a751cd3f6331f0177dd2f139ef05323fc2 |
|
MD5 | f6757e97609722dd957f9565f8a813df |
|
BLAKE2b-256 | d5d73f16bf2b32c3ab749831e0c9e2667c86cbcdf512a091908b5f0c661d0c2d |
File details
Details for the file pkns-0.5.10-py3-none-any.whl
.
File metadata
- Download URL: pkns-0.5.10-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.2 Linux/5.10.0-kali7-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1584e3745901b83e7a7c4f7dbc7c0d4e5342fce6a9af5f7e5085eed31644fa1a |
|
MD5 | b44cc628f2326888f36aee49bbe77db2 |
|
BLAKE2b-256 | f3d6c5665e07146dfc9a08351c6605b1e0fdd07dbee0b75611f34dd18e181624 |