X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=server%2Flib%2Factivitypub%2Fcrawl.ts;h=0ba59b47dde4c0c90e7d133ab2333f756bdaf27a;hb=c0e71e849a40871ed8eea3dacd8608d380bdb490;hp=ba5b67beeedb0bd795e4c686db43dc56de892c48;hpb=74dc3bca2b14f5fd3fe80c394dfc34177a46db77;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/activitypub/crawl.ts b/server/lib/activitypub/crawl.ts index ba5b67bee..0ba59b47d 100644 --- a/server/lib/activitypub/crawl.ts +++ b/server/lib/activitypub/crawl.ts @@ -1,8 +1,10 @@ -import { ACTIVITY_PUB, JOB_REQUEST_TIMEOUT } from '../../initializers/constants' +import { ACTIVITY_PUB, JOB_REQUEST_TIMEOUT, WEBSERVER } from '../../initializers/constants' import { doRequest } from '../../helpers/requests' import { logger } from '../../helpers/logger' import * as Bluebird from 'bluebird' import { ActivityPubOrderedCollection } from '../../../shared/models/activitypub' +import { checkUrlsSameHost } from '../../helpers/activitypub' +import { parse } from "url" type HandlerFunction = (items: T[]) => (Promise | Bluebird) type CleanerFunction = (startedDate: Date) => (Promise | Bluebird) @@ -27,6 +29,10 @@ async function crawlCollectionPage (uri: string, handler: HandlerFunction let i = 0 let nextLink = firstBody.first while (nextLink && i < limit) { + // Don't crawl ourselves + const remoteHost = parse(nextLink).host + if (remoteHost === WEBSERVER.HOST) continue + options.uri = nextLink const { body } = await doRequest>(options)