46 lines
1.4 KiB
HTML
46 lines
1.4 KiB
HTML
|
<style>
|
||
|
#wtmedia{
|
||
|
width:100%;
|
||
|
}
|
||
|
#wtmedia video{
|
||
|
width:100%;
|
||
|
}
|
||
|
</style>
|
||
|
<script src="/webtorrent.js"></script>
|
||
|
<div class="webtorrent">
|
||
|
<noscript>
|
||
|
<video controls>
|
||
|
<source src={{.Get "source"}}>
|
||
|
</video>
|
||
|
</noscript>
|
||
|
<div id="wtmedia">
|
||
|
</div>
|
||
|
<div>
|
||
|
<span id="torrent-info">Waiting for peers.</span>
|
||
|
<span id="torrent-peers"></span>
|
||
|
<span id="torrent-progress"></span>
|
||
|
</div>
|
||
|
</div>
|
||
|
<script>
|
||
|
function updateData(torrent) {
|
||
|
if (torrent.numPeers > 0) {
|
||
|
document.getElementById('torrent-info').innerHTML="This video is being served with webtorrent";
|
||
|
document.getElementById('torrent-peers').innerHTML="Peers:"+torrent.numPeers;
|
||
|
}
|
||
|
}
|
||
|
const client = new WebTorrent();
|
||
|
const magnetURI = "{{.Get "magnet"}}";
|
||
|
torrent = client.add(magnetURI, function (torrent) {
|
||
|
// Got torrent metadata!
|
||
|
torrent.addWebSeed("{{.Get "source"}}");
|
||
|
console.log("Torrent Peers: "+torrent.numPeers);
|
||
|
console.log('Client is downloading:', torrent.infoHash);
|
||
|
torrent.files.forEach(function (file) {
|
||
|
// Display the file by appending it to the DOM. Supports video, audio, images, and
|
||
|
// more. Specify a container element (CSS selector or reference to DOM node).
|
||
|
file.appendTo('#wtmedia');
|
||
|
})
|
||
|
|
||
|
});
|
||
|
window.setInterval(updateData,250,torrent);
|
||
|
</script>
|