diff --git a/src/config/types.ts b/src/config/types.ts index 5c2b55428..3074cecab 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -62,6 +62,8 @@ export type Source = { */ ghost?: string; + proxy?: string; + summalyProxy?: string; accesslog?: string; diff --git a/src/remote/activitypub/resolver.ts b/src/remote/activitypub/resolver.ts index ff2697175..8ec0d125a 100644 --- a/src/remote/activitypub/resolver.ts +++ b/src/remote/activitypub/resolver.ts @@ -51,6 +51,7 @@ export default class Resolver { const object = await request({ url: value, + proxy: config.proxy, timeout: this.timeout, headers: { 'User-Agent': config.user_agent, diff --git a/src/server/api/endpoints/users/recommendation.ts b/src/server/api/endpoints/users/recommendation.ts index f54326b56..df85343f0 100644 --- a/src/server/api/endpoints/users/recommendation.ts +++ b/src/server/api/endpoints/users/recommendation.ts @@ -30,22 +30,20 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => .replace('{{limit}}', limit) .replace('{{offset}}', offset); - request( - { - url: url, - timeout: timeout, - json: true, - followRedirect: true, - followAllRedirects: true - }, - (error: any, response: any, body: any) => { - if (!error && response.statusCode == 200) { - res(body); - } else { - res([]); - } + request({ + url: url, + proxy: config.proxy, + timeout: timeout, + json: true, + followRedirect: true, + followAllRedirects: true + }, (error: any, response: any, body: any) => { + if (!error && response.statusCode == 200) { + res(body); + } else { + res([]); } - ); + }); } else { // Get 'limit' parameter const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit); diff --git a/src/server/api/service/github.ts b/src/server/api/service/github.ts index c8d588eaa..ac18cf90a 100644 --- a/src/server/api/service/github.ts +++ b/src/server/api/service/github.ts @@ -63,6 +63,7 @@ handler.on('status', event => { // Fetch parent status request({ url: `${parent.url}/statuses`, + proxy: config.proxy, headers: { 'User-Agent': 'misskey' } diff --git a/src/server/web/url-preview.ts b/src/server/web/url-preview.ts index 41ca6bad8..eb835b05a 100644 --- a/src/server/web/url-preview.ts +++ b/src/server/web/url-preview.ts @@ -7,6 +7,7 @@ module.exports = async (ctx: Koa.Context) => { try { const summary = config.summalyProxy ? await request.get({ url: config.summalyProxy, + proxy: config.proxy, qs: { url: ctx.query.url }, diff --git a/src/services/drive/upload-from-url.ts b/src/services/drive/upload-from-url.ts index 35d4ec988..2184edf00 100644 --- a/src/services/drive/upload-from-url.ts +++ b/src/services/drive/upload-from-url.ts @@ -37,6 +37,7 @@ export default async (url: string, user: IUser, folderId: mongodb.ObjectID = nul const requestUrl = URL.parse(url).pathname.match(/[^\u0021-\u00ff]/) ? encodeURI(url) : url; request({ url: requestUrl, + proxy: config.proxy, headers: { 'User-Agent': config.user_agent }