{"id":31753659,"url":"https://github.com/pulsardev/netsix","last_synced_at":"2025-10-09T17:52:19.414Z","repository":{"id":85261389,"uuid":"85299529","full_name":"pulsardev/netsix","owner":"pulsardev","description":"Netsix allows you to share videos with your friends in a real peer-to-peer manner using WebRTC.","archived":false,"fork":false,"pushed_at":"2017-09-08T15:10:08.000Z","size":17508,"stargazers_count":123,"open_issues_count":1,"forks_count":27,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-05-31T22:44:37.160Z","etag":null,"topics":["electron","peer-to-peer","sharing","vue","webrtc"],"latest_commit_sha":null,"homepage":"https://mmorainville.github.io/netsix-gh-pages/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pulsardev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-03-17T10:27:03.000Z","updated_at":"2024-03-13T10:09:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"4731e6e2-6365-473f-a819-655a224532ee","html_url":"https://github.com/pulsardev/netsix","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/pulsardev/netsix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulsardev%2Fnetsix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulsardev%2Fnetsix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulsardev%2Fnetsix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulsardev%2Fnetsix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pulsardev","download_url":"https://codeload.github.com/pulsardev/netsix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pulsardev%2Fnetsix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001804,"owners_count":26083197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","peer-to-peer","sharing","vue","webrtc"],"created_at":"2025-10-09T17:52:15.497Z","updated_at":"2025-10-09T17:52:19.397Z","avatar_url":"https://github.com/pulsardev.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Netsix\n\n\u003e Netsix allows you to share videos with your friends in a real peer-to-peer manner using WebRTC.\n\n[![Netsix](./screenshot.png \"Netsix\")](https://mmorainville.github.io/netsix-gh-pages/)\n\n## Table of Contents\n\n- [Getting Started](#getting-started)\n- [Disclaimer](#disclaimer)\n- [Roadmap](#roadmap)\n- [Build Setup](#build-setup)\n- [Git Commit Guidelines](#git-commit-guidelines)\n- [Something Missing?](#something-missing)\n\n## Getting Started\n\nDownload Netsix by visiting the [\"releases\"](https://github.com/pulsardev/netsix/releases) tab and selecting the executable of the last version (for example `Netsix-Setup-1.0.0-alpha.6.exe`).\n\nYou 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][netsix-gh-pages].\n\nBe 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.\nWe plan to implement the support for simultaneous connections later as this is technically possible as described in the [simple-peer documentation](https://github.com/feross/simple-peer#connecting-more-than-2-peers).\n\n[netsix-gh-pages]: https://mmorainville.github.io/netsix-gh-pages/\n\n## Disclaimer\n\nThis project is still in early alpha and a lot of improvements could be made.\n\nAlso 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.\n\nWith that in mind, if you want to make a PR to improve the app you are very welcome!\n\n## Roadmap\n\nBefore hitting beta, we hope to have implemented the following features:\n\n* Handle multiple audio tracks\n* Handle subtitles\n* Improve the seeking in a video's timeline\n* Cross-platform compatibility\n* Mobile application\n* Friends management\n* Streaming of audio files\n* Manual connection via Facebook or Dropbox\n* Thumbnails in collections\n* Collections import/export\n* Handle connection to multiple peers at the same time\n\n## Build Setup\n\n``` bash\n# install dependencies\nnpm install\n\n# serve with hot reload at localhost:9080\nnpm run dev\n\n# build electron app for production\nnpm run build\n\n# build electron app for production (unpacked)\nnpm run build:dir\n\n# build electron app for production and publish a release\nnpm run build -- -p always\n\n# lint all JS/Vue component files in `app/src`\nnpm run lint\n\n# run webpack in production\nnpm run pack\n\n# generate the full changelog\ngit-changelog -t false -a \"Netsix\"\n```\nMore information can be found [here](https://simulatedgreg.gitbooks.io/electron-vue/content/docs/npm_scripts.html).\n\n## Git Commit Guidelines\n\nI used the Git Commit Guidelines that Google uses for AngularJS to format my git commit messages. Here is an excerpt of those guidelines.\n\nWe 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**.\n\n### Commit Message Format\nEach commit message consists of a **header**, a **body** and a **footer**.  The header has a special\nformat that includes a **type**, a **scope** and a **subject**:\n\n```\n\u003ctype\u003e(\u003cscope\u003e): \u003csubject\u003e\n\u003cBLANK LINE\u003e\n\u003cbody\u003e\n\u003cBLANK LINE\u003e\n\u003cfooter\u003e\n```\n\nThe **header** is mandatory and the **scope** of the header is optional.\n\nAny line of the commit message cannot be longer 100 characters! This allows the message to be easier\nto read on GitHub as well as in various git tools.\n\n### Revert\nIf the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit.\nIn the body it should say: `This reverts commit \u003chash\u003e.`, where the hash is the SHA of the commit being reverted.\n\n### Type\nMust be one of the following:\n\n* **feat**: A new feature\n* **fix**: A bug fix\n* **docs**: Documentation only changes\n* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing\n  semi-colons, etc)\n* **refactor**: A code change that neither fixes a bug nor adds a feature\n* **perf**: A code change that improves performance\n* **test**: Adding missing or correcting existing tests\n* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation\n  generation\n\n### Scope\nThe scope could be anything specifying place of the commit change. For example `$location`,\n`$browser`, `$compile`, `$rootScope`, `ngHref`, `ngClick`, `ngView`, etc...\n\nYou can use `*` when the change affects more than a single scope.\n\n### Subject\nThe subject contains succinct description of the change:\n\n* use the imperative, present tense: \"change\" not \"changed\" nor \"changes\"\n* don't capitalize first letter\n* no dot (.) at the end\n\n### Body\nJust as in the **subject**, use the imperative, present tense: \"change\" not \"changed\" nor \"changes\".\nThe body should include the motivation for the change and contrast this with previous behavior.\n\n### Footer\nThe footer should contain any information about **Breaking Changes** and is also the place to\n[reference GitHub issues that this commit closes][closing-issues].\n\n**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines.\nThe rest of the commit message is then used for this.\n\nA detailed explanation can be found in this [document][commit-message-format].\n\n[angular-contributing]: https://raw.githubusercontent.com/angular/angular.js/master/CONTRIBUTING.md\n[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#\n\n## Something Missing?\n\nIf you have a feature request or found a bug, [let me know](https://github.com/mmorainville/netsix/issues).\n\n---\n\nThis project was generated from [electron-vue](https://github.com/SimulatedGREG/electron-vue) using [vue-cli](https://github.com/vuejs/vue-cli). Documentation about this project can be found [here](https://simulatedgreg.gitbooks.io/electron-vue/content/index.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpulsardev%2Fnetsix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpulsardev%2Fnetsix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpulsardev%2Fnetsix/lists"}