Skip to main content

Public Key Name System Framework

Project description

Public Key Name System Framework

Made with Python3 GitHub license Github version Github status Made with
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

pkns-0.5.10.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

pkns-0.5.10-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

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

Hashes for pkns-0.5.10.tar.gz
Algorithm Hash digest
SHA256 0752de7f141e7439f11f2a7ef22095a751cd3f6331f0177dd2f139ef05323fc2
MD5 f6757e97609722dd957f9565f8a813df
BLAKE2b-256 d5d73f16bf2b32c3ab749831e0c9e2667c86cbcdf512a091908b5f0c661d0c2d

See more details on using hashes here.

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

Hashes for pkns-0.5.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1584e3745901b83e7a7c4f7dbc7c0d4e5342fce6a9af5f7e5085eed31644fa1a
MD5 b44cc628f2326888f36aee49bbe77db2
BLAKE2b-256 f3d6c5665e07146dfc9a08351c6605b1e0fdd07dbee0b75611f34dd18e181624

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page