diff --git a/package.json b/package.json index 4c2758567..4c7f43dc8 100644 --- a/package.json +++ b/package.json @@ -107,6 +107,7 @@ "@opentelemetry/sdk-trace-base": "^1.15.1", "@opentelemetry/sdk-trace-node": "^1.15.1", "@opentelemetry/semantic-conventions": "^1.15.1", + "@peertube/bittorrent-tracker-server": "^11.1.2", "@peertube/feed": "^5.1.3", "@peertube/http-signature": "^1.7.0", "@smithy/node-http-handler": "^3.1.0", @@ -115,7 +116,6 @@ "async-mutex": "^0.5.0", "bcrypt": "5.1.1", "bencode": "^4.0.0", - "bittorrent-tracker": "^11.0.1", "bluebird": "^3.5.0", "bullmq": "^5.3.0", "bytes": "^3.0.0", @@ -181,7 +181,7 @@ "useragent": "^2.3.0", "validator": "^13.0.0", "webfinger.js": "^2.6.6", - "webtorrent": "^2.1.27", + "webtorrent": "2.1.27", "winston": "3.13.0", "ws": "^8.0.0", "yauzl": "^3.1.0" diff --git a/server/core/controllers/tracker.ts b/server/core/controllers/tracker.ts index e8d29f976..dbcc884d2 100644 --- a/server/core/controllers/tracker.ts +++ b/server/core/controllers/tracker.ts @@ -1,4 +1,4 @@ -import { Server as TrackerServer } from 'bittorrent-tracker' +import { Server as TrackerServer } from '@peertube/bittorrent-tracker-server' import express from 'express' import { createServer } from 'http' import { LRUCache } from 'lru-cache' diff --git a/yarn.lock b/yarn.lock index b541c3341..aec516970 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1673,6 +1673,26 @@ dependencies: "@opentelemetry/core" "^1.1.0" +"@peertube/bittorrent-tracker-server@^11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@peertube/bittorrent-tracker-server/-/bittorrent-tracker-server-11.1.2.tgz#974a2b55e4fa92ac0f07783e209a4a431861ea29" + integrity sha512-PGKk9dAUVZwDUaGFsGFWwEEDY9C2biBXAkp4kQLnzqhGKw9Kesp5+Tug5rlb5IOpsnKei+DnA5n7XjAQ2xYVCA== + dependencies: + bencode "^4.0.0" + bittorrent-peerid "^1.3.6" + debug "^4.3.4" + ip "^2.0.1" + lru "^3.1.0" + random-iterate "^1.0.1" + run-series "^1.1.9" + string2compact "^2.0.1" + uint8-util "^2.2.5" + unordered-array-remove "^1.0.2" + ws "^8.17.0" + optionalDependencies: + bufferutil "^4.0.8" + utf-8-validate "^6.0.4" + "@peertube/feed@^5.1.3": version "5.1.3" resolved "https://registry.yarnpkg.com/@peertube/feed/-/feed-5.1.3.tgz#ebf7ae180f0b3b0f14aea8dc8a980cd2a6091f2c" @@ -2249,35 +2269,36 @@ dependencies: defer-to-connect "^2.0.1" -"@thaunknown/idb-chunk-store@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@thaunknown/idb-chunk-store/-/idb-chunk-store-1.0.2.tgz#7b8801003bf1223926e9cb196c7165aa090a5b0f" - integrity sha512-UdKshbKdHDP+p0XPdv55QiU/scdB9TzvovGFSgXThf+7Yd3noLeYp6KpkYyc1jzUXvI3/8+TemPeASOimrOXvw== +"@thaunknown/idb-chunk-store@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@thaunknown/idb-chunk-store/-/idb-chunk-store-1.0.4.tgz#901c0c51a07c0c91e50da681c8179f57f384fe72" + integrity sha512-4/XDQZHKHyJCGeqnVjHyqeAXClZJ9l90rRvoTslUiuvwTGAUpIb3poL0LfGJEdSuWV+zzGdDjIm/3L4x6crwbg== dependencies: - idb "^6.1.2" + idb "^7.1.1" queue-microtask "^1.2.3" -"@thaunknown/simple-peer@^10.0.6", "@thaunknown/simple-peer@^10.0.7": - version "10.0.7" - resolved "https://registry.yarnpkg.com/@thaunknown/simple-peer/-/simple-peer-10.0.7.tgz#7c0407a12c92bf185b4b244df380390a19593ee0" - integrity sha512-b4oPNaJEWk9UT/ADV8IFWcAyow+gOPLa73SptuOqm6IdMDr4zlsqGsdl4LQmvgMKMgWAOHdVViw/RYF5qYvkCg== +"@thaunknown/simple-peer@^9.12.1": + version "9.12.1" + resolved "https://registry.yarnpkg.com/@thaunknown/simple-peer/-/simple-peer-9.12.1.tgz#c712335a1043f85ac305a54c8c33abc181e26c74" + integrity sha512-IS5BXvXx7cvBAzaxqotJf4s4rJCPk5JABLK6Gbnn7oAmWVcH4hYABabBBrvvJtv/xyUqR4v/H3LalnGRJJfEog== dependencies: - debug "^4.3.4" + debug "^4.3.2" err-code "^3.0.1" - streamx "^2.16.1" - uint8-util "^2.2.5" - webrtc-polyfill "^1.1.6" - -"@thaunknown/simple-websocket@^9.1.1": - version "9.1.1" - resolved "https://registry.yarnpkg.com/@thaunknown/simple-websocket/-/simple-websocket-9.1.1.tgz#5f94a29c3d46ee841044db6b1681368014b39682" - integrity sha512-vzQloFWRodRZqZhpxMpBljFtISesY8TihA8T5uKwCYdj2I1ImMhE/gAeTCPsCGOtxJfGKu3hw/is6MXauWLjOg== - dependencies: - debug "^4.3.4" + get-browser-rtc "^1.1.0" queue-microtask "^1.2.3" streamx "^2.13.2" uint8-util "^2.1.9" - ws "^8.12.0" + +"@thaunknown/simple-websocket@^9.1.0": + version "9.1.3" + resolved "https://registry.yarnpkg.com/@thaunknown/simple-websocket/-/simple-websocket-9.1.3.tgz#843065027c6cf4470fb08ca78dbf9e48afc56ea6" + integrity sha512-pf/FCJsgWtLJiJmIpiSI7acOZVq3bIQCpnNo222UFc8Ph1lOUOTpe6LoYhhiOSKB9GUaWJEVUtZ+sK1/aBgU5Q== + dependencies: + debug "^4.3.5" + queue-microtask "^1.2.3" + streamx "^2.17.0" + uint8-util "^2.2.5" + ws "^8.17.1" "@thaunknown/thirty-two@^1.0.3": version "1.0.3" @@ -3450,18 +3471,18 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bitfield@^4.0.0, bitfield@^4.1.0, bitfield@^4.2.0: +bitfield@^4.0.0, bitfield@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/bitfield/-/bitfield-4.2.0.tgz#fecb620bbe38e16526fbb62048f6c4af712ace91" integrity sha512-kUTatQb/mBd8uhvdLrUkouGDBUQiJaIOvPlptUwOWp6MFqih4d1MiVf0m3ATxfZSzu+LjW/awFeABltYa62uIA== -bittorrent-dht@^11.0.6: - version "11.0.6" - resolved "https://registry.yarnpkg.com/bittorrent-dht/-/bittorrent-dht-11.0.6.tgz#48178419b1cd248d1fd0c3bea8baee4616de08ce" - integrity sha512-iDScIyLDKuuXOSIlPIxnvzH3llqatVkugjn3CSPPpjcHO+4dyahHiiPRpzR39k4l9qW79YAbI/AzSjNWoLchHQ== +bittorrent-dht@^11.0.5: + version "11.0.7" + resolved "https://registry.yarnpkg.com/bittorrent-dht/-/bittorrent-dht-11.0.7.tgz#25cb8e1bc4156eaad53a818a904edf3caacc81e1" + integrity sha512-jDlEtF+KSObXvvwhrTHE1mxX+aIrsiRRfYyEAdjYa+FqnxwUIYBbw/CnCfNMu5kWlfu/sQ2qK8+CuBjMSM6z3g== dependencies: bencode "^4.0.0" - debug "^4.3.5" + debug "^4.3.6" k-bucket "^5.1.0" k-rpc "^5.1.0" last-one-wins "^1.0.4" @@ -3477,64 +3498,55 @@ bittorrent-lsd@^2.0.0: chrome-dgram "^3.0.6" debug "^4.2.0" -bittorrent-peerid@^1.3.6: +bittorrent-peerid@^1.3.3, bittorrent-peerid@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/bittorrent-peerid/-/bittorrent-peerid-1.3.6.tgz#3688705a64937a8176ac2ded1178fc7bd91b61db" integrity sha512-VyLcUjVMEOdSpHaCG/7odvCdLbAB1y3l9A2V6WIje24uV7FkJPrQrH/RrlFmKxP89pFVDEnE+YlHaFujlFIZsg== -bittorrent-protocol@^4.1.12: - version "4.1.12" - resolved "https://registry.yarnpkg.com/bittorrent-protocol/-/bittorrent-protocol-4.1.12.tgz#bf8246e789e653fca667fe131a3534c580d6debf" - integrity sha512-peyUDP5NQaiPSau24jCpPhLfDFCCK1DUE0N5xlJSPVIkgQmsVLi62N/Lm++pUNrBenfnhf6WKQo0nyN6x5dufQ== +bittorrent-protocol@^4.1.11: + version "4.1.14" + resolved "https://registry.yarnpkg.com/bittorrent-protocol/-/bittorrent-protocol-4.1.14.tgz#e312c83db9c47decd818964a9292c571af642d24" + integrity sha512-vChtr7L/cG5b2TQgdDMzJ79TjSX+whuC8NfgoLcjXKINJVXECWkqVaRveAo50Oa+53Mo4Nw54IlTnhOZFwlVEg== dependencies: bencode "^4.0.0" bitfield "^4.1.0" - debug "^4.3.5" + debug "^4.3.6" rc4 "^0.1.5" streamx "^2.15.1" throughput "^1.0.1" - uint8-util "^2.2.2" + uint8-util "^2.2.5" unordered-array-remove "^1.0.2" -bittorrent-tracker@^11.0.1, bittorrent-tracker@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-11.1.0.tgz#1cf483d670a758fe3d8ac5509d545ae6da4f7c03" - integrity sha512-WKIIy1wVxFiKro5noDldW8W4C4xCjl8gHvZcG0LWM40J6VZOf7gXdrdB2/GI55+JAgrph8NGsZUeusbyzlbiQQ== +bittorrent-tracker@^10.0.12: + version "10.0.12" + resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-10.0.12.tgz#084fb250317f69033f5f1c4ed6a9cddf6b9acf61" + integrity sha512-EYQEwhOYkrRiiwkCFcM9pbzJInsAe7UVmUgevW133duwlZzjwf5ABwDE7pkkmNRS6iwN0b8LbI/94q16dYqiow== dependencies: - "@thaunknown/simple-peer" "^10.0.6" - "@thaunknown/simple-websocket" "^9.1.1" + "@thaunknown/simple-peer" "^9.12.1" + "@thaunknown/simple-websocket" "^9.1.0" bencode "^4.0.0" - bittorrent-peerid "^1.3.6" + bittorrent-peerid "^1.3.3" chrome-dgram "^3.0.6" - clone "^2.1.2" + clone "^2.0.0" compact2string "^1.4.1" - cross-fetch-ponyfill "^1.0.3" - debug "^4.3.4" - ip "^2.0.1" + debug "^4.1.1" + ip "^1.1.5" lru "^3.1.0" - minimist "^1.2.8" + minimist "^1.2.5" once "^1.4.0" queue-microtask "^1.2.3" random-iterate "^1.0.1" run-parallel "^1.2.0" run-series "^1.1.9" - socks "^2.8.3" - string2compact "^2.0.1" - uint8-util "^2.2.5" + simple-get "^4.0.0" + socks "^2.0.0" + string2compact "^2.0.0" + uint8-util "^2.1.9" unordered-array-remove "^1.0.2" - ws "^8.17.0" + ws "^8.0.0" optionalDependencies: - bufferutil "^4.0.8" - utf-8-validate "^6.0.4" - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" + bufferutil "^4.0.3" + utf-8-validate "^5.0.5" block-iterator@^1.1.1: version "1.1.1" @@ -3644,7 +3656,7 @@ buffer@5.6.0: base64-js "^1.0.2" ieee754 "^1.1.4" -buffer@^5.2.0, buffer@^5.2.1, buffer@^5.5.0: +buffer@^5.2.0, buffer@^5.2.1: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -3660,7 +3672,7 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -bufferutil@^4.0.8: +bufferutil@^4.0.3, bufferutil@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== @@ -3914,11 +3926,6 @@ chokidar@^3.4.2: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - chownr@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" @@ -3999,7 +4006,7 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" -clone@^2.1.2: +clone@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== @@ -4264,7 +4271,7 @@ crc32-stream@^6.0.0: crc-32 "^1.2.0" readable-stream "^4.0.0" -create-torrent@^6.0.15, create-torrent@^6.0.17: +create-torrent@^6.0.15: version "6.0.17" resolved "https://registry.yarnpkg.com/create-torrent/-/create-torrent-6.0.17.tgz#89bb85dc177ccb51a3e2b4abde79246f733e06ce" integrity sha512-GGrNP1mu3WSyJHyo+x6AnJlQWW7bbyUfoEDFfo/U2kpeTVYRCgWdQC4/sq4oreltpMTEP8UUB3U3niHIgLU/gQ== @@ -4430,6 +4437,13 @@ debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.3.6: + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + dependencies: + ms "2.1.2" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -4799,7 +4813,7 @@ encoding-japanese@2.1.0: resolved "https://registry.yarnpkg.com/encoding-japanese/-/encoding-japanese-2.1.0.tgz#5d3c2b652c84ca563783b86907bf5cdfe9a597e2" integrity sha512-58XySVxUgVlBikBTbQ8WdDxBDHIdXucB16LO5PBHR8t75D54wQrNo4cg+58+R1CtJfKnsVsvt9XlteRaR8xw1w== -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -5369,11 +5383,6 @@ exif-parser@^0.1.12: resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922" integrity sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw== -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" @@ -5756,11 +5765,6 @@ fs-chunk-store@^4.1.0: run-parallel "^1.1.2" thunky "^1.0.1" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - fs-extra@^11.1.0: version "11.2.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" @@ -5837,6 +5841,11 @@ gauge@^3.0.0: strip-ansi "^6.0.1" wide-align "^1.1.2" +get-browser-rtc@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz#d1494e299b00f33fc8e9d6d3343ba4ba99711a2c" + integrity sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ== + get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -5929,11 +5938,6 @@ gifwrap@^0.10.1: image-q "^4.0.0" omggif "^1.0.10" -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== - glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -6304,12 +6308,12 @@ human-signals@^7.0.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-7.0.0.tgz#93e58e0c19cfec1dded4af10cd4969f5ab75f6c8" integrity sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q== -hybrid-chunk-store@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/hybrid-chunk-store/-/hybrid-chunk-store-1.2.4.tgz#1f4692a204312b59a1aa355b2b002e59de3b4afe" - integrity sha512-wLVIU7rDAz0bQ9sOVwqNWV44A+yAitm+yw66vilkIhZ7V1lVQtiZBQ98YF4vr8rmbqnysgW+pW/PZ1UQtnQCCA== +hybrid-chunk-store@^1.2.2: + version "1.2.6" + resolved "https://registry.yarnpkg.com/hybrid-chunk-store/-/hybrid-chunk-store-1.2.6.tgz#161f506bc49899c03937cfc2e2b0946a5bcc8eac" + integrity sha512-D8DkY6FT+exjw4b6uQ8z5QfUokcIb0YYPHaa/zpBdFIoS1CS7mjM4wnd2mGoo2XUeM5Y10C23AXOQRExoifPbA== dependencies: - "@thaunknown/idb-chunk-store" "^1.0.2" + "@thaunknown/idb-chunk-store" "^1.0.4" cache-chunk-store "^3.2.2" fsa-chunk-store "^1.1.5" memory-chunk-store "^1.3.5" @@ -6356,10 +6360,10 @@ iconv-lite@0.6.3: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -idb@^6.1.2: - version "6.1.5" - resolved "https://registry.yarnpkg.com/idb/-/idb-6.1.5.tgz#dbc53e7adf1ac7c59f9b2bf56e00b4ea4fce8c7b" - integrity sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw== +idb@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b" + integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" @@ -7347,10 +7351,10 @@ lru@^3.1.0: dependencies: inherits "^2.0.1" -lt_donthave@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/lt_donthave/-/lt_donthave-2.0.1.tgz#ad72b74d27f88d0f1e95a32ae5994713837e6ee7" - integrity sha512-GhiKG7CGTXzOQq56tIx40Ae26EbrgBq1owuuPqgCTaJDQYO1qW5G+YGaurOLx7s+Aaeta8MputrVFDr0kuiogg== +lt_donthave@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lt_donthave/-/lt_donthave-2.0.2.tgz#17b978aa76ff4907d972c9012b1ad13500fbb7ef" + integrity sha512-rSEms3KNO7PnAbPwj+vWK6tg/ZafQE7yYJ9Gr9IyjaCJsopa6PYPspnhlmEFLlRwSd1wfZ1jLCR6Km3lThVLIg== dependencies: debug "^4.2.0" unordered-array-remove "^1.0.2" @@ -7623,7 +7627,7 @@ minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" -minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6, minimist@^1.2.8: +minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -7653,11 +7657,6 @@ minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - mkdirp@^0.5.4: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -7828,11 +7827,6 @@ nanoid@^3.3.7: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - napi-macros@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.2.2.tgz#817fef20c3e0e40a963fbf7b37d1600bd0201044" @@ -7881,13 +7875,6 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -node-abi@^3.3.0: - version "3.65.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.65.0.tgz#ca92d559388e1e9cab1680a18c1a18757cdac9d3" - integrity sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA== - dependencies: - semver "^7.3.5" - node-abort-controller@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" @@ -7908,24 +7895,11 @@ node-cleanup@^2.1.2: resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c" integrity sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw== -node-datachannel@0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/node-datachannel/-/node-datachannel-0.9.1.tgz#73b63f8ce8e75e9a3bc3cc1a25baa5b097b962dd" - integrity sha512-b6Uc6YN5We2/aZA6QGicxSdWUDSwlR+vcO/Dn44BY5gieF3AOwsL/zPD+Ril+1KvYDwVJkVbRIovbG76E4PpwA== - dependencies: - node-domexception "^2.0.1" - prebuild-install "^7.0.1" - node-domexception@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-2.0.1.tgz#83b0d101123b5bbf91018fd569a58b88ae985e5b" - integrity sha512-M85rnSC7WQ7wnfQTARPT4LrK7nwCHLdDFOCcItZMhTQjyCebJH8GciKqYJNgaOFZs9nFmTmd/VMyi3OW5jA47w== - node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" @@ -8340,7 +8314,7 @@ parse-srcset@^1.0.2: resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1" integrity sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q== -parse-torrent@^11.0.14, parse-torrent@^11.0.16: +parse-torrent@^11.0.14: version "11.0.16" resolved "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-11.0.16.tgz#839abce12c3c376f08516b8608a551154963b99c" integrity sha512-5GoOdmW0HpiB78aQpBz8/5V3V1LjBRDNiL7DOs33pKeCLOzFnfMrsRD6CYmaUBT5Vi/dXE0hfePsjDGJSMF48w== @@ -8674,24 +8648,6 @@ postgres-range@^1.1.1: resolved "https://registry.yarnpkg.com/postgres-range/-/postgres-range-1.1.4.tgz#a59c5f9520909bcec5e63e8cf913a92e4c952863" integrity sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== -prebuild-install@^7.0.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.2.tgz#a5fd9986f5a6251fbc47e1e5c65de71e68c0a056" - integrity sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ== - dependencies: - detect-libc "^2.0.0" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^3.3.0" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^4.0.0" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9029,7 +8985,7 @@ rc4@^0.1.5: resolved "https://registry.yarnpkg.com/rc4/-/rc4-0.1.5.tgz#08c6e04a0168f6eb621c22ab6cb1151bd9f4a64d" integrity sha512-xdDTNV90z5x5u25Oc871Xnvu7yAr4tV7Eluh0VSvrhUkry39q1k+zkz7xroqHbRq+8PiazySHJPArqifUvz9VA== -rc@^1.2.7, rc@^1.2.8: +rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -9086,7 +9042,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -9692,7 +9648,7 @@ socket.io@^4.5.4: socket.io-adapter "~2.5.2" socket.io-parser "~4.2.4" -socks@^2.8.3: +socks@^2.0.0: version "2.8.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== @@ -9847,7 +9803,7 @@ streamsearch@^1.1.0: resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== -streamx@^2.10.3, streamx@^2.13.2, streamx@^2.15.0, streamx@^2.15.1, streamx@^2.16.1, streamx@^2.18.0: +streamx@^2.10.3, streamx@^2.13.2, streamx@^2.15.0, streamx@^2.15.1, streamx@^2.17.0, streamx@^2.18.0: version "2.18.0" resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.18.0.tgz#5bc1a51eb412a667ebfdcd4e6cf6a6fc65721ac7" integrity sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ== @@ -9923,7 +9879,7 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string2compact@^2.0.1: +string2compact@^2.0.0, string2compact@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/string2compact/-/string2compact-2.0.1.tgz#a640e70413e8875c3fc34de6184f57abe8b34868" integrity sha512-Bm/T8lHMTRXw+u83LE+OW7fXmC/wM+Mbccfdo533ajSBNxddDHlRrvxE49NdciGHgXkUQM5WYskJ7uTkbBUI0A== @@ -10077,27 +10033,6 @@ swagger-cli@^4.0.2: dependencies: "@apidevtools/swagger-cli" "4.0.4" -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - tar-stream@^3.0.0: version "3.1.7" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.1.7.tgz#24b3fb5eabada19fe7338ed6d26e5f7c482e792b" @@ -10285,15 +10220,15 @@ toposort-class@^1.0.1: resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988" integrity sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg== -torrent-discovery@^11.0.6: - version "11.0.6" - resolved "https://registry.yarnpkg.com/torrent-discovery/-/torrent-discovery-11.0.6.tgz#c8dfc03f4a8c51c5aba78e7abd91d33806ebf88c" - integrity sha512-9gnsBZLuOzbWlTIv0lx3pjmZ2Bj4WZfY06iO9AXKiNxA7/k508CWIE80PojYsgsR9SyjDkIVfnHLyJOgnDycvQ== +torrent-discovery@^10.0.16: + version "10.0.16" + resolved "https://registry.yarnpkg.com/torrent-discovery/-/torrent-discovery-10.0.16.tgz#e9f5948201ecf1ffeb04923760b4543168aa35df" + integrity sha512-HUvCgL3JAyk9VKUfFBOD7Fx/MWVNmjiCjaEOEc6P7ijm2BpPWpdjlXydP+/12f/NB3T4ItuyMjcGdPseGGjNTw== dependencies: - bittorrent-dht "^11.0.6" + bittorrent-dht "^11.0.5" bittorrent-lsd "^2.0.0" - bittorrent-tracker "^11.1.0" - debug "^4.3.5" + bittorrent-tracker "^10.0.12" + debug "^4.3.4" run-parallel "^1.2.0" torrent-piece@^3.0.0: @@ -10358,13 +10293,6 @@ tsx@^4.7.1: optionalDependencies: fsevents "~2.3.3" -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - tv4@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963" @@ -10559,6 +10487,13 @@ ut_pex@^4.0.4: compact2string "^1.4.1" string2compact "^2.0.1" +utf-8-validate@^5.0.5: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + utf-8-validate@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-6.0.4.tgz#1305a1bfd94cecb5a866e6fc74fd07f3ed7292e5" @@ -10675,43 +10610,35 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webrtc-polyfill@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/webrtc-polyfill/-/webrtc-polyfill-1.1.6.tgz#6846f57c502a7446b4ec539318328185031778d4" - integrity sha512-sB9m4P5ZF6Af1zNiMc/jW+PMVtvPSRuE3f0FNhje5iplljZ5mAUTUtZTdaoi+l5Z17/ePQinJbNDfT+YzB6fdQ== - dependencies: - node-datachannel "0.9.1" - node-domexception "^1.0.0" - -webtorrent@^2.1.27: - version "2.4.1" - resolved "https://registry.yarnpkg.com/webtorrent/-/webtorrent-2.4.1.tgz#2b017c41416107333cf8baf691b295ffd83edbbd" - integrity sha512-9/WTMFaAAbfopNQiGK5rD7ZJJTdPwOrl/T6izTWVEk56+cJdtZBz9FelMnwnS4Q7rqFKoEYuonzi+ig0nXjYsA== +webtorrent@2.1.27: + version "2.1.27" + resolved "https://registry.yarnpkg.com/webtorrent/-/webtorrent-2.1.27.tgz#a6748edd1ea43da7e5f9f3645fc327e45dcf2d55" + integrity sha512-LkAcAOReF82MH9hB64m8xTxTPFHc6cqVGE0Kg9Icpp697wc/rCQbiTtuoOGSzs4u6sMoGRc21iqoktrUq70Zyg== dependencies: "@silentbot1/nat-api" "^0.4.7" - "@thaunknown/simple-peer" "^10.0.7" + "@thaunknown/simple-peer" "^9.12.1" "@webtorrent/http-node" "^1.3.0" addr-to-ip-port "^2.0.0" - bitfield "^4.2.0" - bittorrent-dht "^11.0.6" - bittorrent-protocol "^4.1.12" + bitfield "^4.1.0" + bittorrent-dht "^11.0.5" + bittorrent-protocol "^4.1.11" cache-chunk-store "^3.2.2" chunk-store-iterator "^1.0.3" cpus "^1.0.3" - create-torrent "^6.0.17" + create-torrent "^6.0.15" cross-fetch-ponyfill "^1.0.3" - debug "^4.3.5" + debug "^4.3.4" escape-html "^1.0.3" fs-chunk-store "^4.1.0" - hybrid-chunk-store "^1.2.4" + hybrid-chunk-store "^1.2.2" immediate-chunk-store "^2.2.0" join-async-iterator "^1.1.1" load-ip-set "^3.0.1" - lt_donthave "^2.0.1" + lt_donthave "^2.0.0" memory-chunk-store "^1.3.5" mime "^3.0.0" once "^1.4.0" - parse-torrent "^11.0.16" + parse-torrent "^11.0.14" pump "^3.0.0" queue-microtask "^1.2.3" random-iterate "^1.0.1" @@ -10719,11 +10646,11 @@ webtorrent@^2.1.27: run-parallel "^1.2.0" run-parallel-limit "^1.1.0" speed-limiter "^1.0.2" - streamx "^2.16.1" + streamx "^2.15.1" throughput "^1.0.1" - torrent-discovery "^11.0.6" + torrent-discovery "^10.0.16" torrent-piece "^3.0.0" - uint8-util "^2.2.5" + uint8-util "^2.2.4" unordered-array-remove "^1.0.2" ut_metadata "^4.0.3" ut_pex "^4.0.4" @@ -10902,11 +10829,16 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@^8.0.0, ws@^8.12.0, ws@^8.13.0, ws@^8.17.0, ws@~8.17.1: +ws@^8.0.0, ws@^8.13.0, ws@^8.17.0, ws@~8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== +ws@^8.17.1: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + xhr2@0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.2.1.tgz#4e73adc4f9cfec9cbd2157f73efdce3a5f108a93"