animepaste
Version:
Paste your favourite anime online
1,290 lines (1,284 loc) • 53.6 kB
JavaScript
import * as path from 'node:path';
import path__default from 'node:path';
import OSS from 'ali-oss';
import onDeath from 'death';
import RPCClient from '@alicloud/pop-core';
import createDebug from 'debug';
import { c as context, l as logger, D as DOT } from './animepaste.0aae14a3.mjs';
import { M as MAX_RETRY } from './animepaste.50123400.mjs';
import fs from 'fs-extra';
import Webtorrent from 'webtorrent';
import { bold, lightBlue, green } from '@breadc/color';
import * as crypto from 'node:crypto';
import Progress from 'cli-progress';
const { Format, MultiBar, Presets, SingleBar } = Progress;
function b64encode(text) {
return Buffer.from(text, "utf-8").toString("base64");
}
function b64decode(text) {
return Buffer.from(text, "base64").toString();
}
async function hashFile(filepath) {
const fileBuffer = await fs.readFile(filepath);
const hashSum = crypto.createHash("sha256");
hashSum.update(fileBuffer);
return hashSum.digest("hex");
}
function createSingleProgress() {
return new SingleBar(
{
format: " {bar} {percentage}% | ETA: {eta}s",
clearOnComplete: true
},
Presets.shades_grey
);
}
function createProgressBar(option = {}) {
const multibar = new MultiBar(
{
format(_options, params, payload) {
const formatValue = Format.ValueFormat;
const formatBar = Format.BarFormat;
const percentage = Math.floor(params.progress * 100);
const context = {
bar: formatBar(params.progress, _options),
percentage: formatValue(percentage, _options, "percentage"),
total: params.total,
value: params.value
// eta: formatValue(params.eta, _options, 'eta'),
// duration: formatValue(elapsedTime, _options, 'duration'),
};
const suffix = option.suffix ? " | " + option.suffix(params.value, params.total, payload) : "";
return payload.title !== void 0 && typeof payload.title === "string" ? ` ${payload.title}` : ` ${context.bar} ${context.percentage}%` + suffix;
},
stopOnComplete: false,
clearOnComplete: true,
hideCursor: true,
forceRedraw: true
},
Presets.shades_grey
);
multibar.on("stop", () => {
for (const line of multibar.loggingBuffer) {
console.log(line.substring(0, line.length - 1));
}
});
return {
finish() {
multibar.stop();
},
println(text) {
multibar.log(text + "\n");
},
create(name, length) {
const empty = multibar.create(length, 0, {}, { title: name });
const title = multibar.create(length, 0, {}, { title: name });
const progress = multibar.create(length, 0);
title.update(0, { title: bold(name) });
empty.update(0, { title: "" });
return {
update(value, payload) {
empty.update(value, { title: "" });
title.update(value, { title: bold(name) });
progress.update(value, payload);
},
increment(value, payload) {
empty.increment(value, { title: "" });
title.increment(value, { title: bold(name) });
progress.increment(value, payload);
}
};
}
};
}
class Store {
constructor(platform) {
this.platform = platform;
}
async init() {
}
async fetchVideoInfo(videoId) {
const localVideo = await context.videoStore.findVideo(
this.platform,
videoId
);
if (localVideo) {
return localVideo;
} else {
return this.doFetchVideoInfo(videoId);
}
}
async searchLocalVideo(filename) {
const title = path__default.basename(filename);
return (await context.videoStore.list()).filter(
(l) => l.title === title && l.platform === this.platform
);
}
async listLocalVideos() {
return (await context.videoStore.list()).filter(
(l) => l.platform === this.platform
);
}
async deleteVideo(videoId) {
const localVideo = await context.videoStore.findVideo(
this.platform,
videoId
);
if (localVideo) {
await this.doDelete(videoId);
await context.videoStore.deleteVideo(this.platform, videoId);
}
}
async upload(filepath, option = {}) {
filepath = await context.copyToCache(filepath);
const title = path__default.basename(filepath);
const hash = await hashFile(filepath);
for (const log of await context.videoStore.list()) {
if (log.platform === this.platform && log.title === title && (!log.source.hash || log.source.hash === hash)) {
return log;
}
}
const videoId = await this.doUpload(filepath, option);
if (videoId) {
const info = await this.doFetchVideoInfo(videoId, option);
if (!info)
throw new Error("Fail to upload");
info.source.magnetId = option.magnetId;
info.source.directory = context.encodePath(path__default.dirname(filepath));
info.source.hash = hash;
await context.videoStore.createVideo(info);
return info;
} else {
throw new Error("Fail to upload");
}
}
}
const debug$1 = createDebug("anime:ali");
const TIMEOUT = 10 * 1e3;
class AliStore extends Store {
constructor(config) {
super("ali");
this.accessKeyId = config.accessKeyId;
this.accessKeySecret = config.accessKeySecret;
this.regionId = config.regionId;
this.vodClient = new RPCClient({
accessKeyId: this.accessKeyId,
accessKeySecret: this.accessKeySecret,
endpoint: "http://vod." + this.regionId + ".aliyuncs.com",
apiVersion: "2017-03-21"
});
}
async createUplodaVideo(title, file) {
for (let i = 0; i < MAX_RETRY; i++) {
try {
const res = await Promise.race([
this.vodClient.request(
"CreateUploadVideo",
{
Title: title,
FileName: file
},
{
timeout: TIMEOUT
}
),
new Promise((res2) => setTimeout(() => res2(void 0), TIMEOUT * 6))
]);
if (res) {
res.UploadAuth = JSON.parse(b64decode(res.UploadAuth));
res.UploadAddress = JSON.parse(b64decode(res.UploadAddress));
return res;
}
} catch (error) {
debug$1(error);
return void 0;
}
}
logger.error(`Create Upload ${title} timeout`);
return void 0;
}
async doUpload(filepath, option = {}) {
debug$1(`Upload: ${filepath}`);
const resp = await this.createUplodaVideo(
path__default.basename(filepath),
filepath
);
if (!resp) {
throw new Error("Fail creating upload video");
} else {
debug$1(resp);
}
const store = new OSS({
endpoint: resp.UploadAddress.Endpoint,
bucket: resp.UploadAddress.Bucket,
accessKeyId: resp.UploadAuth.AccessKeyId,
accessKeySecret: resp.UploadAuth.AccessKeySecret,
stsToken: resp.UploadAuth.SecurityToken,
async refreshSTSToken() {
return {
accessKeyId: resp.UploadAuth.AccessKeyId,
accessKeySecret: resp.UploadAuth.AccessKeySecret,
stsToken: resp.UploadAuth.SecurityToken
};
},
refreshSTSTokenInterval: 60 * 60 * 1e3
});
const formatSize = (size) => (size / 1024 / 1024).toFixed(1) + " MB";
const multibar = createProgressBar({
suffix(_value, _total, payload) {
const progress = `${formatSize(payload.value)} / ${formatSize(
payload.total
)}`;
const speed = payload.speed ? " | Speed: " + formatSize(payload.speed) + "/s" : "";
return progress + speed;
}
});
const cancel = onDeath(async () => {
option.retry = void 0;
logger.error("Process is terminated");
await this.doDelete(resp.VideoId);
logger.info("Clear OK");
});
try {
const bar = multibar.create(path__default.basename(filepath), 1);
const ossRes = await store.multipartUpload(
resp.UploadAddress.FileName,
filepath,
{
progress(p, c) {
bar.update(p, {
value: Number((c.fileSize * p).toFixed(0)),
total: c.fileSize
});
}
}
);
debug$1(ossRes);
return resp.VideoId;
} catch (err) {
debug$1(err);
logger.error("Upload error, please DO NOT exit!");
await this.doDelete(resp.VideoId);
logger.info("Clear OK");
if (option.retry === void 0 || option.retry === 0) {
return void 0;
} else {
option.retry -= 1;
return this.doUpload(filepath, option);
}
} finally {
cancel();
multibar.finish();
}
}
async doDelete(videoId) {
try {
await this.vodClient.request("DeleteVideo", { VideoIds: videoId }, {});
return true;
} catch {
return false;
}
}
async doFetchVideoInfo(videoId) {
try {
const [resp, play] = await Promise.all([
this.vodClient.request(
"GetVideoInfo",
{
VideoId: videoId
},
{
timeout: TIMEOUT
}
),
this.vodClient.request(
"GetPlayInfo",
{
VideoId: videoId
},
{ timeout: TIMEOUT }
)
]);
debug$1(resp, play);
return {
platform: "ali",
videoId,
title: resp.Video.Title,
cover: resp.Video.CoverURL,
createdAt: resp.Video.CreationTime,
playUrl: (play?.PlayInfoList?.PlayInfo ?? []).map((p) => p?.PlayURL).filter(Boolean),
source: {}
};
} catch (error) {
debug$1(error);
return void 0;
}
}
}
const createAliStore = async () => {
const config = await context.getStoreConfig("ali");
if (!Boolean(config.accessKeyId) || !Boolean(config.accessKeySecret) || !Boolean(config.regionId)) {
throw new Error("Fail to load Ali OSS config");
}
const ali = new AliStore(config);
await ali.init();
return ali;
};
function useStore(type) {
if (type === "ali") {
return createAliStore;
} else {
throw new Error(`Can not find store "${type}"`);
}
}
const Trackers = [
"udp://retracker01-msk-virt.corbina.net/announce",
"udp://open.stealth.si/announce",
"udp://tracker.openbittorrent.com/announce",
"udp://tracker1.bt.moack.co.kr/announce",
"udp://pow7.com/announce",
"udp://tracker2.dler.com/announce",
"http://torrentzilla.org/announce",
"http://tracker.tfile.me:80/announce",
"http://tk.greedland.net/announce",
"http://torrent-team.net:80/announce.php",
"http://torrentzilla.org:80/announce.php",
"http://tracker.torrentyorg.pl/announce",
"http://milanesitracker.tekcities.com/announce",
"https://trackme.theom.nz/announce",
"http://tracker.anirena.com:80/announce",
"http://opentracker.xyz:80/announce",
"wss://tracker.openwebtorrent.com:443/announce",
"http://tracker.gbitt.info/announce",
"http://1337.abcvg.info:80/announce",
"http://mediaclub.tv:80/announce.php",
"https://tracker.nanoha.org/announce",
"https://carbon-bonsai-621.appspot.com:443/announce",
"https://tracker.imgoingto.icu:443/announce",
"https://tp.m-team.cc:443/announce.php",
"https://tr.ready4.icu/announce",
"http://1337.abcvg.info/announce",
"https://tr.ready4.icu:443/announce",
"https://tracker.gbitt.info/announce",
"http://tracker.anirena.com/announce",
"https://tracker.lilithraws.cf:443/announce",
"http://tracker.bt4g.com:2095/announce",
"https://tracker.foreverpirates.co/announce",
"https://tracker.nanoha.org:443/announce",
"https://tp.m-team.cc/announce.php",
"https://tracker.parrotlinux.org/announce",
"https://tracker.gbitt.info:443/announce",
"http://trackme.theom.nz:80/announce",
"https://tracker.nitrix.me:443/announce",
"http://60-fps.org/bt:80/announce.php",
"https://t1.tokhmi.xyz:443/announce",
"http://tracker.gbitt.info:80/announce",
"https://tracker.foreverpirates.co:443/announce",
"https://1337.abcvg.info/announce",
"https://trackme.theom.nz:443/announce",
"https://tracker.lilithraws.cf/announce",
"https://1337.abcvg.info:443/announce",
"https://carbon-bonsai-621.appspot.com/announce",
"https://tracker.kuroy.me:443/announce",
"http://tracker.anonwebz.xyz:8080/announce",
"https://tracker.nitrix.me/announce",
"http://mediaclub.tv/announce",
"http://tracker.torrentyorg.pl:80/announce",
"http://www.xwt-classics.net/announce.php",
"http://t.nyaatracker.com/announce",
"http://data-bg.net/announce.php",
"http://www.all4nothin.net/announce.php",
"http://t.nyaatracker.com:80/announce",
"http://mediaclub.tv/announce.php",
"https://tr.torland.ga/announce",
"https://tr.torland.ga:443/announce",
"https://tracker.parrotsec.org:443/announce",
"http://60-fps.org/bt/announce.php",
"https://tracker.tamersunion.org/announce",
"http://www.all4nothin.net:80/announce.php",
"http://torrentsmd.com:8080/announce",
"http://bt.rghost.net/announce",
"http://btx.anifilm.tv/announce.php",
"https://tracker.kuroy.me/announce",
"https://tracker.parrotsec.org/announce",
"udp://104.143.10.186:8000/announce",
"http://all4nothin.net/announce.php",
"http://104.143.10.186:8000/announce",
"http://torrent.mp3quran.net/announce.php",
"udp://t.nyaatracker.com:80/announce",
"http://masters-tb.com/announce.php",
"http://tracker.ali213.net:8080/announce",
"http://pow7.com:443/announce",
"https://tracker.tamersunion.org:443/announce",
"http://atrack.pow7.com/announce",
"http://nyaa.tracker.wf:7777/announce",
"http://t.acg.rip:6699/announce",
"https://bittorrent.gongt.net:443/announce",
"http://masters-tb.com:80/announce.php",
"http://tracker.pow7.com/announce",
"http://datascene.net/announce.php",
"udp://51.68.199.47:6969/announce",
"http://t2.pow7.com/announce",
"http://secure.pow7.com:80/announce",
"http://tracker.trackerfix.com/announce",
"http://atrack.pow7.com:80/announce",
"http://51.79.71.167/announce",
"https://tracker.sloppyta.co/announce",
"udp://tracker.trackerfix.com:81/announce",
"http://nyaa.tracker.wf:7777/announce ",
"http://t1.pow7.com/announce",
"http://tracker.publictorrent.net/announce",
"http://54.39.98.124/announce",
"http://104.28.16.69/announce",
"http://tr.cili001.com:8070/announce",
"http://t2.pow7.com:80/announce",
"http://pow7.com/announce",
"http://secure.pow7.com/announce",
"http://51.38.230.101/announce",
"udp://149.28.47.87:1738/announce",
"udp://45.33.83.49:6969/announce",
"http://bt.ali213.net:8080/announce",
"udp://vibe.sleepyinternetfun.xyz:1738/announce",
"udp://199.217.118.72:6969/announce",
"http://grifon.info/announce",
"http://opentracker.xyz/announce",
"https://tk.mabo.ltd:443/announce",
"http://tracker.tfile.me/announce",
"http://grifon.info:80/announce",
"https://trakx.herokuapp.com:443/announce",
"wss://tracker.sloppyta.co:443/announce",
"http://tracker.sloppyta.co/announce",
"http://t1.pow7.com:80/announce",
"http://googer.cc:1337/announce",
"http://fxtt.ru/announce",
"https://tracker.sloppyta.co:443/announce",
"udp://public.publictracker.xyz:6969/announce",
"http://tracker.zerobytes.xyz:1337/announce",
"udp://tracker-udp.gbitt.info:80/announce",
"http://sukebei.tracker.wf:8888/announce",
"udp://tracker.moeking.me:6969/announce",
"udp://tracker.zerobytes.xyz:1337/announce",
"http://tr.bangumi.moe/announce",
"http://www.zone-torrent.net/announce.php",
"udp://185.21.216.185:6969/announce",
"udp://bt1.archive.org:6969/announce",
"https://open.acgnxtracker.com/announce",
"http://tracker.dler.org:6969/announce",
"udp://185.92.223.36:6969/announce",
"http://share.camoe.cn:8080/announce",
"http://tracker.minglong.org:8080/announce",
"udp://tracker-udp.anirena.com:80/announce",
"http://openbittorrent.com/announce",
"http://93.158.213.92:1337/announce",
"http://torrent-team.net/announce.php",
"udp://37.59.48.81:6969/announce",
"http://anidex.moe:6969/announce",
"udp://163.172.170.127:6969/announce",
"udp://tracker.dler.org:6969/announce",
"http://198.251.84.144/announce",
"http://torrents.linuxmint.com/announce.php",
"http://buny.uk:6969/announce",
"http://open.acgnxtracker.com/announce",
"udp://discord.heihachi.pw:6969/announce",
"http://open.acgnxtracker.com:80/announce",
"udp://148.251.53.72:6969/announce",
"http://milanesitracker.tekcities.com:80/announce",
"http://trk.publictracker.xyz:6969/announce",
"udp://91.121.145.207:6969/announce",
"http://ipv4announce.sktorrent.eu:6969/announce",
"http://193.37.214.12:6969/announce",
"udp://tracker.opentrackr.org:1337/announce",
"http://tracker2.dler.org:80/announce",
"udp://anidex.moe:6969/announce",
"udp://tracker2.dler.org:80/announce",
"udp://195.201.94.195:6969/announce",
"udp://open.stealth.si:80/announce",
"udp://tracker.opentrackr.org:1337/announce ",
"udp://217.12.218.177:2710/announce",
"http://tracker.noobsubs.net:80/announce",
"udp://144.76.35.202:6969/announce",
"http://tracker.pussytorrents.org:3000/announce",
"udp://157.90.169.123:80/announce",
"udp://sugoi.pomf.se:80/announce",
"http://kinorun.com/announce.php",
"http://tracker2.dler.org/announce",
"http://185.148.3.231/announce",
"udp://212.83.181.109:6969/announce",
"http://tracker3.dler.org:2710/announce",
"http://open.touki.ru/announce",
"http://tracker.sloppyta.co:80/announce",
"http://tracker.lelux.fi/announce",
"udp://144.76.82.110:6969/announce",
"udp://tracker.lelux.fi:6969/announce",
"udp://tracker-de.ololosh.space:6969/announce",
"udp://tracker.ololosh.space:6969/announce",
"http://vps02.net.orel.ru:80/announce",
"http://tracker.lelux.fi:80/announce",
"udp://camera.lei001.com:6969/announce",
"udp://109.248.43.36:6969/announce",
"udp://185.8.156.2:6969/announce",
"https://tracker.lelux.fi/announce",
"http://bt.1000.pet:2712/announce",
"http://kinorun.com:80/announce.php",
"http://private.minimafia.nl:443/announce",
"udp://bt.okmp3.ru:2710/announce",
"http://185.230.4.150:1337/announce",
"udp://193.34.92.5:80/announce",
"http://prestige.minimafia.nl:443/announce",
"http://tracker.acgnx.se/announce",
"http://opentracker.acgnx.se:80/announce",
"http://opentracker.acgnx.se/announce",
"udp://tracker.tiny-vps.com:6969/announce",
"http://tracker.tiny-vps.com:6969/announce",
"udp://retracker.sevstar.net:2710/announce",
"http://bt.zlofenix.org:81/announce",
"http://95.107.48.115/announce",
"http://www.worldboxingvideoarchive.com/announce.php",
"udp://tracker.bitsearch.to:1337/announce",
"udp://tracker.monitorit4.me:6969/announce",
"udp://tracker.dler.com:6969/announce",
"udp://tracker.0x.tf:6969/announce",
"http://tracker.acgnx.se:80/announce",
"udp://fe.dealclub.de:6969/announce",
"http://tracker3.torrentino.com/announce",
"http://www.thetradersden.org/forums/tracker:80/announce.php",
"http://h4.trakx.nibba.trade:80/announce",
"udp://tracker.srv00.com:6969/announce",
"http://tracker.noobsubs.net/announce",
"udp://movies.zsw.ca:6969/announce",
"udp://tracker2.dler.com:80/announce",
"http://tracker.tambovnet.org/announce.php",
"https://trakx.herokuapp.com/announce",
"udp://tracker.auctor.tv:6969/announce",
'http://opentracker.acgnx.com:6869/announce"',
"http://tracker.publictorrent.net:80/announce",
"http://bt.unionpeer.org:777/announce",
"udp://tracker0.ufibox.com:6969/announce",
"http://h4.trakx.nibba.trade/announce",
"https://open.kickasstracker.com:443/announce",
"https://tracker.publictorrent.net/announce",
"http://tracker.loadbt.com:6969/announce",
"http://tracker.bittor.pw:1337/announce",
"https://torrent.ubuntu.com/announce",
"http://bt.okmp3.ru:2710/announce",
"udp://tracker.altrosky.nl:6969/announce",
"https://tracker.publictorrent.net:443/announce",
"http://torrentzilla.org:80/announce",
"http://tracker.moeking.me:6969/announce",
"http://www.thetradersden.org/forums/tracker/announce.php",
"https://open.kickasstracker.com/announce",
"http://torrentzilla.org/announce.php",
"http://tracker.shittyurl.org/announce",
"http://opentracker.acgnx.com:6869/announce",
"http://bt-tracker.gamexp.ru:2710/announce",
"http://finbytes.org/announce.php",
"http://concen.org:6969/announce",
"http://torrent.ubuntu.com:6969/announce",
"udp://tracker.kali.org:6969/announce",
"https://torrents.linuxmint.com/announce.php",
"http://tracker2.torrentino.com/announce",
"http://open.miotracker.com/announce",
"http://share.hkg-fansub.info/announce.php",
"http://tracker.opentrackr.org:1337/announce",
"http://opentrackr.org:1337/announce",
"http://t.overflow.biz:6969/announce",
"http://siambit.org/announce.php",
"http://tracker9.bol.bg/announce.php",
"udp://bubu.mapfactor.com:6969/announce",
"http://fxtt.ru:80/announce",
"udp://concen.org:6969/announce",
"udp://opentrackr.org:1337/announce",
"https://tracker.iriseden.fr:443/announce",
"udp://openbittorrent.com:80/announce",
"udp://mts.tvbit.co:6969/announce",
"https://seeders-paradise.org/announce",
"http://openbittorrent.com:80/announce",
"udp://admin.videoenpoche.info:6969/announce",
"http://tracker.gigatorrents.ws:2710/announce",
"udp://6ahddutb1ucc3cp.ru:6969/announce",
"udp://tracker.haynet.io:6969/announce",
"https://tracker.lelux.fi:443/announce",
"http://alltorrents.net/bt/announce.php",
"http://irrenhaus.dyndns.dk/announce.php",
"http://bttracker.debian.org:6969/announce",
"http://trun.tom.ru/announce",
"udp://rutorrent.frontline-mod.com:6969/announce",
"http://siambit.com/announce.php",
"udp://engplus.ru:6969/announce",
"https://tracker.bt-hash.com/announce",
"http://vps02.net.orel.ru/announce",
"http://baibako.tv/announce",
"udp://tracker.pomf.se:80/announce",
"udp://bt2.archive.org:6969/announce",
"https://tracker.imgoingto.icu/announce",
"http://mvgroup.org:2710/announce",
"http://home.yxgz.club:6969/announce",
"udp://nagios.tks.sumy.ua:80/announce",
"udp://tracker.bittor.pw:1337/announce",
"http://www.tribalmixes.com/announce.php",
"https://tracker.iriseden.fr/announce",
"http://www.mvgroup.org:2710/announce",
"udp://www.mvgroup.org:2710/announce",
"http://mixfiend.com:6969/announce",
"http://t.jaekr.sh:6969/announce",
"https://tracker.bt-hash.com:443/announce",
"http://bt.nnm-club.info:2710/announce",
"http://tracker.xdvdz.com:2710/announce",
"http://www.tvnihon.com:6969/announce",
"udp://tracker.sylphix.com:6969/announce",
"http://bt.rghost.net:80/announce",
"http://data-bg.net:80/announce.php",
"http://carbon-bonsai-621.appspot.com:80/announce",
"http://60-fps.org:80/bt:80/announce.php",
"http://btx.anifilm.tv:80/announce.php",
"http://www.xwt-classics.net:80/announce.php",
"http://all4nothin.net:80/announce.php",
"http://torrent.mp3quran.net:80/announce.php",
"http://51.79.71.167:80/announce",
"http://tracker.trackerfix.com:80/announce",
"http://pow7.com:80/announce",
"http://tracker.pow7.com:80/announce",
"http://proaudiotorrents.org/announce.php",
"http://open.trackerlist.xyz/announce",
"http://107.152.127.9:6969/announce",
"http://tracker.kali.org:6969/announce",
"https://tracker.shittyurl.org:443/announce",
"http://bt.ali213.net:8000/announce",
"http://185.185.40.129:6969/announce",
"udp://173.212.223.237:6969/announce",
"udp://mail.realliferpg.de:6969/announce",
"http://www.zone-torrent.net:80/announce.php",
"http://open.acgtracker.com:1096/announce",
"udp://open.publictracker.xyz:6969/announce",
"http://tracker.frozen-layer.net:6969/announce.php",
"http://tracker.tambovnet.org:80/announce.php",
"http://tracker.ali213.net:8000/announce",
"http://torrent.rus.ec:2710/announce",
"http://95.107.48.115:80/announce",
"udp://78.30.254.12:2710/announce",
"https://torrents.linuxmint.com:443/announce.php",
"http://www.shnflac.net:80/announce.php",
"http://open.trackerlist.xyz:80/announce",
"http://www.worldboxingvideoarchive.com:80/announce.php",
"http://torrenttracker.nwc.acsalaska.net:6969/announce",
"https://tracker.shittyurl.org/announce",
"udp://cyteam.ru:6969/announce",
"http://tr.kxmp.cf:80/announce",
"https://torrent.ubuntu.com:443/announce",
"http://trun.tom.ru:80/announce",
"http://irrenhaus.dyndns.dk:80/announce.php",
"udp://tracker.leechersparadise.org:6969/announce",
"http://siambit.com:80/announce.php",
"http://torrent.fedoraproject.org:6969/announce",
"udp://code2chicken.nl:6969/announce",
"http://retracker.telecom.by:80/announce",
"http://open.touki.ru:80/announce.php",
"udp://cutiegirl.ru:6969/announce",
"udp://tracker.blacksparrowmedia.net:6969/announce",
"http://baibako.tv:80/announce",
"http://retracker.sevstar.net:2710/announce",
"http://bluebird-hd.org:80/announce.php",
"udp://tracker.breizh.pm:6969/announce",
"http://www.tribalmixes.com:80/announce.php",
"http://tracker.breizh.pm:6969/announce",
"http://retracker.spark-rostov.ru:80/announce",
"http://tracker1.bt.moack.co.kr/announce",
"http://www.legittorrents.info/announce.php",
"https://104.28.17.69/announce",
"udp://tsundere.pw:6969/announce",
"udp://198.100.149.66:6969/announce",
"udp://51.15.41.46:6969/announce",
"udp://52.58.128.163:6969/announce",
"udp://p4p.arenabg.com:1337/announce",
"udp://tr2.ysagin.top:2710/announce",
"http://tracker810.xyz:11450/announce",
"udp://47.ip-51-68-199.eu:6969/announce",
"http://retracker.spark-rostov.ru/announce",
"udp://public.tracker.vraphim.com:6969/announce",
"http://tracker.vraphim.com:6969/announce",
"http://tr.kxmp.cf/announce",
"http://tracker1.bt.moack.co.kr:80/announce",
"http://tracker.gcvchp.com:2710/announce",
"udp://tracker.zemoj.com:6969/announce",
"udp://tr.bangumi.moe:6969/announce",
"https://tr.bangumi.moe:6969/announce",
"udp://45.76.92.209:6969/announce",
"http://tracker.internetwarriors.net:1337/announce",
"http://retracker.ohys.net/announce",
"http://tracker.etree.org:6969/announce",
"http://open.touki.ru/announce.php",
"http://p4p.arenabg.com:1337/announce",
"http://tracker.anirena.com:80/b16a15d9a238d1f59178d3614b857290/announce",
"udp://51.15.2.221:6969/announce",
"udp://tracker.internetwarriors.net:1337/announce ",
"udp://156.234.201.18:80/announce",
"http://www.legittorrents.info:80/announce.php",
"udp://tracker.internetwarriors.net:1337/announce",
"udp://tracker.filemail.com:6969/announce",
"udp://open.tracker.cl:1337/announce",
"https://tr.fuckbitcoin.xyz/announce",
"https://tr.doogh.club/announce",
"https://tr.highstar.shop/announce",
"https://t.btcland.xyz/announce",
"https://t1.tokhmi.xyz/announce",
"http://61.216.166.123:6969/announce",
"http://180.97.219.76:8070/announce",
"https://bittorrent.gongt.net/announce",
"https://tr.burnabyhighstar.com/announce",
"http://207.241.231.226:6969/announce",
"http://trackme.theom.nz/announce",
"http://51.81.200.170:6699/announce",
"https://tracker.loligirl.cn/announce",
"http://47.55.181.68:6969/announce",
"http://163.172.170.127:6969/announce",
"http://62.210.217.207:1337/announce",
"http://157.90.169.123/announce",
"http://95.217.161.135/announce",
"http://retracker.joxnet.ru/announce",
"http://217.25.93.205:2710/announce",
"https://tracker.madassnews.net/announce",
"http://tracker.ipv6tracker.org:80/announce",
"http://torrent.arjlover.net:2710/announce",
"http://retracker.joxnet.ru:80/announce",
"http://rt.optizone.ru/announce",
"http://207.241.226.111:6969/announce",
"udp://tracker.internetwarriors.net:1337/announce -",
"http://tracker.ipv6tracker.org/announce",
"http://home.yxgz.vip:6969/announce",
"http://tracker.torrentbytes.net:80/announce.php",
"udp://tracker1.bt.moack.co.kr:80/announce",
"http://fosstorrents.com:6969/announce",
"http://5.182.206.171:1096/announce",
"http://65.21.48.148:6969/announce",
"udp://37.235.174.46:2710/announce",
"http://78.30.254.12:2710/announce",
"udp://tracker4.itzmx.com:2710/announce",
"udp://retracker.lanta-net.ru:2710/announce",
"http://bithq.org:80/announce.php",
"http://bithq.org/announce.php",
"http://bt.3kb.xyz/announce",
"http://filetracker.xyz:11451/announce",
"http://big-boss-tracker.net/announce.php",
"http://bt.3kb.xyz:80/announce",
"http://156.234.201.18/announce",
"http://tracker.frozen-layer.net:6969/announce",
"http://tracker.openbittorrent.com/announce",
"udp://9.rarbg.me:2890/announce",
"udp://9.rarbg.com:2760/announce",
"udp://9.rarbg.me:2900/announce",
"udp://9.rarbg.com:2890/announce",
"udp://9.rarbg.me:2750/announce",
"udp://9.rarbg.me:2800/announce",
"udp://9.rarbg.me:2820/announce",
"udp://9.rarbg.me:2870/announce",
"udp://9.rarbg.to:2860/announce",
"http://tracker.openbittorrent.com:80/announce",
"http://bt.edwardk.info:6969/announce",
"http://217.30.10.54:6969/announce",
"http://177.62.89.89:6969/announce",
"http://91.230.210.146/announce",
"udp://tracker.yoshi210.com:6969/announce",
"udp://tracker3.itzmx.com:6961/announce",
"http://tracker3.itzmx.com:6961/announce",
"http://tracker2.itzmx.com:6961/announce",
"udp://tracker2.itzmx.com:6961/announce",
"http://tracker1.itzmx.com:8080/announce",
"udp://tracker1.itzmx.com:8080/announce",
"udp://134.209.1.127:6969/announce",
"http://tracker4.itzmx.com:2710/announce",
"http://bt.100.pet:2710/announce",
"http://datascene.net:80/announce.php",
"http://bt2.edwardk.info:6969/announce",
"http://tr.bangumi.moe:6969/announce",
"http://tracker.bz:80/announce",
"http://tracker.bz/announce",
"http://bt02.nnm-club.info:2710/announce",
"http://tracker.yoshi210.com:6969/announce",
"http://bt02.nnm-club.cc:2710/announce",
"http://ns3107607.ip-54-36-126.eu:6969/announce",
"http://bt.beatrice-raws.org/announce",
"https://tr.highstar.shop:443/announce",
"https://t.btcland.xyz:443/announce",
"https://tr.fuckbitcoin.xyz:443/announce",
"https://tr.doogh.club:443/announce",
"https://tr.burnabyhighstar.com:443/announce",
"http://54.36.126.137:6969/announce",
"https://tracker.loligirl.cn:443/announce",
"http://tracker1.torrentino.com/announce",
"http://rt.optizone.ru:80/announce",
"http://retracker.telecom.by/announce",
"udp://tracker.openbittorrent.com:80/announce",
"http://tracker.skyts.net:6969/announce",
"http://tracker.skyts.cn:6969/announce",
"http://tracker.skyts.cc:6969/announce",
"udp://tracker.skyts.net:6969/announce",
"https://tracker.vectahosting.eu:2053/announce",
"https://tracker.vectahosting.eu:8443/announce",
"https://tr.bangumi.moe:9696/announce",
"https://www.wareztorrent.com:443/announce",
"https://tracker.lilithraws.org/announce",
"https://www.wareztorrent.com/announce",
"http://www.wareztorrent.com/announce",
"udp://qg.lorzl.gq:2710/announce",
"http://www.wareztorrent.com:80/announce",
"udp://mail.moneysfast.com:6969/announce",
"http://tracker.lintk.me:2710/announce",
"udp://qg.lorzl.gq:6969/announce",
"https://tracker.nyaa.tk/announce",
"http://nyaa.tracker.wf:7777/announce",
"udp://tracker.trackerfix.com:82/announce",
"udp://9.rarbg.me:2780/announce",
"udp://9.rarbg.me:2930/announce",
"udp://151.80.120.114:2710/announce",
"udp://9.rarbg.com:2740/announce",
"udp://9.rarbg.me:2960/announce",
"udp://9.rarbg.com:2900/announce",
"udp://9.rarbg.me:2840/announce",
"udp://9.rarbg.com:2830/announce",
"udp://9.rarbg.me:2710/announce",
"udp://9.rarbg.to:2710/announce",
"http://52.70.94.249:2710/announce",
"http://tracker.mywaifu.best:6969/announce",
"http://177.68.27.127:6969/announce",
"http://tracker.nucozer-tracker.ml:2710/announce",
"http://93.88.129.16/announce",
"https://grifon.info:80/announce",
"http://bt.edwardk.info:4040/announce",
"http://45.154.253.7/announce",
"https://tr.kxmp.cf:80/announce",
"https://tracker.moxing.party:6969/announce",
"http://anidex.moe:6969/announce+ ",
"udp://tracker.edkj.club:6969/announce",
"udp://tracker.ilibr.org:80/announce",
"http://222.217.124.37:6969/announce",
"http://163.172.209.40/announce",
"http://185.185.40.51:6969/announce",
"http://open.tracker.ink:6969/announce",
"http://torrent.resonatingmedia.com:6969/announce",
"https://tracker.lilithraws.org:443/announce",
"http://carbon-bonsai-621.appspot.com/announce",
"http://51.222.84.64:1337/announce",
"http://tracker.shuntv.net/announce.php",
"http://tracker.pimp4003.net/announce",
"http://bluebird-hd.org/announce.php",
"http://www.shnflac.net/announce.php",
"http://trackers.ibzu.me/announce.php",
"http://tracker.edkj.club:6969/announce",
"http://tracker.istole.it/announce",
"http://torrent-tracker.ru/announce.php",
"http://13.234.33.230:2710/announce",
"http://tracker.kamigami.org:2710/announce",
"udp://tracker.kamigami.org:2710/announce",
"http://179.225.220.141:6969/announce",
"http://tracker.ygsub.com:6969/announce",
"http://ehtracker.org/1104308/announce",
"https://tracker.coalition.space:443/announce",
"https://tracker.coalition.space/announce",
"http://bt1.xxxxbt.cc:6969/announce",
"http://t1.leech.ie/announce",
"http://t3.leech.ie/announce",
"http://222.217.127.185:6969/announce",
"http://222.217.127.231:6969/announce",
"http://ftp.pet:7777/announce",
"https://tracker.babico.name.tr/announce",
"http://185.185.40.42:6969/announce",
"http://t2.leech.ie/announce",
"http://54.93.194.194:2710/announce",
"https://tracker.yarr.pt/announce",
"http://61.216.109.95:6969/announce",
"http://212.6.3.67/announce",
"udp://185.181.60.67:80/announce",
"http://peersteers.org/announce",
"http://45.154.253.4/announce",
"udp://tracker.swateam.org.uk:2710/announce",
"http://open.acgtracker.com:1096/announce",
"http://177.198.120.30:6969/announce",
"http://45.154.253.5/announce",
"http://45.154.253.10/announce",
"http://51.81.46.170:6969/announce",
"udp://51.81.46.170:6969/announce",
"http://opentracker.i2p.rocks:6969/announce",
"udp://opentracker.i2p.rocks:6969/announce",
"udp://ipv4.tracker.harry.lu:80/announce",
"http://tk.nvacg.org:3333/announce",
"https://o-unkusrx.cloud.okteto.net/announce",
"http://tracker.srv00.com:6969/announce",
"http://btracker.top:11451/announce",
"https://opentracker.i2p.rocks/announce",
"https://tracker.moeblog.cn/announce",
"http://tracker.hiyj.cn/announce",
"http://tracker.tyker.xyz:8080/announce",
"udp://jeremylee.sh:6969/announce",
"http://bt.endpot.com/announce",
"http://tracker.dmcomic.org:2710/announce",
"http://bt.edwardk.info:676/announce",
"http://bt.edwardk.info:12891/announce",
"http://bt.edwardk.info:6767/announce",
"http://bt.edwardk.info:63124/announce",
"http://13.234.33.230:11451/announce",
"http://52.70.94.249:11451/announce",
"http://159.69.59.237:6969/announce",
"http://95.217.167.10:6969/announce",
"http://tracker.corpscorp.online/announce",
"http://222.217.125.254:6969/announce",
"http://222.217.124.10:6969/announce",
"http://37.235.174.46:2710/announce",
"https://docker-tracker-production.up.railway.app/announce",
"http://tracker.corpscorp.online:80/announce",
"http://0d.kebhana.mx:443/announce",
"http://tracker.swarm3.network:6969/announce",
"https://opentracker.xyz/announce",
"https://opentracker.xyz:443/announce",
"https://opentracker.cc/announce",
"http://tracker.3304399.com:6969/announce",
"http://tracker.openzim.org:80/announce",
"http://222.86.118.180:6969/announce",
"http://13.234.33.230/announce",
"http://159.65.28.12:6969/announce",
"http://187.74.10.252:6969/announce",
"http://159.69.59.228:6969/announce",
"https://tr.abir.ga/announce",
"http://bt.edwardk.info:2710/announce",
"http://155.248.200.105/announce",
"http://45.154.253.8/announce",
"http://222.217.124.84:6969/announce",
"http://52.70.94.249/announce",
"http://187.74.10.162:6969/announce",
"udp://tracker.btsync.gq:2710/announce",
"http://tracker.btsync.gq:233/announce",
"https://tr.steins-gate.moe:2096/announce",
"http://54.93.194.194:11451/announce",
"udp://tr.cili001.com:8070/announce",
"https://chihaya-heroku.120181311.xyz/announce",
"http://106.32.0.202:6969/announce",
"http://201.93.125.37:6969/announce",
"http://171.105.76.170:6969/announce",
"http://171.105.76.171:6969/announce",
"https://xtremex.herokuapp.com/announce",
"udp://tracker-udp.gbitt.info/announce",
"udp://tracker-udp.anirena.com/announce",
"https://tracker.skynetcloud.site:8443/announce",
"http://bt-club.ws/announce",
"http://thetracker.org/announce",
"http://tracker.electro-torrent.pl/announce",
"https://tr.abirxo.cf/announce",
"http://222.217.127.22:6969/announce",
"http://177.198.122.153:6969/announce",
"http://222.217.127.23:6969/announce",
"https://abir0dev.github.io/announce",
"https://tr.abiir.top/announce",
"http://t.publictracker.xyz:6969/announce",
"http://ankeschwarz.net:6969/announce",
"http://34.94.213.23:2710/announce",
"http://34.89.30.59/announce",
"http://34.89.30.59:11451/announce",
"http://222.217.125.250:6969/announce",
"http://222.217.125.249:6969/announce",
"udp://atrack.pow7.com:80/announce",
"http://secure.pow7.com:443/announce",
"http://atrack.pow7.com:443/announce",
"udp://secure.pow7.com:80/announce",
"http://tracker.electro-torrent.pl:80/announce",
"udp://pow7.com:80/announce",
"http://t1.pow7.com:443/announce",
"http://t2.pow7.com:443/announce",
"udp://t1.pow7.com:80/announce",
"udp://t2.pow7.com:80/announce",
"http://tracker.bt-hash.com:80/announce",
"http://tracker.sushirave.net/announce",
"http://tracker3.itzmx.com:8080/announce",
"https://open.acgnxtracker.com:443/announce",
"http://106.14.254.164:6969/announce",
"http://111.124.84.181:6969/announce",
"http://34.94.213.23/announce",
"http://58.246.231.191:3333/announce",
"http://217.30.10.52:6969/announce",
"http://171.105.77.130:6969/announce",
"https://tracker.feb217.tk:8443/announce",
"http://54.39.98.124:80/announce",
"http://tracker.merded.xyz:8000/announce",
"http://bt2.edwardk.info:4040/announce",
"http://34.94.213.23:11451/announce",
"http://149.28.227.243:8000/announce",
"http://222.217.127.193:6969/announce",
"http://106.32.3.159:6969/announce",
"http://34.89.30.59:2710/announce",
"http://187.74.5.186:6969/announce",
"udp://opentor.org:2710/announce",
"https://opentracker.i2p.rocks:443/announce",
"http://tracker.anirena.com/b16a15d9a238d1f59178d3614b857290/announce",
"https://carapax.net/announce",
"https://tk.mabo.ltd/announce",
"http://tracker.moxing.party:6969/announce",
"http://45.154.253.5:80/announce",
"http://mkfs.ru/announce",
"http://tracker.fdn.fr:6969/announce",
"https://tracker.yarr.pt:443/announce",
"https://abir0dev.github.io:443/announce",
"https://chihaya-heroku.120181311.xyz:443/announce",
"https://tr.abiir.top:443/announce",
"https://opentracker.cc:443/announce",
"https://tr.abir.ga:443/announce",
"https://tr.abirxo.cf:443/announce",
"udp://207.241.226.111:6969/announce",
"udp://u4.trakx.crim.ist:1337/announce",
"udp://207.241.231.226:6969/announce",
"udp://tracker.babico.name.tr:8000/announce",
"udp://tracker.publictracker.xyz:6969/announce",
"udp://run.publictracker.xyz:6969/announce",
"udp://tracker.ddunlimited.net:6969/announce",
"http://tracker.hiyj.cn:80/announce",
"udp://bclearning.top:6969/announce",
"https://tracker.babico.name.tr:443/announce",
"udp://tracker.farted.net:6969/announce",
"udp://open.free-tracker.ga:6969/announce",
"udp://open.4ever.tk:6969/announce",
"udp://open.tracker.ink:6969/announce",
"udp://tracker.loadbt.com:6969/announce",
"https://tracker.quix.cf:443/announce",
"udp://tracker.merded.xyz:8000/announce",
"udp://tracker.loligirl.cn:1337/announce",
"udp://thetracker.org:80/announce",
"udp://bt.oiyo.tk:6969/announce",
"http://tracker.dm258.cn:7070/announce",
"http://tracker.filemail.com:6969/announce",
"wss://qot.abiir.top:443/announce",
"http://xtremewrestlingtorrents.net/announce.php",
"http://tracker.xfapi.top:6868/announce",
"http://tracker.xfapi.top:9999/announce",
"http://tracker.trancetraffic.com/announce.php",
"http://tracker.xfapi.top:7070/announce",
"http://torrents.hikarinokiseki.com:6969/announce",
"http://78.47.229.102:6969/announce",
"http://announce.partis.si/announce",
"http://tracker.ddunlimited.net:6969/announce",
"https://tracker.torrentsnows.com/announce",
"http://tracker.torrentbytes.net/announce.php",
"http://www.megatorrents.kg/announce.php",
"http://blackz.ro/announce.php",
"http://tracker.linkomanija.org:2710/announce",
"http://www.mvgroup.org/tracker.php/announce",
"http://mixfiend.com/announce.php",
"http://mvgforumtracker.mvgroup.org/tracker.php/announce",
"http://5.180.31.155:2710/announce",
"udp://tracker.dump.cl:6969/announce",
"http://tracker.frozen-layer.com:6969/announce",
"https://tracker1.ctix.cn/announce",
"wss://spacetradersapi-chatbox.herokuapp.com:443/announce",
"http://171.105.77.142:6969/announce",
"http://217.30.10.18:6969/announce",
"http://bt.10000.pet:2714/announce",
"http://45.154.253.6/announce",
"http://tracker3.ctix.cn:2095/announce",
"http://tracker2.ctix.cn:6969/announce",
"http://222.217.127.157:6969/announce",
"https://track.plop.pm:8989/announce",
"https://tracker.baka.ink/announce",
"http://uatracker.net/announce.php",
"udp://inferno.demonoid.is:3391/announce",
"http://uraniumhexafluori.de:1919/announce",
"https://337hhh.xyz/announce",
"http://222.217.127.97:6969/announce",
"http://bt2.edwardk.info:2710/announce",
"http://tracker.coppersurfer.site:2710/announce",
"http://anidex.moe:6969/announce+",
"https://337hhh.xyz:443/announce",
"https://tracker.moeblog.cn:443/announce",
"udp://zecircle.xyz:6969/announce",
"udp://tracker.yangxiaoguozi.cn:6969/announce",
"http://bt.iro.moe:6969/announce",
"http://torrent.unix-ag.uni-kl.de/announce",
"wss://tracker.dnlab.net:443/announce",
"https://hcbt.pp.ua/announce",
"http://milliontorrent.pl/announce.php",
"http://38.145.197.80:2710/announce",
"http://cutiegirl.ru:6969/announce",
"https://tracker.srv00.com/announce",
"https://ttk.pp.ua/announce",
"http://tracker.dler.com:6969/announce",
"udp://thetribunes.xyz:6969/announce",
"http://tracker.xiaoduola.xyz:6969/announce",
"http://fe.dealclub.de:6969/announce",
"udp://ns-1.x-fins.com:6969/announce",
"http://movies.zsw.ca:6969/announce",
"http://tracker.iro.moe/announce",
"https://hcbt.pp.ua:443/announce",
"https://tracker.baka.ink:443/announce",
"http://209.209.112.121:2710/announce",
"https://tracker.hama3.net:443/announce",
"https://tracker.hama3.net/announce",
"http://171.105.76.226:6969/announce",
"https://tracker1.520.jp/announce",
"http://tracker2.520.jp:2095/announce",
"http://tracker3.520.jp:2095/announce",
"http://337hhh.tpddns.cn:6969/announce",
"https://tracker.logirl.moe/announce",
"https://w.wwwww.wtf/announce",
"https://tracker.dmhy.pw/announce",
"https://w.wwwww.wtf:443/announce",
"https://tracker1.loli.co.nz/announce",
"http://tracker.logirl.moe:17052/announce",
"http://tracker.srv00.com/announce",
"udp://tracker.ccc.de:80/announce",
"http://tracker.kyokusai.com/announce",
"http://tracker.aeerso.space:6969/announce",
"http://retracker.ohys.net:80/announce",
"https://tracker.kyokusai.com/announce",
"http://35.227.12.84:2710/announce",
"http://167.235.245.209/announce",
"http://tracker2.ctix.cn:2095/announce",
"http://222.217.125.99:6969/announce",
"http://tracker4.itzmx.com:6961/announce",
"https://tracker.dmhy.pw:443/announce",
"https://tracker1.loli.co.nz:443/announce",
"http://open.nyap2p.com:8080/announce",
"http://i.bandito.org/announce",
"http://tracker.bittorrent-webt3.com/announce.php",
"http://tracker.srv00.com:80/announce",
"https://tracker.srv00.com:443/announce",
"https://tracker1.520.jp:443/announce",
"http://222.217.125.240:6969/announce",
"https://x7x.up.railway.app/announce",
"http://89.58.36.53:6969/announce",
"http://201.42.213.75:6969/announce",
"http://5.188.6.45:6969/announce",
"http://ns349743.ip-91-121-106.eu:80/announce",
"http://ns349743.ip-91-121-106.eu/announce",
"http://185.185.40.95:6969/announce",
"http://35.227.12.84/announce",
"http://222.217.126.11:6969/announce",
"http://189.110.233.223:6969/announce",
"udp://960303.xyz:6969/announce",
"https://x7x.up.railway.app:443/announce",
"udp://v2.iperson.xyz:6969/announce",
"http://unit193.net:6969/announce",
"http://debuz.com:6969/announce",
"http://mail.lakameraobscura.com:6969/announce",
"http://widemus.de:6969/announce",
"http://incine.ru:6969/announce",
"http://drteam.rocks:6969/announce",
"udp://open.demonii.com:1337/announce",
"http://t1.chfs.ch:6969/announce",
"http://222.217.125.244:6969/announce",
"http://tracker.bittorrent.am/announce",
"http://alltorrents.net/bt:80/announce.php",
"https://bigfoot1942.sektori.org/announce",
"http://tr.cili001.com:6666/announce",
"https://xtremex.herokuapp.com:443/announce",
"http://ns331480.ip-37-187-121.eu:6969/announce",
"http://tr.anix.moe/announce",
"https://tracker.parrotlinux.org:443/announce",
"https://cernet-tracker.appspot.com:443/announce",
"http://www.yqzuji.com:80/announce",
"http://rstracker.ohys.net:80/announce",
"https://tracker.opentracker.se:443/announce",
"http://highteahop.top:6960/announce",
"https://tracker.quix.cf/announce",
"https://tracker.expli.top/announce",
"https://tracker.4.babico.name.tr/announce",
"http://dfireworks.eu.org:6969/announce",
"https://tracker.expli.top:443/announce",
"https://tracker.4.babico.name.tr:443/announce",
"http://fireworks.eu.org:6969/announce",
"http://222.217.124.244:6969/announce",
"http://65.108.2.176:2710/announce",
"http://chouchou.top:8080/announce",
"https://tracker.sakurato.art:23334/announce",
"http://tracker.sakurato.art:23333/announce",
"https://jptv.club/announce/146fad23798fab44419ebc78d45f7b10",
"http://38.145.197.80:6961/announce",
"http://38.145.197.79:6961/announce",
"http://141.144.224.250:6969/announce",
"http://185.216.178.49:6969/announce",
"http://144.76.118.107:6969/announce",
"http://189.110.236.106:6969/announce",
"http://tracker3.ctix.cn:8080/announce",
"http://222.217.127.21:6969/announce",
"http://tracker.iro.moe:80/announce",
"http://163.172.209.40:80/announce",
"https://inferno.demonoid.is/announce",
"http://thebytestore.co.uk:6969/announce",
"http://51.68.122.172:80/announce",
"udp://chennuo.xyz:6969/announce",
"udp://laze.cc:6969/announce",
"udp://run-2.publictracker.xyz:6969/announce",
"udp://h3o2.me:1337/announce",
"udp://theodoric.fr:6969/announce",
"udp://smtp.flawcra.cc:6969/announce",
"udp://uploads.gamecoast.net:6969/announce",
"udp://www.2600.com:6969/announce",
"udp://smtp-relay.odysseylabel.com.au:6969/announce",
"udp://davidkirkevans.com:6969/announce",
"udp://qtstm32fan.ru:6969/announce",
"udp://astrr.ru:6969/announce",
"udp://bt.ktrackers.com:6666/announce",
"udp://itera.bz:6969/announce",
"udp://epider.me:6969/announce",
"udp://themaninashed.com:6969/announce",
"udp://thouvenin.cloud:6969/announce",
"udp://yann5.hexanyn.fr:6969/announce",
"udp://keke.re:6969/announce",
"udp://lloria.fr:6969/announce",
"udp://psyco.fr:6969/announce",
"udp://tracker.exorditech.com.tr:8000/announce",
"udp://mail.zasaonsk.ga:6969/announce",
"udp://cutscloud.duckdns.org:6969/announce",
"udp://shizzle.hammetjus.nl:6969/announce",
"udp://chouchou.top:8080/announce",
"udp://new-line.net:6969/announce",
"udp://rep-art.ynh.fr:6969/announce",
"udp://k1.com.br:6969/announce",
"udp://ben.kerbertools.xyz:6969/announce",
"udp://black-bird.ynh.fr:6969/announce",
"udp://transkaroo.joustasie.net:6969/announce",
"udp://tamas3.ynh.fr:6969/announce",
"udp://fh2.cmp-gaming.com:6969/announce",
"udp://sanincode.com:6969/announce",
"udp://htz3.noho.st:6969/announce",
"udp://yahor.ftp.sh:6969/announce",
"udp://isk.richardsw.club:6969/announce",
"https://tracker.dnlab.net/announce",
"http://171.107.11.161:6969/announce",
"http://191.254.37.5:6969/announce",
"http://171.104.110.21:6969/announce",
"http://tracker.nyacat.pw:7000/announce.php",
"http://119.28.71.45:8080/announce",
"http://201.95.48.16:6969/announce",
"http://185.232.169.109/announce",
"http://116.9.207.160:6969/announce",
"https://t.quic.ws:443/announce",
"https://evening-badlands-6215.herokuapp.com/announce",
"http://alpha.torrenttracker.nl:443/announce",
"http://peersteers.org:80/announce",
"http://servandroidkino.ru/announce",
"udp://torrents.artixlinux.org:6969/announce",
"udp://tracker.tcp.exchange:6969/announce",
"udp://moonburrow.club:6969/announce",
"udp://tracker.4.babico.name.tr:3131/announce",
"https://zer0day.000webhostapp.com/announce",
"https://tracker1.ctix.cn:443/announce",
"udp://tracker.army:6969/announce",
"https://t.quic.ws/announce",
"http://179.100.89.65:6969/announce",
"https://tracker.m-team.cc/announce.php"
];
const debug = createDebug("anime:torrent");
class TorrentClient {
constructor(folder) {
this.client = new Webtorrent({});
this.folder = folder;
this.client.setMaxListeners(25);
}
async download(downloadTasks) {
debug(downloadTasks);
const formatSize = (size) => (size / 1024 / 1024).toFixed(1) + " MB";
const multibar = createProgressBar({
suffix(value, total, payload) {
const progress = `${formatSize(value)} / ${formatSize(total)}`;
const speed = payload.speed ? " | Speed: " + formatSize(payload.speed) + "/s" : "";
return progress + speed;
}
});
const tasks = downloadTasks.map((downloadTask) => {
if (downloadTask.filename) {
co