X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftools%2Fpeertube-auth.ts;h=6a0b89fe27f7bc455192175d565448db58207a6d;hb=2f03d6dc5e1ff6a8f28cba566f56e72bfb9f3fc8;hp=6b486e57512dce0161b65924322d5197bb796df6;hpb=7cd1b12c19d0589d1d692ed0571ca0800f028aea;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tools/peertube-auth.ts b/server/tools/peertube-auth.ts index 6b486e575..6a0b89fe2 100644 --- a/server/tools/peertube-auth.ts +++ b/server/tools/peertube-auth.ts @@ -28,7 +28,7 @@ async function delInstance (url: string) { async function setInstance (url: string, username: string, password: string, isDefault: boolean) { const [ settings, netrc ] = await Promise.all([ getSettings(), getNetrc() ]) - if (settings.remotes.indexOf(url) === -1) { + if (settings.remotes.includes(url) === false) { settings.remotes.push(url) } @@ -46,6 +46,15 @@ function isURLaPeerTubeInstance (url: string) { return url.startsWith('http://') || url.startsWith('https://') } +function stripExtraneousFromPeerTubeUrl (url: string) { + // Get everything before the 3rd /. + const urlLength = url.includes('/', 8) + ? url.indexOf('/', 8) + : url.length + + return url.substr(0, urlLength) +} + program .name('auth') .usage('[command] [options]') @@ -80,8 +89,13 @@ program } } }, async (_, result) => { + // Check credentials try { + // Strip out everything after the domain:port. + // @see https://github.com/Chocobozzz/PeerTube/issues/3520 + result.url = stripExtraneousFromPeerTubeUrl(result.url) + await getAccessToken(result.url, result.username, result.password) } catch (err) { console.error(err.message) @@ -133,7 +147,7 @@ program .description('set an existing entry as default') .action(async url => { const settings = await getSettings() - const instanceExists = settings.remotes.indexOf(url) !== -1 + const instanceExists = settings.remotes.includes(url) if (instanceExists) { settings.default = settings.remotes.indexOf(url) @@ -149,10 +163,10 @@ program program.on('--help', function () { console.log(' Examples:') console.log() - console.log(' $ peertube add -u https://peertube.cpy.re -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD"') - console.log(' $ peertube add -u https://peertube.cpy.re -U root') - console.log(' $ peertube list') - console.log(' $ peertube del https://peertube.cpy.re') + console.log(' $ peertube auth add -u https://peertube.cpy.re -U "PEERTUBE_USER" --password "PEERTUBE_PASSWORD"') + console.log(' $ peertube auth add -u https://peertube.cpy.re -U root') + console.log(' $ peertube auth list') + console.log(' $ peertube auth del https://peertube.cpy.re') console.log() })