Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/lang/cn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,7 @@ export const languageChinese = {
"emphasizedView": "双角色模式",
"pluginWarn": "但安装恶意插件可能导致问题。",
"pluginConfirm": "你真的要导入这个插件吗?只从可信的来源导入插件。",
"pluginContainsExternalIframe": "警告:此插件使用外部 iframe,这可能存在安全风险。",
"pluginContainsExternalMedia": "此插件包含外部媒体。",
"pluginContainsExternalJS": "此插件包含外部 Javascript。",
"createGroupImg": "产生群组头像",
Expand Down
1 change: 1 addition & 0 deletions src/lang/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@ export const languageGerman = {
emphasizedView: "Doppelte Charakteransicht",
pluginWarn: "Installieren von Plugins unbekannter Herkunft könnte Probleme verursachen oder sogar schädlichen Code enthalten",
pluginConfirm: "Möchten Sie dieses Plugin wirklich importieren? Importieren Sie nur Plugins aus vertrauenswürdigen Quellen.",
pluginContainsExternalIframe: "Warnung: Dieses Plugin verwendet einen externen Iframe, was ein Sicherheitsrisiko darstellen kann.",
pluginContainsExternalMedia: "Dieses Plugin enthält externe Medien.",
pluginContainsExternalJS: "Dieses Plugin enthält externes Javascript.",
createGroupImg: "Gruppenicon generieren",
Expand Down
1 change: 1 addition & 0 deletions src/lang/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,7 @@ export const languageEnglish = {
emphasizedView: "Double Character View",
pluginWarn: "Installing malicious plugins can cause problems.",
pluginConfirm: "Do you really want to import this plugin? Only import plugins from trusted sources.",
pluginContainsExternalIframe: "Warning: This plugin uses an external iframe, which can be a security risk.",
pluginContainsExternalMedia: "This plugin contains external media.",
pluginContainsExternalJS: "This plugin contains external Javascript.",
createGroupImg: "Generate group icon",
Expand Down
1 change: 1 addition & 0 deletions src/lang/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,7 @@ export const languageSpanish = {
emphasizedView: "Vista de Personajes Doble",
pluginWarn: "Instalar plugins maliciosos puede causar problemas.",
pluginConfirm: "¿Realmente quieres importar este plugin? Solo importa plugins de fuentes confiables.",
pluginContainsExternalIframe: "Advertencia: Este plugin utiliza un iframe externo, lo que puede suponer un riesgo de seguridad.",
pluginContainsExternalMedia: "Este plugin contiene medios externos.",
pluginContainsExternalJS: "Este complemento contiene Javascript externo.",
createGroupImg: "Generar icono de grupo",
Expand Down
1 change: 1 addition & 0 deletions src/lang/ko.ts
Original file line number Diff line number Diff line change
Expand Up @@ -606,6 +606,7 @@ export const languageKorean = {
"emphasizedView": "더블",
"pluginWarn": "악성 플러그인 설치 시 문제가 생길 수 있습니다.",
"pluginConfirm": "이 플러그인을 정말로 가져오시겠습니까? 신뢰할 수 있는 출처의 플러그인만 가져오세요.",
"pluginContainsExternalIframe": "경고: 이 플러그인은 외부 iframe을 사용하며, 이는 보안 위험을 초래할 수 있습니다.",
"pluginContainsExternalMedia": "이 플러그인에는 외부 미디어가 포함되어 있습니다.",
"pluginContainsExternalJS": "이 플러그인에는 외부 자바스크립트가 포함되어 있습니다.",
"createGroupImg": "그룹 아이콘 자동생성",
Expand Down
1 change: 1 addition & 0 deletions src/lang/vi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ export const LanguageVietnamese = {
"emphasizedView": "Chế độ xem nhân vật đôi",
"pluginWarn": "Các plugin có thể gây ra sự cố khi cài đặt các plugin độc hại.",
"pluginConfirm": "Bạn có thực sự muốn nhập plugin này không? Chỉ nhập plugin từ các nguồn đáng tin cậy.",
"pluginContainsExternalIframe": "Cảnh báo: Plugin này sử dụng iframe bên ngoài, có thể gây rủi ro bảo mật.",
"pluginContainsExternalMedia": "Plugin này chứa phương tiện bên ngoài.",
"pluginContainsExternalJS": "Plugin này chứa Javascript bên ngoài.",
"createGroupImg": "Tạo biểu tượng nhóm",
Expand Down
1 change: 1 addition & 0 deletions src/lang/zh-Hant.ts
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,7 @@ export const languageChineseTraditional = {
"emphasizedView": "雙角色模式",
"pluginWarn": "但安裝惡意外掛可能導致問題。",
"pluginConfirm": "您真的要導入這個插件嗎?只從可信的來源導入插件。",
"pluginContainsExternalIframe": "警告:此插件使用外部 iframe,這可能存在安全風險。",
"pluginContainsExternalMedia": "此插件包含外部媒體。",
"pluginContainsExternalJS": "此插件包含外部 Javascript。",
"createGroupImg": "產生群組頭像",
Expand Down
5 changes: 5 additions & 0 deletions src/ts/plugins/plugins.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ export async function importPlugin() {
const hasExternalMedia = mediaRegex.test(jsFile);
const jsRegex = /(https?):\/\/[^\s\'\"]+\.js/gi;
const hasExternalJS = jsRegex.test(jsFile);
const iframeRegex = /<iframe|createElement\s*\(\s*['"]iframe['"]\s*\)/gi;
const hasExternalIframe = iframeRegex.test(jsFile);

let confirmMessage = `${name}`;
if (hasExternalMedia) {
Expand All @@ -57,6 +59,9 @@ export async function importPlugin() {
if (hasExternalJS) {
confirmMessage += `\n${language.pluginContainsExternalJS}`;
}
if (hasExternalIframe) {
confirmMessage += `\n${language.pluginContainsExternalIframe}`;
}
confirmMessage += `\n\n${language.pluginConfirm}`;

if (!await alertPluginConfirm(confirmMessage)) {
Expand Down
Loading