npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@gun-vue/relay

v0.6.0

Published

A simple GUN peer relay for self- hosting

Downloads

110

Readme

Gun-Vue: Relay

GitHub (/relay)npmDocs A simple Gun relay peer in Node.js.

This package is part of Gun-Vue: The Peer-to-Peer Web App Toolkit

How to Install

Requirements

Instructions

  1. Create a new Node.js project:
npm init -y
  1. Install the Gun-Vue: Relay package as a dependency:
npm i @gun-vue/relay
  1. Open package.json and add:
"scripts": {
    "start": "node start.js"
  }
  1. Create a start.js script and add:
import relay from "@gun-vue/relay";

relay.init();
  1. Test the relay:
node start.js
Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!
AXE relay enabled!
Server started at http://localhost:4200/gun
Multicast on 233.255.255.255:8765

Options

The relay can be customized with an options object by updating start.js:

relay.init({
	host: "localhost", // Domain or IP address where your relay is hosted (no 'http://')
	port: 4200, // The port your relay will listen on (e.g., 8080)
	store: false, // Use 'true' to enable persistent storage on disk
	path: "public", // Folder to serve static files (e.g., your front-end build)
	showQr: "false", // Render a QR Code Link to the server
});

Alternatively, create a .env file and add the following defaults:

RELAY_HOST="localhost"
RELAY_STORE=false
RELAY_PORT=4200
RELAY_PATH="public"
RELAY_QR=false

Standalone Executable

You can build a standalone executable that bundles Node.js runtime with the relay server. This creates a larger file (≈90MB) but allows for easy distribution and running without Node.js installation.

Building the Executable

  1. Clone the repository and install dependencies:
pnpm install
  1. Browse the /relay/ folder and build the bundled application:
cd relay
pnpm build
  1. Create the platform-specific executable:

For MacOS:

pnpm app:macos

For Windows:

pnpm app:windows

For Linux:

pnpm app:linux

The executable will be created in the dist folder as:

  • MacOS: gun-relay
  • Windows: gun-relay.exe
  • Linux: gun-relay-linux

Running the Executable

Simply double-click the executable or run it from the terminal:

./dist/gun-relay  # MacOS/Linux
.\dist\gun-relay.exe  # Windows

The relay will start with default settings. You can still use environment variables to configure it by creating a .env file in the same directory as the executable.