mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-06 03:50:26 +02:00
Fix infohash with object storage
This commit is contained in:
parent
6f9719b568
commit
fb72d2e1c2
5 changed files with 43 additions and 1 deletions
27
shared/extra-utils/server/tracker.ts
Normal file
27
shared/extra-utils/server/tracker.ts
Normal file
|
@ -0,0 +1,27 @@
|
|||
import { expect } from 'chai'
|
||||
import { sha1 } from '@server/helpers/core-utils'
|
||||
import { makeGetRequest } from '../requests'
|
||||
|
||||
async function hlsInfohashExist (serverUrl: string, masterPlaylistUrl: string, fileNumber: number) {
|
||||
const path = '/tracker/announce'
|
||||
|
||||
const infohash = sha1(`2${masterPlaylistUrl}+V${fileNumber}`)
|
||||
|
||||
// From bittorrent-tracker
|
||||
const infohashBinary = escape(Buffer.from(infohash, 'hex').toString('binary')).replace(/[@*/+]/g, function (char) {
|
||||
return '%' + char.charCodeAt(0).toString(16).toUpperCase()
|
||||
})
|
||||
|
||||
const res = await makeGetRequest({
|
||||
url: serverUrl,
|
||||
path,
|
||||
rawQuery: `peer_id=-WW0105-NkvYO/egUAr4&info_hash=${infohashBinary}&port=42100`,
|
||||
expectedStatus: 200
|
||||
})
|
||||
|
||||
expect(res.text).to.not.contain('failure')
|
||||
}
|
||||
|
||||
export {
|
||||
hlsInfohashExist
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue