mirror of https://github.com/kern/filepizza
Add explicit tracker list
parent
4b0c5a4da3
commit
f1952c3e88
@ -1,61 +1,70 @@
|
||||
import UploadActions from '../actions/UploadActions'
|
||||
import alt from '../alt'
|
||||
import socket from 'filepizza-socket'
|
||||
import { getClient } from '../wt'
|
||||
import UploadActions from "../actions/UploadActions";
|
||||
import alt from "../alt";
|
||||
import socket from "filepizza-socket";
|
||||
import { getClient } from "../wt";
|
||||
|
||||
const SPEED_REFRESH_TIME = 2000
|
||||
const TRACKERS = [
|
||||
["wss://tracker.btorrent.xyz"],
|
||||
["wss://tracker.openwebtorrent.com"],
|
||||
["wss://tracker.fastcast.nz"]
|
||||
];
|
||||
|
||||
export default alt.createStore(class UploadStore {
|
||||
const SPEED_REFRESH_TIME = 2000;
|
||||
|
||||
export default alt.createStore(
|
||||
class UploadStore {
|
||||
constructor() {
|
||||
this.bindActions(UploadActions)
|
||||
|
||||
this.fileName = ''
|
||||
this.fileSize = 0
|
||||
this.fileType = ''
|
||||
this.infoHash = null
|
||||
this.peers = 0
|
||||
this.speedUp = 0
|
||||
this.status = 'ready'
|
||||
this.token = null
|
||||
this.bindActions(UploadActions);
|
||||
|
||||
this.fileName = "";
|
||||
this.fileSize = 0;
|
||||
this.fileType = "";
|
||||
this.infoHash = null;
|
||||
this.peers = 0;
|
||||
this.speedUp = 0;
|
||||
this.status = "ready";
|
||||
this.token = null;
|
||||
}
|
||||
|
||||
onUploadFile(file) {
|
||||
if (this.status !== 'ready') return
|
||||
this.status = 'processing'
|
||||
|
||||
getClient().then((client) => {
|
||||
client.seed(file, (torrent) => {
|
||||
if (this.status !== "ready") return;
|
||||
this.status = "processing";
|
||||
|
||||
getClient().then(client => {
|
||||
client.seed(file, { announce: TRACKERS }, torrent => {
|
||||
const updateSpeed = () => {
|
||||
this.setState({
|
||||
speedUp: torrent.uploadSpeed,
|
||||
peers: torrent.numPeers
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
torrent.on('upload', updateSpeed)
|
||||
torrent.on('download', updateSpeed)
|
||||
setInterval(updateSpeed, SPEED_REFRESH_TIME)
|
||||
torrent.on("upload", updateSpeed);
|
||||
torrent.on("download", updateSpeed);
|
||||
setInterval(updateSpeed, SPEED_REFRESH_TIME);
|
||||
|
||||
socket.emit('upload', {
|
||||
socket.emit(
|
||||
"upload",
|
||||
{
|
||||
fileName: file.name,
|
||||
fileSize: file.size,
|
||||
fileType: file.type,
|
||||
infoHash: torrent.magnetURI
|
||||
}, (token) => {
|
||||
},
|
||||
token => {
|
||||
this.setState({
|
||||
status: 'uploading',
|
||||
status: "uploading",
|
||||
token: token,
|
||||
fileName: file.name,
|
||||
fileSize: file.size,
|
||||
fileType: file.type,
|
||||
infoHash: torrent.magnetURI
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
}, 'UploadStore')
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
"UploadStore"
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue