feat: 外链拦截放行 rainnya.asia 家族域名(含子域名直接跳转不走确认页)

This commit is contained in:
2026-08-12 22:33:13 +08:00
parent 2cf6368abf
commit 63b89071e3
2 changed files with 19 additions and 2 deletions
+4 -1
View File
@@ -5,6 +5,7 @@ import * as authApi from '../api/auth.js';
import * as settingsApi from '../api/settings.js';
import { getToken, setToken, notifyAuthChange } from '../api/client.js';
import { showSnackbar } from '../lib/utils.js';
import { isFamilyDomain } from '../lib/outlink.js';
import MusicEmbed from './MusicEmbed.jsx';
import CaptchaModalHost from './CaptchaModal.jsx';
import Footer from './Footer.jsx';
@@ -54,8 +55,10 @@ export default function Layout() {
if (!a) return;
const href = (a.getAttribute('href') || '').trim();
if (!/^https?:\/\//i.test(href)) return; // 站内路径(/ 开头)不拦
// 本站同源(www.rainnya.asia)不拦——解析相对链接得到本站 origin 也自然跳过
// 本站同源(www.rainnya.asia)不拦——解析相对链接得到本站 origin 也自然跳过
// rainnya.asia 家族域名(含子域名)也视为站内,直接跳转不走确认页
if (new URL(href, window.location.origin).origin === window.location.origin) return;
if (isFamilyDomain(href)) return;
e.preventDefault();
window.location.href = '/out?url=' + encodeURIComponent(href);
};