2015-11-27 20:34:59 +00:00
<!DOCTYPE html>
< html ng-app = "bTorrent" lang = "en" >
< head >
< base href = "" >
< meta charset = "UTF-8" >
< title > βTorrent: Browser WebTorrent Client< / title >
< meta name = "description" content = "βTorrent: Browser WebTorrent Client" >
2015-11-28 22:30:27 +00:00
< meta name = "keywords" content = "βTorrent, btorrent, client, webtorrent, browser, torrent" >
< meta name = "author" content = "Diego Rodríguez Baquero - DiegoRBaquero" >
2015-11-27 20:34:59 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
2015-11-28 22:30:27 +00:00
< script src = "https://cdn.jsdelivr.net/g/webtorrent@0.62,momentjs@2.10,angularjs@1.4" > < / script >
< link rel = "stylesheet" href = "https://cdn.jsdelivr.net/g/normalize@3.0,skeleton@2.0" >
< link rel = "stylesheet" href = "http://cdn.jsdelivr.net/fontawesome/4.5/css/font-awesome.min.css" >
2015-11-27 20:34:59 +00:00
< link rel = "stylesheet" href = "style.css" >
< / head >
< body >
2015-11-28 22:30:27 +00:00
< header >
< h1 > βTorrent< span class = "version" > v0.4< / span > < / h1 >
2015-11-27 20:34:59 +00:00
< / header >
< div class = "container" ng-controller = "bTorrentCtrl" ng-cloak >
< div class = "row" >
< div class = "twelve columns" >
< div class = "row" >
< div class = "five columns" > < input type = "text" class = "u-full-width" placeholder = "magnet link or hash" id = "torrentInput" ng-model = "torrentInput" > < / div >
< div class = "two columns" > < button class = "button-primary" ng-click = "fromInput()" > < i class = "fa fa-download" > < / i > Download< / button > < / div >
< div class = "five columns u-pull-right" >
< input type = "file" style = "display: none;" id = "fileUpload" onchange = "angular.element(this).scope().uploadFile2(this)" >
< label class = "u-pull-right" >
< button class = "button-primary" ng-click = "uploadFile()" > < i class = "fa fa-upload" > < / i > Seed a file< / button >
< / label >
< / div >
2015-11-27 20:47:24 +00:00
< / div >
2015-11-27 20:34:59 +00:00
< table class = "u-full-width" >
< thead >
< tr >
< th > Name< / th >
< th ng-hide = "client.done()" > Downloaded< / th >
< th ng-hide = "client.done()" > Remaining< / th >
< th ng-hide = "client.downloading()" > Uploaded< / th >
< th > Peers< / th >
< th > Share< / th >
2015-11-28 22:30:27 +00:00
< th > Actions< / th >
2015-11-27 20:34:59 +00:00
< / tr >
< / thead >
< tbody ng-hide = "client.torrents.length" >
< tr >
< td colspan = "100" class = "center" > Add a torrent o seed a file!< / td >
< / tr >
< / tbody >
< tbody ng-repeat = "torrent in client.torrents" ng-if = "torrent.name" >
2015-11-28 22:30:27 +00:00
< tr class = "torrentRow" ng-class = "{selectedTorrent: torrent.showFiles}" >
< td > < div > < i class = "fa fa-cloud-download" ng-hide = "torrent.done" > < / i > < i class = "fa fa-check" ng-show = "torrent.done" > < / i > {{torrent.name}}< / div > < span class = "subInfo" > {{torrent.pSize}} in < a href = "#" onclick = "return false;" ng-click = "toggleTorrent(torrent)" > {{torrent.files.length}} files< / a > < / span > < / td >
2015-11-27 20:34:59 +00:00
< td ng-hide = "client.done()" > {{torrent.pDownloaded}} < span class = "subInfo" > ({{torrent.pProgress}}%)< / span > < br / > < span class = "subInfo" > @ {{torrent.pDownloadSpeed}}/s< / span > < / td >
< td ng-hide = "client.done()" > {{torrent.tRemaining}}< / td >
< td ng-hide = "client.downloading()" > {{torrent.pUploaded}}< br / > < span class = "subInfo" > @ {{torrent.pUploadSpeed}}/s< / span > < / td >
< td > {{torrent.swarm.wires.length}}< / td >
< td >
< a href = "#{{torrent.infoHash}}" target = "_blank" > βTorrent< / a >
| < a href = "{{torrent.magnetURI}}" target = "_blank" > Magnet URI< / a >
| < a href = "{{torrent.oTorrentFileURL}}" target = "_blank" download = "{{torrent.fileName}}" > .torrent< / a >
2015-11-28 22:30:27 +00:00
< br > < span class = "subInfo" > < i class = "fa fa-hashtag" > < / i > {{torrent.infoHash}}< / span >
2015-11-27 20:34:59 +00:00
< / td >
2015-11-28 22:30:27 +00:00
< td > < i class = "fa fa-times" ng-click = "client.remove(torrent, destroyedTorrent)" > < / i > < / td >
2015-11-27 20:34:59 +00:00
< / tr >
< tr ng-show = "torrent.showFiles" >
< td class = "files" colspan = "100" >
< div class = "row" >
< div class = "two columns center" > < i class = "fa fa-file" > < / i > < strong > Files:< / strong > < / div >
< div class = "ten columns fix-height" >
< ul class = "no-margin" >
< li ng-repeat = "file in torrent.files" >
< span ng-hide = "file.done" > {{file.status}}: {{file.name}}< / span > < a href = "{{file.url}}" download = "{{file.name}}" target = "_blank" ng-show = "file.done" > {{file.name}}< / a > < span class = "subInfo" > {{file.pSize}}< / span >
< / li >
< / ul >
< / div >
< / div >
< / td >
< / tr >
< / tbody >
< tbody ng-show = "client.processing" >
< tr >
< td colspan = "100" class = "center" > Please wait a few seconds!< / td >
< / tr >
< / tbody >
< / table >
< / div >
< / div >
< / div >
< footer >
2015-11-28 22:30:27 +00:00
Made in Bogotá, Colombia by < a href = "http://diegorbaquero.com" > DiegoRBaquero< / a > < br > < small > < a href = "https://webtorrent.io" > WebTorrent< / a > is powered by JavaScript and WebRTC. Works in Chrome, Firefox, and Opera (desktop and Android).< / small > < / p >
2015-11-27 20:34:59 +00:00
< / footer >
< script src = "app.js" > < / script >
< / body >
< / html >