Skip to content

Latest commit

 

History

History
172 lines (127 loc) · 5.7 KB

README.md

File metadata and controls

172 lines (127 loc) · 5.7 KB


Logo

Peer to Peer Filesharing

Report Bug or Request a Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

Sheer is a Peer-to-Peer filesharing command-line application. It utilizes WebRTC to establish a secure and direct connection between two users.

(back to top)

Getting Started

Installation

Install using Go install:

go install github.com/tylermeekel/sheer

Configuration

After running Sheer at least once, sheerconfig.json is created in the same folder as its executable file.

Structure:

servers: a list of ICEServers.

Example sheerconfig.json file

{
  "servers": [
    {
      "urls": ["stun:stun.examplestunserver.com:1234"]
    },
    {
      "urls": ["turn:turn.exampleturnserver.com:1234"],
      "username": "username",
      "credentials": "password",
      "credentialtype": "password"
    }
  ]
}

STUN vs TURN

For true Peer-to-Peer connection, include only STUN servers in this config file. However, depending on the network of each peer, connection using STUN may not be possible and Sheer will not be able to form a connection without a TURN server.

For more information regarding STUN, TURN and the ICE framework, click here, or read the MDN pages on WebRTC protocols.

(back to top)

Usage

Sending a file

sheer [send|s] [filepath]

Receiving a file

sheer [receive|r]

(back to top)

Roadmap

  • Ability to send directories
  • Helper server that makes copy-pasting easier
  • Clean up code

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request.

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Tyler Meekel - [email protected]

Project Link: https://github.com/tylermeekel/sheer

(back to top)