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

transfercoffee

v0.1.0

Published

A WebTorrent-based file transfer application

Downloads

6

Readme

Transfer.coffee

Support Private.coffee! Matrix Latest Git Commit

Transfer.coffee is a simple Node.js web application that allows users to share files using WebTorrent. Users can upload files, generate mnemonic seeds, and share these seeds with others to download the files directly via peer-to-peer connections. The application supports optional configuration of STUN and TURN servers to facilitate NAT traversal.

Features

  • Peer-to-peer file sharing using WebTorrent
  • Transfer multiple files at once
  • Mnemonic seed generation for easy file sharing
  • Optional STUN and TURN server configuration for NAT traversal
  • Progress indicators for file upload and download
  • Configurable tracker URL
  • Bundled WebTorrent tracker

Instances

| Provided by | Country | URL | Description | | -------------- | ------- | ------------------------------------------ | ----------------- | | Private.coffee | Austria | transfer.coffee | Official instance |

Prerequisites

  • Node.js (tested with v22.3 but anything recent should work)
  • npm

Installation

  1. Clone the repository:
git clone https://git.private.coffee/PrivateCoffee/transfer.coffee.git
cd transfer.coffee
  1. Install the dependencies:
npm install
  1. Optional, but recommended for production: Put the application (:8105) and the tracker (:8106) behind a reverse proxy (e.g. Caddy or nginx) and configure SSL.

Running the Application

  1. Start the tracker:
npm run tracker
  1. Create a .env file in the root directory of the project and set the environment variables:
TRACKER_URL="wss://tracker.your-domain.com" # URL of the WebTorrent tracker - default: ws://localhost:8106, use wss:// for secure connections
STUN_SERVER_URL="stun:stun.nextcloud.com:443" # Optional - there are public STUN servers available - not used if unset
TURN_SERVER_URL="turn:your-turn-server-url" # Optional - you would need to set up your own TURN server - don't set this if you don't have one
TURN_SECRET="your-static-auth-secret" # Required if you have a TURN server - don't set this if you don't have one

If you are using a reverse proxy, you should set the TRACKER_URL to the URL of the tracker behind the reverse proxy, e.g. wss://tracker.your-domain.com.

The STUN and TURN server URLs should be set to the public URLs of your STUN and TURN servers, if you have them.

  1. Start the application:
. .env
npm start
  1. Open your browser and navigate to http://localhost:8105 (or the URL you have configured in your reverse proxy)

Production

For production, you should use a process manager like systemd to keep the application running. You can use the systemd files provided in contrib/systemd as a starting point.

Usage

Sharing a File

  1. Select a file to share using the file input.
  2. Click the "Share" button.
  3. Share the generated mnemonic seed with others.

Receiving a File

  1. Enter the mnemonic seed in the input field.
  2. Click the "Receive" button.
  3. The file will be downloaded directly from the peer.

License

This project is licensed under the MIT License. See the LICENSE file for details.