All Projects → pulsardev → Netsix

pulsardev / Netsix

Licence: gpl-3.0
Netsix allows you to share videos with your friends in a real peer-to-peer manner using WebRTC.

Projects that are alternatives of or similar to Netsix

Decentralized Video Chat
🚀 Zipcall- Acquired @ 250k users 🚀 Peer to peer browser video calling platform with unmatched video quality and latency.
Stars: ✭ 3,284 (+2806.19%)
Mutual labels:  webrtc, peer-to-peer
Uproxy P2p
Internet without borders
Stars: ✭ 798 (+606.19%)
Mutual labels:  webrtc, peer-to-peer
Libdatachannel
C/C++ WebRTC Data Channels and Media Transport standalone library
Stars: ✭ 336 (+197.35%)
Mutual labels:  webrtc, peer-to-peer
PyPPSPP
Python implementation of Peer-to-Peer Streaming Peer Protocol (PPSPP) [RFC7574]
Stars: ✭ 18 (-84.07%)
Mutual labels:  peer-to-peer, sharing
Camus
Peer-to-peer group video chat using WebRTC, Python, and Javascript
Stars: ✭ 75 (-33.63%)
Mutual labels:  webrtc, peer-to-peer
peerjs-python
Python port of PeerJS client
Stars: ✭ 56 (-50.44%)
Mutual labels:  webrtc, peer-to-peer
Gfile
Direct file transfer over WebRTC
Stars: ✭ 598 (+429.2%)
Mutual labels:  webrtc, peer-to-peer
Pikachu Volleyball P2p Online
Pikachu Volleyball peer-to-peer online via WebRTC data channels
Stars: ✭ 160 (+41.59%)
Mutual labels:  webrtc, peer-to-peer
Hyperhost
P2P Node Servers in the Browser
Stars: ✭ 46 (-59.29%)
Mutual labels:  webrtc, peer-to-peer
Blaze
⚡ File sharing progressive web app built using WebTorrent and WebSockets
Stars: ✭ 991 (+776.99%)
Mutual labels:  sharing, webrtc
Peer To Peer Cue System
Cue system for simple two-way communication and visual signaling using a PeerJS peer-to-peer connection.
Stars: ✭ 190 (+68.14%)
Mutual labels:  webrtc, peer-to-peer
Laverna
Laverna is a JavaScript note taking application with Markdown editor and encryption support. Consider it like open source alternative to Evernote.
Stars: ✭ 8,770 (+7661.06%)
Mutual labels:  webrtc, peer-to-peer
Video Meeting
Google Meet / Zoom clone in a few lines of code
Stars: ✭ 187 (+65.49%)
Mutual labels:  webrtc, peer-to-peer
Oorja
[archived] effortless video-voice chat with realtime collaborative features. extensible using react components 🙌
Stars: ✭ 270 (+138.94%)
Mutual labels:  webrtc, peer-to-peer
Trango Self Hosted
Host trango and communicate with those around you without the internet!
Stars: ✭ 164 (+45.13%)
Mutual labels:  webrtc, peer-to-peer
Sharedrop
Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop
Stars: ✭ 5,222 (+4521.24%)
Mutual labels:  webrtc, peer-to-peer
Wt Tracker
High-performance WebTorrent tracker
Stars: ✭ 144 (+27.43%)
Mutual labels:  webrtc, peer-to-peer
P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (+39.82%)
Mutual labels:  webrtc, peer-to-peer
Peer Calls
Group peer to peer video calls for everyone written in Go and TypeScript
Stars: ✭ 837 (+640.71%)
Mutual labels:  webrtc, peer-to-peer
Laplace
Laplace is an open-source project to enable screen sharing directly via browser. Based on WebRTC for low latency peer-to-peer connections, and WebSocket implemented in golang for signaling.
Stars: ✭ 81 (-28.32%)
Mutual labels:  webrtc, peer-to-peer

Netsix

Netsix allows you to share videos with your friends in a real peer-to-peer manner using WebRTC.

Netsix

Table of Contents

Getting Started

Download Netsix by visiting the "releases" tab and selecting the executable of the last version (for example Netsix-Setup-1.0.0-alpha.6.exe).

You have to be two to test this application. So find a friend with some cool videos on his computer and then follow the steps described in the Getting started section of the Netsix website.

Be aware that a current limitation of the Netsix alpha is that we only handle 1-1 connections. If someone wants to connect to you, he will encounter an error if you are already connected to someone else. We plan to implement the support for simultaneous connections later as this is technically possible as described in the simple-peer documentation.

Disclaimer

This project is still in early alpha and a lot of improvements could be made.

Also please note that we will not be responsible for any devious usage of the app. In its current state this project is more a technical demo of how to stream videos using WebRTC and the Media Source Extensions API than a really usable and full-featured software.

With that in mind, if you want to make a PR to improve the app you are very welcome!

Roadmap

Before hitting beta, we hope to have implemented the following features:

  • Handle multiple audio tracks
  • Handle subtitles
  • Improve the seeking in a video's timeline
  • Cross-platform compatibility
  • Mobile application
  • Friends management
  • Streaming of audio files
  • Manual connection via Facebook or Dropbox
  • Thumbnails in collections
  • Collections import/export
  • Handle connection to multiple peers at the same time

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:9080
npm run dev

# build electron app for production
npm run build

# build electron app for production (unpacked)
npm run build:dir

# build electron app for production and publish a release
npm run build -- -p always

# lint all JS/Vue component files in `app/src`
npm run lint

# run webpack in production
npm run pack

# generate the full changelog
git-changelog -t false -a "Netsix"

More information can be found here.

Git Commit Guidelines

I used the Git Commit Guidelines that Google uses for AngularJS to format my git commit messages. Here is an excerpt of those guidelines.

We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history.

Commit Message Format

Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

The header is mandatory and the scope of the header is optional.

Any line of the commit message cannot be longer 100 characters! This allows the message to be easier to read on GitHub as well as in various git tools.

Revert

If the commit reverts a previous commit, it should begin with revert:, followed by the header of the reverted commit. In the body it should say: This reverts commit <hash>., where the hash is the SHA of the commit being reverted.

Type

Must be one of the following:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing or correcting existing tests
  • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation

Scope

The scope could be anything specifying place of the commit change. For example $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView, etc...

You can use * when the change affects more than a single scope.

Subject

The subject contains succinct description of the change:

  • use the imperative, present tense: "change" not "changed" nor "changes"
  • don't capitalize first letter
  • no dot (.) at the end

Body

Just as in the subject, use the imperative, present tense: "change" not "changed" nor "changes". The body should include the motivation for the change and contrast this with previous behavior.

Footer

The footer should contain any information about Breaking Changes and is also the place to [reference GitHub issues that this commit closes][closing-issues].

Breaking Changes should start with the word BREAKING CHANGE: with a space or two newlines. The rest of the commit message is then used for this.

A detailed explanation can be found in this document.

Something Missing?

If you have a feature request or found a bug, let me know.


This project was generated from electron-vue using vue-cli. Documentation about this project can be found here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].