🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

blind-push-gateway

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

blind-push-gateway

P2P Push notification gateway that work with blind-peer

latest
Source
npmnpm
Version
0.2.0
Version published
Weekly downloads
20
-93.33%
Maintainers
1
Weekly downloads
 
Created
Source

blind-push-gateway

POC - This is a proof-of-concept still. Breaking changes possible till the V1 release.

P2P push notification gateway for blind-peer clients. The service exposes a forward-push RPC method over Hyperswarm, converts the request into Android/APNS payloads, and forwards it through an external push provider such as Firebase Cloud Messaging.

Install

npm install blind-push-gateway

Usage

Create a config file at ~/.blind-push-gateway/config.json:

{
  "certPath": "./service-account.json",
  "notification": {
    "title": "Keet",
    "body": "✉️"
  },
  "apnsTopic": "io.keet.app"
}

Then run:

blind-push-gateway run

The service will log its public key on startup. Clients can connect to that swarm key and send forward-push RPC requests.

How It Works

  • The operator starts the gateway with Firebase service account credentials.
  • The gateway listens on Hyperswarm and accepts RPC connections through protomux-rpc-router.
  • A client sends a forward-push request encoded with blind-push/encodings.
  • The gateway encodes the request, derives Android/APNS fields, and forwards the message through the configured push service.

CLI

blind-push-gateway run [options]
  • --config|-c [path]: config path, defaults to ~/.blind-push-gateway/config.json
  • --storage|-s [path]: storage path, defaults to ~/.blind-push-gateway/storage

API

const service = new BlindPushGateway(swarm, router, externalPushService, opts)

Create a new gateway service.

  • swarm: Hyperswarm instance
  • router: ProtomuxRPCRouter instance
  • externalPushService: object with an async send(message) method
  • opts.notification: default notification payload, defaults to { title: 'Keet', body: '✉️' }
  • opts.apnsTopic: APNS topic, defaults to io.keet.app

await service.ready()

Start the gateway and begin listening for RPC connections.

await service.close()

Gracefully shut down the gateway.

service.publicKey

The swarm public key clients use to connect.

FAQs

Package last updated on 29 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts