diff --git a/lib/config.ts b/lib/config.ts
index 5f5fa08f09c..d02536fb294 100644
--- a/lib/config.ts
+++ b/lib/config.ts
@@ -61,7 +61,6 @@ export type Config = {
allow_user_hotlink_template: boolean;
filter_regex_engine: string;
allow_user_supply_unsafe_domain: boolean;
- mediaProxyKey?: string;
};
suffix?: string;
titleLengthLimit: number;
@@ -391,7 +390,6 @@ const calculateValue = () => {
allow_user_hotlink_template: toBoolean(envs.ALLOW_USER_HOTLINK_TEMPLATE, false),
filter_regex_engine: envs.FILTER_REGEX_ENGINE || 're2',
allow_user_supply_unsafe_domain: toBoolean(envs.ALLOW_USER_SUPPLY_UNSAFE_DOMAIN, false),
- mediaProxyKey: envs.MEDIA_PROXY_KEY,
},
suffix: envs.SUFFIX,
titleLengthLimit: toInt(envs.TITLE_LENGTH_LIMIT, 150),
diff --git a/lib/routes/rsshub/maintainer.ts b/lib/routes/rsshub/maintainer.ts
index c280129158e..8bcc0e7e591 100644
--- a/lib/routes/rsshub/maintainer.ts
+++ b/lib/routes/rsshub/maintainer.ts
@@ -1,5 +1,4 @@
export default {
- '/m/:key/:url': ['TonyRL'],
'/routes/:lang?': ['DIYgod'],
'/transform/html/:url/:routeParams': ['ttttmr'],
'/transform/json/:url/:routeParams': ['ttttmr'],
diff --git a/lib/routes/rsshub/media.ts b/lib/routes/rsshub/media.ts
deleted file mode 100644
index e05dcb269f9..00000000000
--- a/lib/routes/rsshub/media.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-// @ts-nocheck
-import got from '@/utils/got';
-import { config } from '@/config';
-const { getDomain } = require('tldts');
-const { refererMap } = require('./referer-map');
-
-export default async (ctx) => {
- if (!config.feature.mediaProxyKey) {
- throw new Error('Internal media proxy is disabled.');
- }
-
- const key = ctx.req.param('key');
- if (key !== config.feature.mediaProxyKey) {
- throw new Error('Invalid media proxy key.');
- }
-
- const url = decodeURIComponent(ctx.req.param('url'));
- const requestUrl = new URL(url);
- const { hostname, origin } = requestUrl;
-
- const domain = getDomain(hostname);
-
- let referer = refererMap.get(domain);
- referer ||= origin;
-
- const { headers } = await got.head(url, {
- headers: {
- referer,
- },
- });
-
- const cacheControl = headers['cache-control'];
- const contentType = headers['content-type'];
- const contentLength = headers['content-length'];
-
- if (!contentType.startsWith('image/') || headers.server === 'RSSHub') {
- return ctx.redirect(url);
- }
-
- ctx.set({
- 'cache-control': cacheControl || `public, max-age=${config.cache.contentExpire}`,
- 'content-length': contentLength,
- 'content-type': contentType,
- server: 'RSSHub',
- });
-
- ctx.body = await got.stream(url, {
- headers: {
- referer,
- },
- });
-};
diff --git a/lib/routes/rsshub/router.ts b/lib/routes/rsshub/router.ts
index 10920163756..1f25613c304 100644
--- a/lib/routes/rsshub/router.ts
+++ b/lib/routes/rsshub/router.ts
@@ -1,5 +1,4 @@
export default (router) => {
- router.get('/m/:key/:url', './media');
router.get('/routes/:lang?', './routes');
router.get('/transform/html/:url/:routeParams', './transform/html');
router.get('/transform/json/:url/:routeParams', './transform/json');
diff --git a/lib/routes/telegram/channel.ts b/lib/routes/telegram/channel.ts
index 919c67c80b2..1bab80671d4 100644
--- a/lib/routes/telegram/channel.ts
+++ b/lib/routes/telegram/channel.ts
@@ -55,7 +55,7 @@ const mediaTagDict = {
};
export default async (ctx) => {
- const useWeb = ctx.req.param('routeParams') || !(config.telegram.session && config.feature.mediaProxyKey);
+ const useWeb = ctx.req.param('routeParams') || !config.telegram.session;
if (!useWeb) {
return require('./tglib/channel').default(ctx);
}
diff --git a/lib/routes/telegram/tglib/channel.ts b/lib/routes/telegram/tglib/channel.ts
index b9d1431d5fa..c16f1230ccc 100644
--- a/lib/routes/telegram/tglib/channel.ts
+++ b/lib/routes/telegram/tglib/channel.ts
@@ -33,10 +33,6 @@ function parseRange(range, length) {
}
async function getMedia(ctx) {
- if (ctx.req.param('key') !== config.feature.mediaProxyKey) {
- throw new Error('Invalid key');
- }
-
const media = await decodeMedia(ctx.req.param('username'), ctx.req.param('media'));
if (!media) {
ctx.status = 500;
diff --git a/lib/routes/telegram/tglib/client.ts b/lib/routes/telegram/tglib/client.ts
index a92254e79f7..a99814fd78a 100644
--- a/lib/routes/telegram/tglib/client.ts
+++ b/lib/routes/telegram/tglib/client.ts
@@ -69,7 +69,7 @@ function ExpandInlineBytes(bytes) {
}
function getMediaLink(ctx, channel, channelName, message) {
- const base = `${ctx.protocol}://${ctx.host}/telegram/channel/${channelName}/${config.feature.mediaProxyKey}/`;
+ const base = `${ctx.protocol}://${ctx.host}/telegram/channel/${channelName}`;
const src = base + `${channel.channelId}_${message.id}`;
const x = message.media;
diff --git a/lib/routes/weibo/timeline.ts b/lib/routes/weibo/timeline.ts
index 1ad612e2077..c9377982fa1 100644
--- a/lib/routes/weibo/timeline.ts
+++ b/lib/routes/weibo/timeline.ts
@@ -145,7 +145,7 @@ export default async (ctx) => {
'Content-Type': 'text/html; charset=UTF-8',
'Cache-Control': 'no-cache',
});
- ctx.body = ``;
+ ctx.html(``);
}
} else {
const { app_key = '', redirect_url = ctx.req.origin + '/weibo/timeline/0' } = config.weibo;
diff --git a/website/docs/install/config.md b/website/docs/install/config.md
index 84c52f2a652..d041eb80b63 100644
--- a/website/docs/install/config.md
+++ b/website/docs/install/config.md
@@ -198,8 +198,6 @@ Configs in this sections are in beta stage, and **are turn off by default**. Ple
`ALLOW_USER_SUPPLY_UNSAFE_DOMAIN`: allow users to provide a domain as a parameter to routes that are not in their allow list, respectively. Public instances are suggested to leave this value default, as it may lead to [Server-Side Request Forgery (SSRF)](https://owasp.org/www-community/attacks/Server_Side_Request_Forgery)
-`MEDIA_PROXY_KEY`: the access key for internal media proxy.
-
## Other Application Configurations
`DISALLOW_ROBOT`: prevent indexing by search engine, default to enable, set false or 0 to disable
diff --git a/website/docs/routes/other.mdx b/website/docs/routes/other.mdx
index cb9d1607fc2..a594dc3758b 100644
--- a/website/docs/routes/other.mdx
+++ b/website/docs/routes/other.mdx
@@ -121,7 +121,7 @@ See [#app-store-mac-app-store](/routes/program-update#app-store-mac-app-store)
-### Macao Pagina Electrónica Especial Contra Epidemias: What’s New {#corona-virus-disease-2019-macao-pagina-electr%C3%B3nica-especial-contra-epidemias-what-s-new}
+### Macao Pagina Electrónica Especial Contra Epidemias: What’s New {#corona-virus-disease-2019-macao-pagina-electronica-especial-contra-epidemias-what-s-new}
Official Website: [https://www.ssm.gov.mo/apps1/PreventWuhanInfection/en.aspx](https://www.ssm.gov.mo/apps1/PreventWuhanInfection/en.aspx)
@@ -442,10 +442,6 @@ It is recommended to use with clipping tools such as Notion Web Clipper.
## RSSHub {#rsshub}
-### Internal Media Proxy {#rsshub-internal-media-proxy}
-
-
-
### Transformation - HTML {#rsshub-transformation-html}
Pass URL and transformation rules to convert HTML/JSON into RSS.
diff --git a/website/docs/routes/social-media.mdx b/website/docs/routes/social-media.mdx
index 541f207c343..50fef929325 100644
--- a/website/docs/routes/social-media.mdx
+++ b/website/docs/routes/social-media.mdx
@@ -784,7 +784,7 @@ If the instance address is not `mastodon.social` or `pawoo.net`, then the route
:::warning
-This route requires user-based `TELEGRAM_SESSION` which can be acquired and `MEDIA_PROXY_KEY`.
+This route requires user-based `TELEGRAM_SESSION`.
:::
### Sticker Pack {#telegram-sticker-pack}
diff --git a/website/i18n/zh/docusaurus-plugin-content-docs/current/install/config.md b/website/i18n/zh/docusaurus-plugin-content-docs/current/install/config.md
index bab6a0e3e5c..a68ae55eadf 100644
--- a/website/i18n/zh/docusaurus-plugin-content-docs/current/install/config.md
+++ b/website/i18n/zh/docusaurus-plugin-content-docs/current/install/config.md
@@ -196,8 +196,6 @@ RSSHub 支持使用访问密钥 / 码进行访问控制。开启将会激活全
`ALLOW_USER_SUPPLY_UNSAFE_DOMAIN`: 允许用户为路由提供域名作为参数。建议公共实例不要调整此选项,开启后可能会导致 [服务端请求伪造(SSRF)](https://owasp.org/www-community/attacks/Server_Side_Request_Forgery)
-`MEDIA_PROXY_KEY`: 内置多媒体代理的访问密钥
-
## 其他应用配置
`DISALLOW_ROBOT`: 阻止搜索引擎收录,默认开启,设置 false 或 0 关闭