GithubHelp home page GithubHelp logo

relaycorp / awala-ping-desktop Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 2.03 MB

Awala Ping for Desktop

Home Page: https://www.npmjs.com/package/@relaycorp/awala-ping

License: GNU General Public License v3.0

JavaScript 5.76% TypeScript 94.24%
macos linux windows awala awala-service-ping

awala-ping-desktop's Introduction

Awala Ping logo

Awala Ping for Desktop

The Awala Ping for Desktop is a CLI implementation of the Awala Ping Service, which is meant to help test Awala itself.

This document is aimed at advanced users and (prospective) contributors. To learn more about using Awala in general, visit awala.network/users.

Install

This tool is available as the NPM package @relaycorp/awala-ping. To install it globally, run:

npm install -g @relaycorp/awala-ping

Use

Sending pings

To send a ping, run:

awala-ping ping

The command above will wait until the pong message is received.

Sending pings to custom endpoints

By default, the ping subcommand will communicate with the public endpoint at ping.awala.services. If you wish to use a different endpoint, you need to:

  1. Download the identity certificate for the public endpoint with which you want to communicate.
  2. Import the endpoint first with the third-party-endpoints import-public subcommand. For example:
    awala-ping third-party-endpoints import-public < /path/to/connection-params.der
  3. Specify the Internet address of your custom endpoint when you send pings. For example:
    awala-ping ping your-endpoint.com

Registering with the private gateway

By default, the ping subcommand will register with the Awala Gateway for Desktop if the app hasn't been registered yet. To register explicitly, run:

awala-ping register

Each registration will create an Awala endpoint internally. The latest endpoint to be created will become the default one.

Security and privacy considerations

The items below summarize the security and privacy considerations specific to this app. For a more general overview of the security considerations in Awala, please refer to RS-019.

No personally-identifiable information is stored

This app only stores cryptographically-generated data whose inputs are not derived in any way from personally-identifiable information.

External communication

This app only communicates with the following:

  • The private gateway.
  • Any public endpoint that the user sends pings to. By default, the Relaycorp-operated public endpoint at ping.awala.services is used.

This app doesn't track usage (for example, using Google Analytics), nor does it use ads.

Development

To install this app in development, simply run npm install from the root of the repository.

To run a subcommand in the CLI, pass the subcommand name to the command npm run run --. For example, to send a ping, run:

npm run run -- ping

Contributing

We love contributions! If you haven't contributed to a Relaycorp project before, please take a minute to read our guidelines first.

awala-ping-desktop's People

Contributors

dependabot[bot] avatar gnarea avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

kolojozsef

awala-ping-desktop's Issues

Reimplement 3rd party endpoints as channels

Using the Endpoint and Channel classes from the core lib.

  • FirstPartyEndpoint -> Endpoint
  • ThirdPartyEndpoint -> EndpointChannel
  • PublicThirdPartyEndpoint -> PublicEndpointChannel
  • PrivateThirdPartyEndpoint -> PrivateEndpointChannel
  • OutgoingMessage.send() -> EndpointChannel.send() (TBC)

We may not want to extend any classes from the core lib, though, to avoid leaking members that shouldn't be relevant to Awala service providers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.