Giter Site home page Giter Site logo

alexander-maz / jstorrent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kzahel/jstorrent

0.0 0.0 0.0 2.12 MB

JavaScript Torrent Client primarily for ChromeOS and the Chrome Web Store

Home Page: https://www.jstorrent.com

License: Other

JavaScript 91.54% Shell 0.22% HTML 7.35% CSS 0.89%

jstorrent's Introduction

JSTorrent

Try it now in CWS

JSTorrent Available for install Chrome Web Store

Get the JSTorrent Helper Extension, which adds a right click "Add to JSTorrent" menu for magnet links and .torrent files


JSTorrent is the original Chrome Packaged/Platform App for downloading torrents. It stands for "JavaScript Torrent." It is perfect for cheap ARM Chromebooks when you need to torrent something, but also perfect for your high end Chromebook Pixel. :-) While it is specifically designed to integrate well with ChromeOS, it will also run on Windows / Mac / Linux, or anywhere else you are able to install Google Chrome.

JSTorrent is the world's most secure Torrent client. It runs in the Chrome sandbox, so it does not have access to any files on your system (except the Download folder you choose). With JSTorrent, you are in control.

I don't frequently keep this readme very up to date. You can find the actual changelogs in the Chrome Web Store listing, or sometimes in the CHANGES.txt

One of my main goals with this project is to get it nearly as fast as the other clients. Disk I/O is pretty slow with the chrome APIs, which I am working on optimizing for. Some other bottlenecks at this point include SHA1 hashing (done in a worker) as well as suboptimal peer selection and queueing.

I am frequently adding features and improvements to this project, and welcome user feedback, as it directs the future growth of the program.

This software was totally rewritten from scratch (Dec 2013). This is about the third time I've written a torrent client, so it should be the least buggy of them all :-)

I'm currently charging $3 for the install on the chrome web store. But you can also run it from source here. I want to do some kind of donate/freemium model, once I can figure out this: http://stackoverflow.com/questions/21147236/get-user-openid-url-without-user-interaction (I want to be able to detect users who already paid $3)

The source code is available here for auditing and education purposes. I believe open software is great, and I would not ask any user to install something that they can't reasonably verify is not doing anything malicious. However, the license does not permit redistribution of the jstorrent code or assets in your own projects.

Installation:

Most people would usually install by the Chrome Web Store (link) but you can install from source too.

  • Click the "Download ZIP" button near the top of the page.***
  • Unzip it.
  • Visit "chrome://extensions"
  • Click the checkbox "Developer Mode" on the top
  • Click "Load unpacked extension"
  • Browse to the unzipped file then press "Open"
  • You're done! (Note that you will not get updates this way, you will need to manually update)
  • NOTE***: This project now uses a submodule "web-server-chrome" (https://github.com/kzahel/web-server-chrome) so you probably have to download that project separately and put it in the "js" folder. (you may need to rename folder from "web-server-chrome-master" to "web-server-chrome")

Websites:

Special New Features

  • Support downloading directly to directory of choice
    • download to external media (usb drives)
    • Per-torrent download directories
    • multiple download directories
    • skip downloading files
  • Unlimited size downloads (multi gigabyte torrents)

Private tracker support notes for site admins

Private tracker support is very lacking. I don't know of any sites that have whitelisted/allowed JSTorrent. I am working on addressing this by improving the seeding and tracker funcions.

  • The "User-Agent" header looks like: (JSTorrent/{version}) (current x-user-agent string version: "JSTorrent/2480") for version 2.4.8
  • The peer id begins with "-JS{version}-", currently peer id begins with "-JS2480-"

I have disabled the "spoofing" feature.

Todo

  • see TODO.txt
  • too many things
  • figure out chrome.fileSystem getting in broken state bugs (persistently problematic)
  • smarter disk cache
  • better seeding disk access / read entire piece at a time
  • implement i18n
  • pNaCL sha1 hashing benchmark vs native JS vs window.crypto
  • use chrome.identity and GCM for remote control (pushMessaging) (in progress)
  • DHT
  • uPNP+bind/listen TCP - (in progress)
  • SOCKS5 proxy support
  • headless operation (in progress)

Credits

jstorrent's People

Contributors

kzahel avatar beaufortfrancois avatar tadeokondrak avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.