From b4a7ff9a4b17dc9c0abfeea795fabe3c9ce769f9 Mon Sep 17 00:00:00 2001 From: John Doe Date: Thu, 30 Jan 2025 21:00:15 +0300 Subject: [PATCH 1/4] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/webgui/public/translate/ru-RU.js | 155 ++++++++++++++++++++++- 1 file changed, 149 insertions(+), 6 deletions(-) diff --git a/plugins/webgui/public/translate/ru-RU.js b/plugins/webgui/public/translate/ru-RU.js index 690965a04..5844560ea 100644 --- a/plugins/webgui/public/translate/ru-RU.js +++ b/plugins/webgui/public/translate/ru-RU.js @@ -1,4 +1,4 @@ -module.exports={ +module.exports = { '首页': 'Домашняя', '登录': 'Вход', '注册': 'Регистрация', @@ -31,7 +31,6 @@ module.exports={ '设置': 'Настройки', '退出': 'Выход', '我的账号': 'Моя учетная запись', - '账号': 'Номер счета', '点击进入': 'Нажмите, чтобы ввести', '公告': 'Объявление', '暂无公告': 'Нет объявлений', @@ -95,7 +94,7 @@ module.exports={ '请求过于频繁,请稍后再试': 'Превышено максимальное количество ввода. Повторите попытку позднее', '当前时段尚未开放注册': 'Текущий период еще не открыт для регистрации', '重置密码链接已发至您的邮箱,\n请注意查收': 'Ссылка на сброс пароля была отправлена на ваш адрес электронной почты, \n пожалуйста, проверьте почтовый ящик', - '重置密码链接已经发送,\n请勿重复发送': 'Сброс пароля ссылка была отправлена, \n Не отправлять его снова', + '重置密码链接已经发送,\n请勿重复发送': 'Сброс пароля ссылка была отправлена, \n Не отправлять ее снова', '请输入正确的邮箱地址': 'Введите правильный адрес электронной почты', '已过期': 'Истёк', '支付成功': 'Успешный платеж', @@ -115,12 +114,156 @@ module.exports={ '等待': 'подождите', '付款': 'оплата', '完成': 'полный', - '关闭': 'близко', '原密码': 'Исходный пароль', '新密码': 'Новый пароль', '重复新密码': 'Повторить новый пароль', '类型': 'тип', '端口': 'порт', '流量(MB)': 'Трафик (МБ)', - '接收消息推送': 'Приём сообщения' -}; + '接收消息推送': 'Приём сообщения', + '地址': 'адрес', + '公钥': 'публичный ключ', + '私钥': 'приватный ключ', + '流量倍率': 'коэффициент трафика', + '未激活': 'неактивен', + '从订单中选择类型': 'Выбор типа из заказа', + '到期自动删除': 'Автоудаление по истечению срока', + '自定义新用户可用服务器': 'Настройка доступных серверов для новых пользователей', + '新用户分组': 'Группа новых пользователей', + '新端口号分配范围': 'Диапазон назначения новых портов', + '起始端口': 'Начальный порт', + '结束端口': 'Конечный порт', + '开启订阅功能': 'Включение функции подписки', + '开启MAC地址订阅功能': 'Включение подписки по MAC-адресу', + '精简模式': 'Упрощенный режим', + '显示用户不可用的服务器': 'Показать недоступные пользователю серверы', + '显示账号类型': 'Показать тип аккаунта', + '排序方式': 'Способ сортировки', + '端口号 ↑': 'Порт ↑', + '端口号 ↓': 'Порт ↓', + '过期时间 ↑': 'Срок действия ↑', + '过期时间 ↓': 'Срок действия ↓', + '过滤条件': 'Фильтр', + '未过期': 'Не истёкший', + '已绑定用户': 'Связанный пользователь', + '未绑定用户': 'Несвязанный пользователь', + '无期限': 'Без срока', + 'MAC地址': 'MAC-адрес', + '订单类型': 'Тип заказа', + '端口不能为空': 'Порт не может быть пустым', + '流量不能为空': 'Трафик не может быть пустым', + '自动删除延迟': 'Задержка автоматического удаления', + '自定义服务器': 'Пользовательский сервер', + '指定用户(可选)': 'Назначенный пользователь (необязательно)', + '没有匹配的用户': 'Нет совпадающих пользователей', + '名称': 'Название', + '不能名称为空': 'Название не может быть пустым', + '备注不能为空': 'Примечание не может быть пустым', + '允许购买多个账号': 'Разрешить покупку нескольких аккаунтов', + '标题': 'Заголовок', + '内容': 'Содержимое', + '自动弹出': 'Автоматическое всплытие', + '预览': 'Предпросмотр', + '保存': 'Сохранить', + '短备注': 'Краткое замечание', + '周期': 'Период', + '支付宝': 'Alipay', + 'Paypal': 'Paypal', + '邀请获得时长': 'Время получения по приглашению', + '续费允许更换套餐': 'Разрешить смену пакета при продлении', + '自动激活': 'Автоматическая активация', + '自定义分组': 'Настроить группу', + '将改动变更到已有的账号': 'Применить изменения к существующему аккаунту', + '删除': 'Удалить', + '流量(MB)': 'Трафик (MB)', + '订单名称': 'Название заказа', + '自定义可用服务器': 'Настроить доступные серверы', + '复制链接': 'Копировать ссылку', + '最大邀请次数': 'Максимальное количество приглашений', + '访问次数': 'Количество посещений', + '网段': 'Подсеть', + 'WireGuard端口': 'Порт WireGuard', + 'Trojan端口': 'Порт Trojan', + '请填写加密方式': 'Введите метод шифрования', + '端口偏移': 'Смещение порта', + '端口偏移量不能为空': 'Смещение порта не может быть пустым', + '插件参数': 'Параметры плагина', + '请输入标签': 'Введите теги', + '普通用户': 'Обычный пользователь', + '管理员': 'Администратор', + '邮箱不能为空': 'Электронная почта не может быть пустой', + '注册时间': 'Дата регистрации', + '分组': 'Группа', + '设置分组': 'Настроить группу', + '删除用户': 'Удалить пользователя', + '网站短标题': 'Краткое название сайта', + '使用Service Worker缓存静态页面': 'Использовать Service Worker для кэширования статических страниц', + '主题颜色': 'Основной цвет темы', + '主题第二颜色': 'Вторичный цвет темы', + '修改登录密码': 'Изменить пароль', + '原密码': 'Старый пароль', + '新密码': 'Новый пароль', + '重复新密码': 'Подтвердите новый пароль', + '确认': 'Подтвердить', + '更改类型时保持过期时间不变': 'Сохранять время истечения при изменении типа', + '清除该账号流量': 'Очистить трафик этого аккаунта', + '短备注': 'Краткая заметка', + '流量包': 'Пакет данных', + '普通订单': 'Обычный заказ', + '开始日期': 'Дата начала', + '结束日期': 'Дата окончания', + '创建': 'Создание', + '等待': 'Ожидает оплаты', + '付款': 'Оплачено', + '完成': 'Завершено', + '关闭': 'Закрыто', + '编辑': 'Редактировать', + '暂无可分配的账号': 'Нет доступных аккаунтов для распределения', + '开始时间:': 'Время начала:', + '到期时间:': 'Время окончания:', + '时长:': 'Продолжительность:', + '当前没有生成邀请码': 'В данный момент код приглашения не сгенерирован', + '启用邀请码功能': 'Включить функцию приглашений с использованием кода', + '关闭注册时仍可使用邀请码': 'Код приглашения может быть использован, даже если регистрация закрыта', + '每个用户拥有邀请码数量': 'Количество кодов приглашений у каждого пользователя', + '每个邀请码可邀请的用户数': 'Количество пользователей, которых можно пригласить с помощью одного кода приглашения', + '邀请码列表': 'Список кодов приглашений', + '邀请用户列表': 'Список приглашенных пользователей', + '我的邀请码': 'Мои коды приглашений', + '当前没有邀请的用户': 'Нет приглашенных пользователей на данный момент', + '邀请码': 'Код приглашения', + '邀请人': 'Пригласивший пользователь', + '注册用户': 'Зарегистрированный пользователь', + '时间': 'Время', + '没有服务器': 'Нет серверов', + '点击这里添加': 'Нажмите здесь, чтобы добавить', + '离线': 'Офлайн', + '本日流量': 'Трафик за сегодня', + '本周流量': 'Трафик за неделю', + '本月流量': 'Трафик за месяц', + '时': 'Час', + '天': 'День', + '周': 'Неделя', + '全部': 'Все', + '可用': 'Доступно', + '停止': 'Остановлено', + '在线': 'Онлайн', + '服务器连接失败': 'Не удалось подключиться к серверу', + '到期时间': 'Время истечения срока', + '请添加 Telegram 账号': 'Пожалуйста, добавьте аккаунт Telegram', + '并输入“{{ code.code }}”完成绑定': 'и введите "{{ code.code }}" для завершения привязки', + '已绑定': 'Привязано', + '解除绑定': 'Отвязать', + '该页面尚未完工': 'Эта страница еще не завершена', + '邀请人': 'Пригласивший', + '发送邮件': 'Отправить письмо', + 'mac账号': 'MAC аккаунт', + '邀请用户': 'Приглашённые пользователи', + '充值码订单': 'Заказы пополнения', + 'Ref订单': 'Заказы Ref', + '排序方式': 'Способ сортировки:', + '用户类型': 'Тип пользователя:', + '普通': 'Обычный', + '管理员': 'Администратор', + '分组': 'Группа:' +}; \ No newline at end of file From 67a8a276ae92c1d39e20354bd815b0c19ec7a555 Mon Sep 17 00:00:00 2001 From: John Doe Date: Sun, 2 Feb 2025 12:23:10 +0300 Subject: [PATCH 2/4] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/alipay/index.js | 2 +- plugins/flowSaver/flow.js | 2 +- plugins/webgui/public/controllers/admin.js | 30 +- .../webgui/public/controllers/adminAccount.js | 42 +- .../public/controllers/adminGiftCard.js | 14 +- .../webgui/public/controllers/adminGroup.js | 18 +- .../webgui/public/controllers/adminNotice.js | 12 +- .../webgui/public/controllers/adminOrder.js | 38 +- .../webgui/public/controllers/adminServer.js | 30 +- .../webgui/public/controllers/adminSetting.js | 90 +- .../webgui/public/controllers/adminUser.js | 62 +- plugins/webgui/public/controllers/app.js | 6 +- plugins/webgui/public/controllers/home.js | 44 +- plugins/webgui/public/controllers/user.js | 34 +- plugins/webgui/public/dialogs/addAccount.js | 6 +- plugins/webgui/public/dialogs/language.js | 6 +- plugins/webgui/public/dialogs/order.js | 2 +- plugins/webgui/public/dialogs/pay.js | 22 +- .../webgui/public/dialogs/payByGiftCard.js | 4 +- plugins/webgui/public/dialogs/qrcode.js | 2 +- plugins/webgui/public/dialogs/subscribe.js | 2 +- plugins/webgui/public/dialogs/user.js | 2 +- plugins/webgui/public/filters/giftcard.js | 8 +- plugins/webgui/public/filters/orderStatus.js | 38 +- plugins/webgui/public/filters/time.js | 38 +- .../webgui/public/services/adminService.js | 12 +- plugins/webgui/public/services/homeService.js | 38 +- .../webgui/public/views/admin/account.html | 6 +- .../public/views/admin/accountPage.html | 54 +- .../public/views/admin/accountSetting.html | 48 +- .../admin/accountSortAndFilterDialog.html | 28 +- .../webgui/public/views/admin/addAccount.html | 34 +- .../webgui/public/views/admin/addGroup.html | 18 +- .../webgui/public/views/admin/addRefUser.html | 14 +- .../webgui/public/views/admin/addServer.html | 46 +- .../webgui/public/views/admin/addUser.html | 16 +- .../webgui/public/views/admin/adminPage.html | 10 +- .../public/views/admin/baseSetting.html | 12 +- .../public/views/admin/changePassword.html | 16 +- .../public/views/admin/editAccount.html | 36 +- .../webgui/public/views/admin/editGroup.html | 20 +- .../webgui/public/views/admin/editNotice.html | 14 +- .../webgui/public/views/admin/editOrder.html | 44 +- .../public/views/admin/editPayment.html | 14 +- .../public/views/admin/editRefCode.html | 6 +- .../webgui/public/views/admin/editServer.html | 50 +- .../views/admin/giftcardBatchDetails.html | 8 +- plugins/webgui/public/views/admin/index.html | 16 +- .../webgui/public/views/admin/myRefCode.html | 10 +- .../webgui/public/views/admin/newNotice.html | 14 +- .../webgui/public/views/admin/newOrder.html | 46 +- .../public/views/admin/orderFilterDialog.html | 20 +- plugins/webgui/public/views/admin/pay.html | 2 +- .../public/views/admin/paymentList.html | 2 +- .../public/views/admin/pickAccount.html | 4 +- .../webgui/public/views/admin/pickTime.html | 6 +- .../public/views/admin/refCodeList.html | 2 +- .../webgui/public/views/admin/refSetting.html | 20 +- .../public/views/admin/refUserList.html | 6 +- plugins/webgui/public/views/admin/server.html | 10 +- .../webgui/public/views/admin/serverPage.html | 16 +- .../public/views/admin/setExpireTime.html | 2 +- .../webgui/public/views/admin/settings.html | 2 +- .../public/views/admin/telegramSetting.html | 6 +- .../webgui/public/views/admin/topFlow.html | 2 +- .../webgui/public/views/admin/unfinished.html | 2 +- plugins/webgui/public/views/admin/user.html | 2 +- .../webgui/public/views/admin/userPage.html | 32 +- .../public/views/admin/userSortDialog.html | 20 +- plugins/webgui/public/views/app/index.html | 20 +- plugins/webgui/public/views/app/login.html | 14 +- .../public/views/dialog/addAccount.html | 62 +- .../public/views/dialog/addGiftCardBatch.html | 14 +- .../public/views/dialog/addMacAccount.html | 4 +- .../webgui/public/views/dialog/autopop.html | 2 +- plugins/webgui/public/views/dialog/ban.html | 10 +- .../public/views/dialog/changePassword.html | 16 +- .../webgui/public/views/dialog/confirm.html | 2 +- .../public/views/dialog/editUserComment.html | 10 +- plugins/webgui/public/views/dialog/email.html | 8 +- plugins/webgui/public/views/dialog/ip.html | 10 +- .../webgui/public/views/dialog/language.html | 2 +- plugins/webgui/public/views/dialog/order.html | 18 +- plugins/webgui/public/views/dialog/pay.html | 36 +- .../public/views/dialog/payByGiftCard.html | 8 +- .../public/views/dialog/serverChart.html | 4 +- .../public/views/dialog/setAccountServer.html | 4 +- .../views/dialog/setCurrentAccount.html | 6 +- .../webgui/public/views/dialog/setEmail.html | 8 +- .../public/views/dialog/setGroupOrder.html | 2 +- .../public/views/dialog/setNoticeGroup.html | 2 +- .../public/views/dialog/setOrderServer.html | 2 +- .../public/views/dialog/setUserGroup.html | 4 +- .../views/dialog/showWireGuardConfig.html | 6 +- .../webgui/public/views/dialog/subscribe.html | 16 +- plugins/webgui/public/views/home/login.html | 32 +- .../public/views/home/resetPassword.html | 20 +- plugins/webgui/public/views/home/signup.html | 44 +- plugins/webgui/public/views/home/social.html | 4 +- plugins/webgui/public/views/skin/default.html | 4 +- plugins/webgui/public/views/skin/fs_bing.html | 4 +- .../webgui/public/views/skin/fs_dinosaur.html | 14 +- .../webgui/public/views/skin/fs_sample.html | 4 +- .../webgui/public/views/skin/fs_zelda.html | 4 +- plugins/webgui/public/views/user/account.html | 58 +- .../public/views/user/changePassword.html | 14 +- plugins/webgui/public/views/user/index.html | 26 +- plugins/webgui/public/views/user/notice.html | 4 +- .../public/views/user/qrcodeDialog.html | 2 +- plugins/webgui/public/views/user/ref.html | 10 +- .../webgui/public/views/user/settings.html | 16 +- .../webgui/public/views/user/telegram.html | 6 +- plugins/webgui/server/adminAccount.js | 8 +- plugins/webgui/server/adminGiftCard.js | 8 +- plugins/webgui/server/adminSetting.js | 12 +- plugins/webgui/server/clash.js | 1450 ++++++++--------- plugins/webgui/server/home.js | 22 +- plugins/webgui/server/user.js | 4 +- plugins/webgui_ref/order.js | 2 +- plugins/webgui_telegram/account.js | 2 +- 120 files changed, 1702 insertions(+), 1702 deletions(-) diff --git a/plugins/alipay/index.js b/plugins/alipay/index.js index 7f283351f..7b2726945 100644 --- a/plugins/alipay/index.js +++ b/plugins/alipay/index.js @@ -329,7 +329,7 @@ const getUserFinishOrder = async userId => { orders = orders.map(order => { return { orderId: order.orderId, - type: '支付宝', + type: 'Alipay', amount: order.amount, createTime: order.createTime, }; diff --git a/plugins/flowSaver/flow.js b/plugins/flowSaver/flow.js index c0258f8b7..7625fca1f 100644 --- a/plugins/flowSaver/flow.js +++ b/plugins/flowSaver/flow.js @@ -362,7 +362,7 @@ const getServerPortFlow = async (serverId, accountId, timeArray, isMultiServerFl }; /** - * 为流量倍率而增加 + * 为Скорость потока而增加 */ const getServerPortFlowWithScale = async (serverId, accountId, timeArray, isMultiServerFlow) => { const serverIdFilter = {}; diff --git a/plugins/webgui/public/controllers/admin.js b/plugins/webgui/public/controllers/admin.js index edb4eb17b..f8ce3dda1 100644 --- a/plugins/webgui/public/controllers/admin.js +++ b/plugins/webgui/public/controllers/admin.js @@ -26,35 +26,35 @@ app.controller('AdminController', ['$scope', '$mdMedia', '$mdSidenav', '$state', } }; $scope.menus = [{ - name: '首页', + name: 'Главная страница', icon: 'home', click: 'admin.index', }, { - name: '服务器', + name: 'Сервер', icon: 'cloud', click: 'admin.server', hide: !!($scope.id !== 1), }, { - name: '用户', + name: 'Пользователи', icon: 'people', click: 'admin.user', }, { - name: '账号', + name: 'Счета', icon: 'account_circle', click: 'admin.account', }, { - name: '订单', + name: 'Заказы', icon: 'attach_money', click: 'admin.pay', hide: !($scope.config.paypal || $scope.config.giftcard || $scope.config.refCode || $scope.config.alipay), }, { - name: '设置', + name: 'Настройки', icon: 'settings', click: 'admin.settings', }, { name: 'divider', }, { - name: '退出', + name: 'Выйти', icon: 'exit_to_app', click: function() { $http.post('/api/home/logout').then(() => { @@ -183,7 +183,7 @@ app.controller('AdminController', ['$scope', '$mdMedia', '$mdSidenav', '$state', ]) .controller('AdminIndexController', ['$scope', '$state', 'adminApi', '$localStorage', '$interval', 'orderDialog', ($scope, $state, adminApi, $localStorage, $interval, orderDialog) => { - $scope.setTitle('首页'); + $scope.setTitle('Главная страница'); if($localStorage.admin.indexInfo) { $scope.signupUsers = $localStorage.admin.indexInfo.data.signup; $scope.loginUsers = $localStorage.admin.indexInfo.data.login; @@ -245,7 +245,7 @@ app.controller('AdminController', ['$scope', '$mdMedia', '$mdSidenav', '$state', } ]) .controller('AdminRecentSignupController', ['$scope', '$http', '$state', ($scope, $http, $state) => { - $scope.setTitle('最新注册用户'); + $scope.setTitle('Новые зарегистрированные пользователи'); $scope.setMenuButton('arrow_back', 'admin.index'); $scope.recentUsers = null; $http.get('/api/admin/user/recentSignup?number=100').then(success => { @@ -256,7 +256,7 @@ app.controller('AdminController', ['$scope', '$mdMedia', '$mdSidenav', '$state', }; }]) .controller('AdminRecentLoginController', ['$scope', '$http', '$state', ($scope, $http, $state) => { - $scope.setTitle('最近登录用户'); + $scope.setTitle('Недавно вошедшие пользователи'); $scope.setMenuButton('arrow_back', 'admin.index'); $scope.recentUsers = null; $http.get('/api/admin/user/recentLogin?number=-1').then(success => { @@ -267,7 +267,7 @@ app.controller('AdminController', ['$scope', '$mdMedia', '$mdSidenav', '$state', }; }]) .controller('AdminTopFlowController', ['$scope', '$http', '$state', ($scope, $http, $state) => { - $scope.setTitle('今日流量排行'); + $scope.setTitle('Рейтинг трафика на сегодняшний день'); $scope.setMenuButton('arrow_back', 'admin.index'); $scope.topUsers = null; $scope.allFlow = 0; @@ -287,7 +287,7 @@ app.controller('AdminController', ['$scope', '$mdMedia', '$mdSidenav', '$state', }]) .controller('AdminPayController', ['$scope', 'adminApi', 'orderDialog', '$mdMedia', '$localStorage', 'orderFilterDialog', '$timeout', '$state', '$stateParams', ($scope, adminApi, orderDialog, $mdMedia, $localStorage, orderFilterDialog, $timeout, $state, $stateParams) => { - $scope.setTitle('订单'); + $scope.setTitle('Заказ'); $scope.setMenuSearchButton('search'); $scope.showOrderInfo = order => { orderDialog.show(order); @@ -295,10 +295,10 @@ app.controller('AdminController', ['$scope', '$mdMedia', '$mdSidenav', '$state', $scope.myPayType = ''; let tabSwitchTime = 0; $scope.payTypes = []; - if($scope.config.alipay) { $scope.payTypes.push({ name: '支付宝' }); } + if($scope.config.alipay) { $scope.payTypes.push({ name: 'Alipay' }); } if($scope.config.paypal) { $scope.payTypes.push({ name: 'Paypal' }); } - if($scope.config.giftcard) { $scope.payTypes.push({ name: '充值码' }); } - if($scope.config.refCode) { $scope.payTypes.push({ name: '邀请码' }); } + if($scope.config.giftcard) { $scope.payTypes.push({ name: 'Код пополнения' }); } + if($scope.config.refCode) { $scope.payTypes.push({ name: 'Код приглашения' }); } if($scope.payTypes.length) { $scope.myPayType = $stateParams.myPayType || $scope.payTypes[0].name; $scope.defaultTabIndex = 0; diff --git a/plugins/webgui/public/controllers/adminAccount.js b/plugins/webgui/public/controllers/adminAccount.js index 060378697..cfdcc0cee 100644 --- a/plugins/webgui/public/controllers/adminAccount.js +++ b/plugins/webgui/public/controllers/adminAccount.js @@ -125,7 +125,7 @@ app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http ]) .controller('AdminAccountPageController', ['$scope', '$state', '$stateParams', '$http', '$mdMedia', '$q', 'adminApi', '$timeout', '$interval', 'qrcodeDialog', 'ipDialog', '$mdBottomSheet', 'wireGuardConfigDialog', '$filter', 'subscribeDialog', ($scope, $state, $stateParams, $http, $mdMedia, $q, adminApi, $timeout, $interval, qrcodeDialog, ipDialog, $mdBottomSheet, wireGuardConfigDialog, $filter, subscribeDialog) => { - $scope.setTitle('账号'); + $scope.setTitle('счет'); $scope.setMenuButton('arrow_back', 'admin.account'); $scope.accountId = +$stateParams.accountId; $scope.account = { port: '...' }; @@ -428,7 +428,7 @@ app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http }); }; $scope.clipboardSuccess = event => { - $scope.toast($filter('translate')('二维码链接已复制到剪贴板')); + $scope.toast($filter('translate')('Ссылка на QR-код скопирована в буфер обмена.')); }; $scope.isWG = server => server.type === 'WireGuard'; $scope.isSS = server => server.type === 'Shadowsocks'; @@ -459,11 +459,11 @@ app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http $scope.account.password = getRandomPassword(10); }); $scope.typeList = [ - {key: '不限量', value: 1}, - {key: '月', value: 3}, - {key: '周', value: 2}, - {key: '天', value: 4}, - {key: '小时', value: 5}, + {key: 'Неограниченный', value: 1}, + {key: 'Месяц', value: 3}, + {key: 'Неделя', value: 2}, + {key: 'День', value: 4}, + {key: 'Час', value: 5}, ]; $scope.timeLimit = { '2': 7 * 24 * 3600000, @@ -540,10 +540,10 @@ app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http server: $scope.account.server, user: $scope.account.user, }).then(success => { - alertDialog.show('添加账号成功', '确定'); + alertDialog.show('Учетная запись успешно добавлена', 'Конечно'); $state.go('admin.accountPage', { accountId: success.data.id }); }).catch(() => { - alertDialog.show('添加账号失败', '确定'); + alertDialog.show('Не удалось добавить аккаунт', 'Конечно'); }); }; $scope.pickTime = () => { @@ -593,16 +593,16 @@ app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http ]) .controller('AdminEditAccountController', ['$scope', '$state', '$stateParams', '$http', '$mdBottomSheet', 'confirmDialog', 'alertDialog', '$filter', '$q', 'setAccountServerDialog', ($scope, $state, $stateParams, $http, $mdBottomSheet, confirmDialog, alertDialog, $filter, $q, setAccountServerDialog) => { - $scope.setTitle('编辑账号'); + $scope.setTitle('Редактировать аккаунт'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.accountPage', { accountId: $stateParams.accountId }); }); $scope.typeList = [ - {key: '不限量', value: 1}, - {key: '月', value: 3}, - {key: '周', value: 2}, - {key: '天', value: 4}, - {key: '小时', value: 5}, + {key: 'Неограниченный', value: 1}, + {key: 'Месяц', value: 3}, + {key: 'Неделя', value: 2}, + {key: 'День', value: 4}, + {key: 'Час', value: 5}, ]; $scope.timeLimit = { '2': 7 * 24 * 3600000, @@ -721,10 +721,10 @@ app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http multiServerFlow: $scope.account.multiServerFlow ? 1 : 0, server: $scope.account.server, }).then(success => { - alertDialog.show('修改账号成功', '确定'); + alertDialog.show('Успешное изменение учетной записи', 'Конечно'); $state.go('admin.accountPage', { accountId: $stateParams.accountId }); }).catch(() => { - alertDialog.show('修改账号失败', '确定'); + alertDialog.show('Не удалось изменить учетную запись.', 'Конечно'); }); }; $scope.pickTime = () => { @@ -748,10 +748,10 @@ app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http }; $scope.deleteAccount = () => { confirmDialog.show({ - text: '真的要删除账号吗?', - cancel: '取消', - confirm: '删除', - error: '删除账号失败', + text: 'Вы действительно хотите удалить свой аккаунт? ', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить аккаунт.', fn: function () { return $http.delete('/api/admin/account/' + accountId); }, }).then(() => { $state.go('admin.account'); diff --git a/plugins/webgui/public/controllers/adminGiftCard.js b/plugins/webgui/public/controllers/adminGiftCard.js index 6ed67e9de..b80266661 100644 --- a/plugins/webgui/public/controllers/adminGiftCard.js +++ b/plugins/webgui/public/controllers/adminGiftCard.js @@ -2,7 +2,7 @@ const app = angular.module('app'); app.controller('AdminGiftCardController', ['$scope', '$http', 'addGiftCardBatchDialog', '$state', ($scope, $http, addGiftCardBatchDialog, $state) => { - $scope.setTitle('充值码管理'); + $scope.setTitle('Управление кодами пополнения'); $scope.setMenuButton('arrow_back', 'admin.settings'); const showBatch = () => { $http.get('/api/admin/giftcard/list').then(result => { @@ -28,7 +28,7 @@ app.controller('AdminGiftCardController', ['$scope', '$http', 'addGiftCardBatchD ]).controller('AdminGiftCardBatchDetailsController', ['$scope', '$http', '$stateParams', 'confirmDialog', 'alertDialog', ($scope, $http, $stateParams, confirmDialog, alertDialog) => { const batchNumber = $stateParams.batchNumber; - $scope.setTitle(`充值码[ ${batchNumber} ]`); + $scope.setTitle(`Код пополнения[ ${batchNumber} ]`); $scope.setMenuButton('arrow_back', 'admin.listGiftCardBatch'); const showDetails = () => { $http.get(`/api/admin/giftcard/details/${batchNumber}`).then(result => { @@ -42,16 +42,16 @@ app.controller('AdminGiftCardController', ['$scope', '$http', 'addGiftCardBatchD }); }; $scope.showPassword = (id, password) => { - alertDialog.show(`卡号:${id},密码:${password}`, '确定'); + alertDialog.show(`номер карты:${id},пароль:${password}`, 'Конечно'); }; showDetails(); $scope.revoke = () => { confirmDialog.show({ - text: '确实要召回这些卡片吗?该操作不可撤销。', - cancel: '取消', - confirm: '召回', - error: '召回失败', + text: 'Вы уверены, что хотите отозвать эти карты? Это действие не может быть отменено. ', + cancel: 'Отмена', + confirm: 'Отозвать', + error: 'Неудачный отзыв', fn: () => { return $http.post(`/api/admin/giftcard/revoke`, { batchNumber }); }, diff --git a/plugins/webgui/public/controllers/adminGroup.js b/plugins/webgui/public/controllers/adminGroup.js index 7d40b8c7a..2b65e054a 100644 --- a/plugins/webgui/public/controllers/adminGroup.js +++ b/plugins/webgui/public/controllers/adminGroup.js @@ -2,7 +2,7 @@ const app = angular.module('app'); app.controller('AdminGroupSettingController', ['$scope', '$http', '$state', ($scope, $http, $state) => { - $scope.setTitle('群组管理'); + $scope.setTitle('Управление группой'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.settings'); }); @@ -16,7 +16,7 @@ app.controller('AdminGroupSettingController', ['$scope', '$http', '$state', } ]).controller('AdminAddGroupController', ['$scope', '$q', '$http', '$state', 'alertDialog', 'setGroupNoticeDialog', 'setGroupOrderDialog', ($scope, $q, $http, $state, alertDialog, setGroupNoticeDialog, setGroupOrderDialog) => { - $scope.setTitle('新增群组'); + $scope.setTitle('Добавить новую группу'); $scope.setMenuButton('arrow_back', 'admin.groupSetting'); $scope.group = {}; $q.all([ @@ -104,10 +104,10 @@ app.controller('AdminGroupSettingController', ['$scope', '$http', '$state', }, { timeout: 15000, }).then(success => { - alertDialog.show('添加群组成功', '确定'); + alertDialog.show('Группа успешно добавлена', 'Конечно'); $state.go('admin.groupSetting'); }).catch(() => { - alertDialog.show('添加群组失败', '确定'); + alertDialog.show('Не удалось добавить группу', 'Конечно'); }); }; $scope.cancel = () => { @@ -122,7 +122,7 @@ app.controller('AdminGroupSettingController', ['$scope', '$http', '$state', } ]).controller('AdminEditGroupController', ['$scope', '$http', '$q', '$state', '$stateParams', 'alertDialog', 'setGroupNoticeDialog', 'setGroupOrderDialog', ($scope, $http, $q, $state, $stateParams, alertDialog, setGroupNoticeDialog, setGroupOrderDialog) => { - $scope.setTitle('修改群组'); + $scope.setTitle('Изменить группу'); $scope.setMenuButton('arrow_back', 'admin.groupSetting'); $scope.groupId = +$stateParams.groupId; $scope.group = {}; @@ -209,10 +209,10 @@ app.controller('AdminGroupSettingController', ['$scope', '$http', '$state', }, { timeout: 15000, }).then(success => { - alertDialog.show('修改群组成功', '确定'); + alertDialog.show('Группа успешно изменена', 'Конечно'); $state.go('admin.groupSetting'); }).catch(() => { - alertDialog.show('修改群组失败', '确定'); + alertDialog.show('Не удалось изменить группу', 'Конечно'); }); }; $scope.cancel = () => { @@ -223,10 +223,10 @@ app.controller('AdminGroupSettingController', ['$scope', '$http', '$state', $http.delete(`/api/admin/group/${ $scope.groupId }`, { timeout: 15000, }).then(success => { - alertDialog.show('删除群组成功', '确定'); + alertDialog.show('Группа успешно удалена', 'Конечно'); $state.go('admin.groupSetting'); }).catch(() => { - alertDialog.show('删除群组失败', '确定'); + alertDialog.show('Не удалось удалить группу.', 'Конечно'); }); }; $scope.setGroupNotice = () => { diff --git a/plugins/webgui/public/controllers/adminNotice.js b/plugins/webgui/public/controllers/adminNotice.js index 03f003048..925ff5794 100644 --- a/plugins/webgui/public/controllers/adminNotice.js +++ b/plugins/webgui/public/controllers/adminNotice.js @@ -1,7 +1,7 @@ const app = angular.module('app'); app.controller('AdminNoticeController', ['$scope', '$http', '$state', ($scope, $http, $state) => { - $scope.setTitle('公告管理'); + $scope.setTitle('Управление объявлениями'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.settings'); }); @@ -16,7 +16,7 @@ app.controller('AdminNoticeController', ['$scope', '$http', '$state', ($scope, $ }; }]) .controller('AdminEditNoticeController', ['$scope', '$http', '$state', '$stateParams', 'markdownDialog', 'setNoticeGroupDialog', 'confirmDialog', ($scope, $http, $state, $stateParams, markdownDialog, setNoticeGroupDialog, confirmDialog) => { - $scope.setTitle('编辑公告'); + $scope.setTitle('Редакционное объявление'); $scope.setMenuButton('arrow_back', 'admin.notice'); $http.get('/api/admin/notice/' + $stateParams.noticeId).then(success => { $scope.notice = success.data; @@ -29,10 +29,10 @@ app.controller('AdminNoticeController', ['$scope', '$http', '$state', ($scope, $ }); $scope.delete = () => { confirmDialog.show({ - text: '真的要删除公告吗?', - cancel: '取消', - confirm: '删除', - error: '删除公告失败', + text: 'Вы действительно хотите удалить объявление?', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить объявление.', fn: function () { return $http.delete('/api/admin/notice/' + $stateParams.noticeId); }, }).then(() => { $state.go('admin.notice'); diff --git a/plugins/webgui/public/controllers/adminOrder.js b/plugins/webgui/public/controllers/adminOrder.js index 5a97f31fa..4c083c6d0 100644 --- a/plugins/webgui/public/controllers/adminOrder.js +++ b/plugins/webgui/public/controllers/adminOrder.js @@ -3,7 +3,7 @@ const app = angular.module('app'); app .controller('AdminOrderSettingController', ['$scope', '$state', '$http', ($scope, $state, $http, $filter) => { - $scope.setTitle('订单设置'); + $scope.setTitle('Настройка заказа'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.settings'); }); @@ -36,14 +36,14 @@ app ]) .controller('AdminNewOrderController', ['$scope', '$state', '$http', '$filter', 'setOrderServerDialog', 'setOrderGroupDialog', ($scope, $state, $http, $filter, setOrderServerDialog, setOrderGroupDialog) => { - $scope.setTitle('新增订单'); + $scope.setTitle('Добавить заказ'); $scope.setMenuButton('arrow_back', 'admin.order'); $scope.typeList = [ - { key: '周', value: 2 }, - { key: '月', value: 3 }, - { key: '天', value: 4 }, - { key: '小时', value: 5 }, + { key: 'Неделя', value: 2 }, + { key: 'Месяц', value: 3 }, + { key: 'День', value: 4 }, + { key: 'Час', value: 5 }, ]; $scope.order = { orderType: 'normal', @@ -180,7 +180,7 @@ app ]) .controller('AdminEditOrderController', ['$scope', '$state', '$http', '$stateParams', 'confirmDialog', '$filter', '$q', 'setOrderGroupDialog', 'setOrderServerDialog', 'setCurrentAccountDialog', ($scope, $state, $http, $stateParams, confirmDialog, $filter, $q, setOrderGroupDialog, setOrderServerDialog, setCurrentAccountDialog) => { - $scope.setTitle('编辑订单'); + $scope.setTitle('Изменить заказ'); $scope.setMenuButton('arrow_back', 'admin.order'); $scope.changeCurrentAccount = { flow: false, @@ -188,10 +188,10 @@ app autoRemove: false, }; $scope.typeList = [ - {key: '周', value: 2}, - {key: '月', value: 3}, - {key: '天', value: 4}, - {key: '小时', value: 5}, + {key: 'Неделя', value: 2}, + {key: 'Месяц', value: 3}, + {key: 'День', value: 4}, + {key: 'Час', value: 5}, ]; $scope.orderId = $stateParams.id; @@ -279,21 +279,21 @@ app $scope.cancel = () => { $state.go('admin.order'); }; $scope.delete = () => { confirmDialog.show({ - text: '真的要删除此订单吗?', - cancel: '取消', - confirm: '删除', - error: '删除订单失败', + text: 'Вы действительно хотите удалить этот заказ?', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить заказ.', useFnErrorMessage: true, fn: function () { return $http.delete(`/api/admin/order/${ $scope.orderId }`).catch(err => { if(err.status === 403) { let errData = '删除订单失败'; - if(err.data === 'account with this order exists') { errData = '无法删除订单,请先删除订单对应的账号'; } - if(err.data === 'giftcard with this order exists') { errData = '无法删除订单,请先删除订单对应的充值码'; } - if(err.data === 'flowpack order exists') { errData = '无法删除订单,请先删除对应的流量包订单'; } + if(err.data === 'account with this order exists') { errData = 'Невозможно удалить заказ, сначала удалите учетную запись, соответствующую заказу.'; } + if(err.data === 'giftcard with this order exists') { errData = 'Невозможно удалить заказ, сначала удалите код пополнения, соответствующий заказу.'; } + if(err.data === 'flowpack order exists') { errData = 'Невозможно удалить заказ, сначала удалите соответствующий заказ пакета трафика.'; } return Promise.reject(errData); } else { - return Promise.reject('网络异常,请稍后再试'); + return Promise.reject('Неисправность сети, попробуйте еще раз позже'); } }); }, diff --git a/plugins/webgui/public/controllers/adminServer.js b/plugins/webgui/public/controllers/adminServer.js index 23983c065..f80044840 100644 --- a/plugins/webgui/public/controllers/adminServer.js +++ b/plugins/webgui/public/controllers/adminServer.js @@ -2,7 +2,7 @@ const app = angular.module('app'); app.controller('AdminServerController', ['$scope', '$http', '$state', 'moment', '$localStorage', 'adminApi', '$timeout', '$interval', 'serverChartDialog', ($scope, $http, $state, moment, $localStorage, adminApi, $timeout, $interval, serverChartDialog) => { - $scope.setTitle('服务器'); + $scope.setTitle('сервер'); $scope.setMenuSearchButton('search'); $scope.setMenuRightButton('timeline'); if(!$localStorage.admin.serverChart) { @@ -181,7 +181,7 @@ app.controller('AdminServerController', ['$scope', '$http', '$state', 'moment', ]) .controller('AdminServerPageController', ['$scope', '$state', '$stateParams', '$http', 'moment', '$mdDialog', 'adminApi', '$localStorage', '$mdMedia', '$interval', 'banDialog', ($scope, $state, $stateParams, $http, moment, $mdDialog, adminApi, $localStorage, $mdMedia, $interval, banDialog) => { - $scope.setTitle('服务器'); + $scope.setTitle('сервер'); $scope.setMenuButton('arrow_back', 'admin.server'); $scope.visiblePortNumber = 60; const serverId = $stateParams.serverId; @@ -253,10 +253,10 @@ app.controller('AdminServerController', ['$scope', '$http', '$state', 'moment', $scope.deleteServer = id => { const confirm = $mdDialog.confirm() .title('') - .textContent('删除服务器?') + .textContent('Удалить сервер?') .ariaLabel('deleteServer') - .ok('确认') - .cancel('取消'); + .ok('Подтвердить') + .cancel('Отмена'); $mdDialog.show(confirm).then(() => { return $http.delete(`/api/admin/server/${ serverId }`); }).then(() => { @@ -467,7 +467,7 @@ app.controller('AdminServerController', ['$scope', '$http', '$state', 'moment', ]) .controller('AdminAddServerController', ['$scope', '$state', '$stateParams', '$http', 'alertDialog', '$q', ($scope, $state, $stateParams, $http, alertDialog, $q) => { - $scope.setTitle('新增服务器'); + $scope.setTitle('Добавить новые серверы'); $scope.setMenuButton('arrow_back', 'admin.server'); $scope.methods = [ 'aes-256-cfb', @@ -553,10 +553,10 @@ app.controller('AdminServerController', ['$scope', '$http', '$state', 'moment', tags: $scope.tags, }) }).then(() => { - alertDialog.show('添加服务器成功', '确定'); + alertDialog.show('Сервер успешно добавлен', 'Конечно'); $state.go('admin.server'); }).catch(() => { - alertDialog.show('添加服务器失败', '确定'); + alertDialog.show('Не удалось добавить сервер', 'Конечно'); }); }; $scope.cancel = () => { @@ -566,7 +566,7 @@ app.controller('AdminServerController', ['$scope', '$http', '$state', 'moment', ]) .controller('AdminEditServerController', ['$scope', '$state', '$stateParams', '$http', 'confirmDialog', 'alertDialog', '$q', ($scope, $state, $stateParams, $http, confirmDialog, alertDialog, $q) => { - $scope.setTitle('编辑服务器'); + $scope.setTitle('Редактировать сервер'); const serverId = $stateParams.serverId; $scope.setMenuButton('arrow_back', function() { $state.go('admin.serverPage', { serverId: $stateParams.serverId }); @@ -689,10 +689,10 @@ app.controller('AdminServerController', ['$scope', '$http', '$state', 'moment', check: $scope.server.check, }), ]).then(() => { - alertDialog.show('修改服务器成功', '确定'); + alertDialog.show('Сервер успешно изменен', 'Конечно'); $state.go('admin.serverPage', { serverId: $stateParams.serverId }); }).catch(() => { - alertDialog.show('修改服务器失败', '确定'); + alertDialog.show('Не удалось изменить сервер', 'Конечно'); }); }; $scope.cancel = () => { @@ -700,10 +700,10 @@ app.controller('AdminServerController', ['$scope', '$http', '$state', 'moment', }; $scope.deleteServer = () => { confirmDialog.show({ - text: '真的要删除服务器吗?', - cancel: '取消', - confirm: '删除', - error: '删除服务器失败', + text: 'Вы действительно хотите удалить сервер?', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить сервер', fn: function () { return $http.delete('/api/admin/server/' + $stateParams.serverId); }, }).then(() => { $state.go('admin.server'); diff --git a/plugins/webgui/public/controllers/adminSetting.js b/plugins/webgui/public/controllers/adminSetting.js index e2f93a2da..cff4972eb 100644 --- a/plugins/webgui/public/controllers/adminSetting.js +++ b/plugins/webgui/public/controllers/adminSetting.js @@ -2,40 +2,40 @@ const app = angular.module('app'); app.controller('AdminSettingsController', ['$scope', '$state', ($scope, $state) => { - $scope.setTitle('设置'); + $scope.setTitle('Настроить'); $scope.toSetting = path => { $state.go(path); }; if($scope.id === 1) { $scope.settingList = [ { - name: '基本设置', + name: 'Основные настройки', to: 'admin.baseSetting', }, { - name: '公告管理', + name: 'Управление объявлениями', to: 'admin.notice', }, { - name: '群组管理', + name: 'Управление группой', to: 'admin.groupSetting', }, { - name: '订单设置', + name: 'Настройка заказа', to: 'admin.order', }, { - name: '邮件设置', + name: 'Настройки почты', to: 'admin.mailSetting', }, { - name: '账号设置', + name: 'Настройки учетной записи', to: 'admin.accountSetting', }, { - name: '修改密码', + name: 'Изменить пароль', to: 'admin.passwordSetting', }, { - name: '邀请码', + name: 'Код приглашения', to: 'admin.refSetting', }, ]; @@ -47,18 +47,18 @@ app.controller('AdminSettingsController', ['$scope', '$state', }; if($scope.config.giftcard) { $scope.settingList.push({ - name: '充值码', + name: 'Код пополнения', to: 'admin.listGiftCardBatch', }); }; } else { $scope.settingList = [ { - name: '邀请码', + name: 'Код приглашения', to: 'admin.refSetting', }, { - name: '修改密码', + name: 'Изменить пароль', to: 'admin.passwordSetting', }, ]; @@ -67,7 +67,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', ]) .controller('AdminAccountSettingController', ['$scope', '$http', '$timeout', '$state', ($scope, $http, $timeout, $state) => { - $scope.setTitle('账号设置'); + $scope.setTitle('Настройки учетной записи'); $scope.setMenuButton('arrow_back', 'admin.settings'); let lastSave = 0; let lastSavePromise = null; @@ -129,7 +129,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', } ]).controller('AdminBaseSettingController', ['$scope', '$http', '$timeout', '$state', '$q', ($scope, $http, $timeout, $state, $q) => { - $scope.setTitle('基本设置'); + $scope.setTitle('Основные настройки'); $scope.setMenuButton('arrow_back', 'admin.settings'); $scope.baseData = {}; let lastSave = 0; @@ -253,12 +253,12 @@ app.controller('AdminSettingsController', ['$scope', '$state', } ]).controller('AdminMailSettingController', ['$scope', '$http', '$timeout', '$state', 'setEmailDialog', ($scope, $http, $timeout, $state, setEmailDialog) => { - $scope.setTitle('邮件设置'); + $scope.setTitle('Настройки почты'); $scope.setMenuButton('arrow_back', 'admin.settings'); $scope.mails = [ - { type: 'code', name: '注册验证码' }, - { type: 'reset', name: '密码重置' }, - { type: 'order', name: '订单完成' }, + { type: 'code', name: 'Код подтверждения регистрации' }, + { type: 'reset', name: 'Сброс пароля' }, + { type: 'order', name: 'Заказ выполнен' }, ]; $scope.setEmail = type => { setEmailDialog.show(type); @@ -266,7 +266,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', } ]).controller('AdminPasswordSettingController', ['$scope', '$http', '$timeout', '$state', 'adminApi', 'alertDialog', '$localStorage', ($scope, $http, $timeout, $state, adminApi, alertDialog, $localStorage) => { - $scope.setTitle('修改密码'); + $scope.setTitle('Изменить пароль'); $scope.setMenuButton('arrow_back', 'admin.settings'); $scope.data = { password: '', @@ -276,7 +276,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', $scope.confirm = () => { alertDialog.loading(); adminApi.changePassword($scope.data.password, $scope.data.newPassword).then(success => { - alertDialog.show('修改密码成功,请重新登录', '确定') + alertDialog.show('Пароль успешно изменен, пожалуйста, войдите снова', 'Конечно') .then(() => { return $http.post('/api/home/logout'); }).then(() => { @@ -285,13 +285,13 @@ app.controller('AdminSettingsController', ['$scope', '$state', $state.go('home.index'); }); }).catch(err => { - alertDialog.show('修改密码失败', '确定'); + alertDialog.show('Смена пароля не удалась', 'Конечно'); }); }; } ]).controller('AdminTelegramSettingController', ['$scope', '$http', '$interval', '$state', ($scope, $http, $interval, $state) => { - $scope.setTitle('绑定Telegram'); + $scope.setTitle('Ссылка на Телеграмм'); $scope.setMenuButton('arrow_back', 'admin.settings'); $scope.isLoading = true; $scope.code = {}; @@ -312,26 +312,26 @@ app.controller('AdminSettingsController', ['$scope', '$state', } ]).controller('AdminPaymentListController', ['$scope', '$http', '$state', ($scope, $http, $state) => { - $scope.setTitle('支付设置'); + $scope.setTitle('Настройки оплаты'); $scope.setMenuButton('arrow_back', 'admin.settings'); $scope.time = [{ id: 'hour', - name: '小时', + name: 'Час', }, { id: 'day', - name: '天', + name: 'День', }, { id: 'week', - name: '周', + name: 'Неделя', }, { id: 'month', - name: '月', + name: 'Месяц', }, { id: 'season', - name: '季', + name: 'Квартал', }, { id: 'year', - name: '年', + name: 'Год', }]; $scope.editPayment = id => { $state.go('admin.editPayment', { paymentType: id }); @@ -342,23 +342,23 @@ app.controller('AdminSettingsController', ['$scope', '$state', } ]).controller('AdminEditPaymentController', ['$scope', '$http', '$timeout', '$interval', '$state', '$stateParams', ($scope, $http, $timeout, $interval, $state, $stateParams) => { - $scope.setTitle('修改支付'); + $scope.setTitle('Изменить платеж'); $scope.setMenuButton('arrow_back', 'admin.paymentList'); $scope.paymentType = $stateParams.paymentType; $scope.paymentTypeName = type => { switch(type) { case 'hour': - return '小时'; break; + return 'Час'; break; case 'day': - return '天'; break; + return 'День'; break; case 'week': - return '周'; break; + return 'Неделя'; break; case 'month': - return '月'; break; + return 'Месяц'; break; case 'season': - return '季'; break; + return 'Квартал'; break; case 'year': - return '年'; break; + return 'Год'; break; default: return ''; } @@ -416,7 +416,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', } ]).controller('AdminRefSettingController', ['$scope', '$http', '$timeout', '$state', ($scope, $http, $timeout, $state) => { - $scope.setTitle('邀请码管理'); + $scope.setTitle('Управление кодом приглашения'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.settings'); }); @@ -458,7 +458,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', } ]).controller('AdminRefCodeListController', ['$scope', '$http', '$timeout', '$state', '$mdMedia', ($scope, $http, $timeout, $state, $mdMedia) => { - $scope.setTitle('邀请码列表'); + $scope.setTitle('Список кодов приглашений'); $scope.setMenuSearchButton('search'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.refSetting'); @@ -539,7 +539,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', } ]).controller('AdminEditRefCodeController', ['$scope', '$http', '$timeout', '$state', '$filter', '$stateParams', ($scope, $http, $timeout, $state, $filter, $stateParams) => { - $scope.setTitle('编辑邀请码'); + $scope.setTitle('Изменить код приглашения'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.refCodeList'); }); @@ -571,12 +571,12 @@ app.controller('AdminSettingsController', ['$scope', '$state', }); $scope.getRefUrl = code => `${ $scope.config.site }/home/ref/${ code }`; $scope.clipboardSuccess = event => { - $scope.toast($filter('translate')('邀请链接已复制到剪贴板')); + $scope.toast($filter('translate')('Ссылка приглашения скопирована в буфер обмена')); }; } ]).controller('AdminRefUserListController', ['$scope', '$http', '$timeout', '$state', '$mdMedia', ($scope, $http, $timeout, $state, $mdMedia) => { - $scope.setTitle('邀请用户列表'); + $scope.setTitle('Список приглашенных пользователей'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.refSetting'); }); @@ -627,7 +627,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', ]) .controller('AdminMyRefCodeController', ['$scope', '$http', '$filter', '$state', '$mdMedia', ($scope, $http, $filter, $state, $mdMedia) => { - $scope.setTitle('我的邀请码'); + $scope.setTitle('Мой пригласительный код'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.refSetting'); }); @@ -637,13 +637,13 @@ app.controller('AdminSettingsController', ['$scope', '$state', return `${ $scope.config.site }/home/ref/${ code }`; }; $scope.clipboardSuccess = event => { - $scope.toast($filter('translate')('邀请链接已复制到剪贴板')); + $scope.toast($filter('translate')('Ссылка приглашения скопирована в буфер обмена')); }; } ]) .controller('AdminAddRefUserController', ['$scope', '$http', '$timeout', '$state', '$mdMedia', 'alertDialog', ($scope, $http, $timeout, $state, $mdMedia, alertDialog) => { - $scope.setTitle('添加邀请关系'); + $scope.setTitle('Добавить приглашение'); $scope.setMenuButton('arrow_back', function() { $state.go('admin.refUserList'); }); @@ -683,7 +683,7 @@ app.controller('AdminSettingsController', ['$scope', '$state', .then(success => { $state.go('admin.refUserList'); }).catch(err => { - alertDialog.show('添加失败', '确定'); + alertDialog.show('Добавить не удалось', 'Конечно'); }); }; $scope.cancel = () => { diff --git a/plugins/webgui/public/controllers/adminUser.js b/plugins/webgui/public/controllers/adminUser.js index 15df28a7b..184671a8f 100644 --- a/plugins/webgui/public/controllers/adminUser.js +++ b/plugins/webgui/public/controllers/adminUser.js @@ -2,7 +2,7 @@ const app = angular.module('app'); app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'adminApi', '$mdMedia', '$localStorage', 'userSortDialog', '$timeout', ($scope, $state, $stateParams, adminApi, $mdMedia, $localStorage, userSortDialog, $timeout) => { - $scope.setTitle('用户'); + $scope.setTitle('пользователь'); $scope.setMenuSearchButton('search'); $scope.setFabButton(() => { $state.go('admin.addUser'); @@ -121,7 +121,7 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi ]) .controller('AdminUserPageController', ['$scope', '$state', '$stateParams', '$http', 'editUserCommentDialog', 'adminApi', 'orderDialog', 'confirmDialog', 'emailDialog', 'addAccountDialog', 'setGroupDialog', ($scope, $state, $stateParams, $http, editUserCommentDialog, adminApi, orderDialog, confirmDialog, emailDialog, addAccountDialog, setGroupDialog) => { - $scope.setTitle('用户信息'); + $scope.setTitle('Информация о пользователе'); $scope.setMenuButton('arrow_back', 'admin.user'); const userId = $stateParams.userId; $scope.user = { username: '...' }; @@ -148,10 +148,10 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi getUserData(); $scope.deleteUserAccount = (accountId) => { confirmDialog.show({ - text: '将此账号移除出该用户的列表?', - cancel: '取消', - confirm: '移除', - error: '移除账号失败', + text: 'Удалить эту учетную запись из списка этого пользователя?', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить аккаунт', fn: function () { return $http.delete(`/api/admin/user/${ userId }/${ accountId }`); }, }).then(() => { getUserData(); @@ -161,10 +161,10 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi }; $scope.deleteMacAccount = accountId => { confirmDialog.show({ - text: '删除该账号?', - cancel: '取消', - confirm: '删除', - error: '删除账号失败', + text: 'Удалить этот аккаунт?', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить аккаунт.', fn: function () { return $http.delete('/api/admin/account/mac/', { params: { id: accountId }, }); }, @@ -194,10 +194,10 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi }; $scope.deleteUser = () => { confirmDialog.show({ - text: '真的要删除该用户吗?', - cancel: '取消', - confirm: '删除', - error: '删除用户失败', + text: 'Вы действительно хотите удалить этого пользователя?', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить пользователя', fn: function () { return $http.delete(`/api/admin/user/${ userId }`); }, @@ -225,10 +225,10 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi }; $scope.deleteRefUser = refUserId => { confirmDialog.show({ - text: '删除该邀请关系?', - cancel: '取消', - confirm: '删除', - error: '删除邀请关系失败', + text: 'Удалить это приглашение?', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить связь приглашения', fn: function () { return $http.delete(`/api/admin/ref/${ userId }/${ refUserId }`); }, }).then(() => { getUserData(); @@ -238,10 +238,10 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi }; $scope.deleteRefCode = code => { confirmDialog.show({ - text: '删除该邀请码?\n注意,邀请码对应的邀请关系也会一并删除', - cancel: '取消', - confirm: '删除', - error: '删除邀请码失败', + text: 'Удалить этот пригласительный код? \nОбратите внимание, что пригласительная связь, соответствующая коду приглашения, также будет удалена.', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить код приглашения', fn: function () { return $http.delete(`/api/admin/ref/${ code }`); }, }).then(() => { getUserData(); @@ -258,7 +258,7 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi ]) .controller('AdminAddUserController', ['$scope', '$state', '$stateParams', '$http', 'alertDialog', ($scope, $state, $stateParams, $http, alertDialog) => { - $scope.setTitle('添加用户'); + $scope.setTitle('Добавление пользователей'); $scope.setMenuButton('arrow_back', 'admin.user'); $scope.user = { type: 'normal' }; $scope.confirm = () => { @@ -270,10 +270,10 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi }, { timeout: 15000, }).then(success => { - alertDialog.show('添加用户成功', '确定'); + alertDialog.show('Пользователь успешно добавлен', 'Конечно'); $state.go('admin.user'); }).catch(() => { - alertDialog.show('添加用户失败', '确定'); + alertDialog.show('Не удалось добавить пользователя.', 'Конечно'); }); }; $scope.cancel = () => { @@ -283,7 +283,7 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi ]) .controller('AdminAdminPageController', ['$scope', '$state', '$stateParams', '$http', 'adminApi', 'setGroupDialog', 'confirmDialog', ($scope, $state, $stateParams, $http, adminApi, setGroupDialog, confirmDialog) => { - $scope.setTitle('管理员信息'); + $scope.setTitle('Информация администратора'); $scope.setMenuButton('arrow_back', 'admin.user'); const userId = $stateParams.userId; $scope.user = { username: '...' }; @@ -299,10 +299,10 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi $scope.deleteUser = () => { confirmDialog.show({ - text: '真的要删除该用户吗?', - cancel: '取消', - confirm: '删除', - error: '删除用户失败', + text: 'Вы действительно хотите удалить этого пользователя?', + cancel: 'Отмена', + confirm: 'Удалить', + error: 'Не удалось удалить пользователя', fn: function () { return $http.delete(`/api/admin/user/${ userId }`); }, @@ -318,7 +318,7 @@ app.controller('AdminUserController', ['$scope', '$state', '$stateParams', 'admi $http.get('/api/admin/group').then(success => { $scope.groups = success.data; - $scope.groups.unshift({ id: 0, name: '无分组', comment: '' }); + $scope.groups.unshift({ id: 0, name: 'Нет группировки', comment: '' }); $scope.groupInfo = {}; $scope.groups.forEach(f => { $scope.groupInfo[f.id] = { name: f.name, comment: f.comment }; diff --git a/plugins/webgui/public/controllers/app.js b/plugins/webgui/public/controllers/app.js index b2acd6e0b..7963993fd 100644 --- a/plugins/webgui/public/controllers/app.js +++ b/plugins/webgui/public/controllers/app.js @@ -247,7 +247,7 @@ app }); } }).catch(err => { - alertDialog.show(err, '确定'); + alertDialog.show(err, 'Конечно'); }); }; $scope.enterKey = key => { @@ -260,9 +260,9 @@ app return homeApi.findPassword($scope.user.email); }) .then(success => { - alertDialog.show(success, '确定'); + alertDialog.show(success, 'Конечно'); }).catch(err => { - alertDialog.show(err, '确定'); + alertDialog.show(err, 'Конечно'); }); }; $scope.toSignupPage = () => { diff --git a/plugins/webgui/public/controllers/home.js b/plugins/webgui/public/controllers/home.js index d823ea24f..51a62eb8d 100644 --- a/plugins/webgui/public/controllers/home.js +++ b/plugins/webgui/public/controllers/home.js @@ -25,15 +25,15 @@ app } }; $scope.menus = [{ - name: '首页', + name: 'Главная страница', icon: 'home', click: 'home.index' }, { - name: '登录', + name: 'Авторизоваться', icon: 'cloud', click: 'home.login' }, { - name: '注册', + name: 'зарегистрироваться', icon: 'face', click: 'home.signup' }]; @@ -72,7 +72,7 @@ app $state.go('admin.index'); } }).catch(err => { - alertDialog.show(err, '确定'); + alertDialog.show(err, 'Конечно'); }); }; $scope.findPassword = () => { @@ -80,9 +80,9 @@ app return homeApi.findPassword($scope.user.email); }) .then(success => { - alertDialog.show(success, '确定'); + alertDialog.show(success, 'Конечно'); }).catch(err => { - alertDialog.show(err, '确定'); + alertDialog.show(err, 'Конечно'); }); }; $scope.enterKey = key => { @@ -105,7 +105,7 @@ app return homeApi.sendCode($scope.user.email, $scope.home.refId); }) .then(success => { - alertDialog.show('验证码已发至邮箱', '确定'); + alertDialog.show('Код подтверждения был отправлен на ваш адрес электронной почты.', 'Конечно'); $scope.sendCodeTime = 120; const interval = $interval(() => { if ($scope.sendCodeTime > 0) { @@ -116,7 +116,7 @@ app } }, 1000); }).catch(err => { - alertDialog.show(err, '确定'); + alertDialog.show(err, 'Конечно'); }); }; $scope.signup = () => { @@ -124,7 +124,7 @@ app return homeApi.userSignup($scope.user.email, $scope.user.code, $scope.user.password, $scope.home.refId); }) .then(userType => { - alertDialog.show('用户注册成功', '确定').then(success => { + alertDialog.show('Регистрация пользователя прошла успешно', 'Конечно').then(success => { configManager.deleteConfig(); if(userType === 'admin') { $state.go('admin.index'); @@ -133,7 +133,7 @@ app } }); }).catch(err => { - alertDialog.show(err, '确定'); + alertDialog.show(err, 'Конечно'); }); }; } @@ -141,7 +141,7 @@ app .controller('HomeResetPasswordController', ['$scope', '$http', '$state', '$stateParams', 'alertDialog', ($scope, $http, $state, $stateParams, alertDialog) => { if($scope.config.status) { - alertDialog.show('请先退出登录再访问重置密码链接', '确定'); + alertDialog.show('Пожалуйста, выйдите из системы перед доступом к ссылке для сброса пароля.', 'Конечно'); return; } $scope.user = {}; @@ -155,7 +155,7 @@ app }).then(() => { return alertDialog.close(); }).catch(() => { - alertDialog.show('该链接已经失效', '确定').then(() => { + alertDialog.show('Срок действия этой ссылки истек', 'Конечно').then(() => { $state.go('home.index'); }); }); @@ -165,11 +165,11 @@ app token, password: $scope.user.password, }).then(() => { - alertDialog.show('修改密码成功', '确定').then(() => { + alertDialog.show('Пароль успешно изменен', 'Конечно').then(() => { $state.go('home.login'); }); }).catch(() => { - alertDialog.show('修改密码失败', '确定'); + alertDialog.show('Смена пароля не удалась', 'Конечно'); }); }; } @@ -177,7 +177,7 @@ app .controller('HomeMacLoginController', ['$scope', '$http', '$state', '$stateParams', '$localStorage', 'configManager', 'alertDialog', ($scope, $http, $state, $stateParams, $localStorage, configManager, alertDialog) => { if($scope.config.status) { - alertDialog.show('请先退出登录再访问mac登录链接', '确定'); + alertDialog.show('Пожалуйста, выйдите из системы перед доступом к ссылке для входа на Mac.', 'Конечно'); return; } const mac = $stateParams.mac; @@ -197,7 +197,7 @@ app .controller('HomeTelegramLoginController', ['$scope', '$http', '$state', '$stateParams', '$localStorage', 'configManager', 'alertDialog', ($scope, $http, $state, $stateParams, $localStorage, configManager, alertDialog) => { if($scope.config.status) { - alertDialog.show('请先退出登录再访问telegram登录链接', '确定'); + alertDialog.show('Пожалуйста, сначала выйдите из системы, а затем перейдите по ссылке для входа в Telegram.', 'Конечно'); return; } const token = $stateParams.token; @@ -217,7 +217,7 @@ app .controller('HomeRefController', ['$scope', '$state', '$stateParams', '$http', 'alertDialog', ($scope, $state, $stateParams, $http, alertDialog) => { if($scope.config.status) { - alertDialog.show('请先退出登录再访问邀请链接', '确定'); + alertDialog.show('Пожалуйста, выйдите из системы перед доступом к ссылке-приглашению.', 'Конечно'); return; } const refId = $stateParams.refId; @@ -232,7 +232,7 @@ app .controller('HomeRefInputController', ['$scope', '$state', '$stateParams', '$http', 'alertDialog', ($scope, $state, $stateParams, $http, alertDialog) => { if($scope.config.status) { - alertDialog.show('请先退出登录再访问此链接', '确定'); + alertDialog.show('Пожалуйста, выйдите из системы перед доступом к этой ссылке.', 'Конечно'); return; } $scope.home.refInput = true; @@ -289,7 +289,7 @@ app $state.go('admin.index'); } }).catch(err => { - alertDialog.show('登录失败,请稍后重试', '确定').then(() => { $state.go('home.social'); }); + alertDialog.show('Не удалось войти, попробуйте еще раз позже', 'Конечно').then(() => { $state.go('home.social'); }); }); } ]) @@ -310,7 +310,7 @@ app $state.go('admin.index'); } }).catch(err => { - alertDialog.show('登录失败,请稍后重试', '确定').then(() => { $state.go('home.social'); }); + alertDialog.show('Не удалось войти, попробуйте еще раз позже', 'Конечно').then(() => { $state.go('home.social'); }); }); } ]) @@ -332,7 +332,7 @@ app $state.go('admin.index'); } }).catch(err => { - alertDialog.show('登录失败,请稍后重试', '确定').then(() => { $state.go('home.social'); }); + alertDialog.show('Не удалось войти, попробуйте еще раз позже', 'Конечно').then(() => { $state.go('home.social'); }); }); } ]) @@ -354,7 +354,7 @@ app $state.go('admin.index'); } }).catch(err => { - alertDialog.show('登录失败,请稍后重试', '确定').then(() => { $state.go('home.social'); }); + alertDialog.show('Не удалось войти, попробуйте еще раз позже', 'Конечно').then(() => { $state.go('home.social'); }); }); } ]) diff --git a/plugins/webgui/public/controllers/user.js b/plugins/webgui/public/controllers/user.js index 4262fb086..f9e8fcaf1 100644 --- a/plugins/webgui/public/controllers/user.js +++ b/plugins/webgui/public/controllers/user.js @@ -36,26 +36,26 @@ app } }; $scope.menus = [{ - name: '首页', + name: 'Главная страница', icon: 'home', click: 'user.index' }, { - name: '账号', + name: 'Счет', icon: 'account_circle', click: 'user.account' }, { - name: '订单', + name: 'Заказ', icon: 'attach_money', click: 'user.order', hide: true, }, { - name: '设置', + name: 'Настройки', icon: 'settings', click: 'user.settings' }, { name: 'divider', }, { - name: '退出', + name: 'Покинуть', icon: 'exit_to_app', click: function() { $http.post('/api/home/logout').then(() => { @@ -173,7 +173,7 @@ app ]) .controller('UserIndexController', ['$scope', '$state', 'userApi', 'markdownDialog', '$sessionStorage', 'autopopDialog', ($scope, $state, userApi, markdownDialog, $sessionStorage, autopopDialog) => { - $scope.setTitle('首页'); + $scope.setTitle('Главная страница'); $scope.notices = []; $scope.otherNotices = {}; userApi.getNotice().then(success => { @@ -222,7 +222,7 @@ app ]) .controller('UserAccountController', ['$scope', '$http', '$mdMedia', 'userApi', '$filter', 'payDialog', 'qrcodeDialog', '$interval', '$localStorage', 'changePasswordDialog', 'payByGiftCardDialog', 'subscribeDialog', '$q', '$state', 'wireGuardConfigDialog', ($scope, $http, $mdMedia, userApi, $filter, payDialog, qrcodeDialog, $interval, $localStorage, changePasswordDialog, payByGiftCardDialog, subscribeDialog, $q, $state, wireGuardConfigDialog) => { - $scope.setTitle('账号'); + $scope.setTitle('Счет'); $scope.setFabButton($scope.config.multiAccount ? () => { $scope.createOrder(); } : null); @@ -443,7 +443,7 @@ app }; }; $scope.clipboardSuccess = event => { - $scope.toast($filter('translate')('二维码链接已复制到剪贴板')); + $scope.toast($filter('translate')('Ссылка на QR-код скопирована в буфер обмена.')); }; $scope.isWG = server => { return (server && server.type === 'WireGuard'); }; $scope.isSS = server => { return (server && server.type === 'Shadowsocks'); }; @@ -455,7 +455,7 @@ app ]) .controller('UserSettingsController', ['$scope', '$state', ($scope, $state) => { - $scope.setTitle('设置'); + $scope.setTitle('Настройки'); $scope.toPassword = () => { $state.go('user.changePassword'); }; @@ -472,7 +472,7 @@ app ]) .controller('UserChangePasswordController', ['$scope', '$state', 'userApi', 'alertDialog', '$http', '$localStorage', ($scope, $state, userApi, alertDialog, $http, $localStorage) => { - $scope.setTitle('修改密码'); + $scope.setTitle('Изменить пароль'); $scope.setMenuButton('arrow_back', 'user.settings'); $scope.data = { password: '', @@ -482,7 +482,7 @@ app $scope.confirm = () => { alertDialog.loading(); userApi.changePassword($scope.data.password, $scope.data.newPassword).then(success => { - alertDialog.show('修改密码成功,请重新登录', '确定') + alertDialog.show('Пароль успешно изменен, пожалуйста, войдите снова', 'Конечно') .then(() => { return $http.post('/api/home/logout'); }).then(() => { @@ -491,7 +491,7 @@ app $state.go('home.index'); }); }).catch(err => { - alertDialog.show('修改密码失败', '确定'); + alertDialog.show('Смена пароля не удалась', 'Конечно'); }); }; } @@ -520,19 +520,19 @@ app ]) .controller('UserRefController', ['$scope', '$http', '$filter', ($scope, $http, $filter) => { - $scope.setTitle('邀请码'); + $scope.setTitle('Код приглашения'); $scope.setMenuButton('arrow_back', 'user.settings'); $http.get('/api/user/ref/code').then(success => { $scope.code = success.data; }); $http.get('/api/user/ref/user').then(success => { $scope.user = success.data; }); $scope.getRefUrl = code => `${ $scope.config.site }/home/ref/${ code }`; $scope.clipboardSuccess = event => { - $scope.toast($filter('translate')('邀请链接已复制到剪贴板')); + $scope.toast($filter('translate')('Ссылка приглашения скопирована в буфер обмена')); }; } ]) .controller('UserOrderController', ['$scope', '$http', ($scope, $http) => { - $scope.setTitle('我的订单'); + $scope.setTitle('Мои заказы'); $http.get('/api/user/order').then(success => { $scope.orders = success.data; }); @@ -540,7 +540,7 @@ app ]) .controller('UserMacAddressController', ['$scope', '$state', '$http', 'addMacAccountDialog', ($scope, $state, $http, addMacAccountDialog) => { - $scope.setTitle('MAC地址'); + $scope.setTitle('MAC-адрес'); $scope.setMenuButton('arrow_back', 'user.settings'); const getMacAccount = () => { $http.get('/api/user/account/mac').then(success => { @@ -570,7 +570,7 @@ app ]) .controller('UserNoticeController', ['$scope', 'userApi', 'markdownDialog', ($scope, userApi, markdownDialog) => { - $scope.setTitle('公告'); + $scope.setTitle('объявление'); $scope.setMenuButton('arrow_back', 'user.index'); userApi.getNotice().then(success => { $scope.notices = success; diff --git a/plugins/webgui/public/dialogs/addAccount.js b/plugins/webgui/public/dialogs/addAccount.js index 11a6441b2..d5c249428 100644 --- a/plugins/webgui/public/dialogs/addAccount.js +++ b/plugins/webgui/public/dialogs/addAccount.js @@ -99,7 +99,7 @@ app.factory('addAccountDialog', [ '$mdDialog', '$http', 'configManager', 'alertD }).then(success => { hide(); }).catch(err => { - alertDialog.show('添加失败', '确定'); + alertDialog.show('Добавить не удалось', 'Конечно'); }); }; }; @@ -156,9 +156,9 @@ app.factory('addAccountDialog', [ '$mdDialog', '$http', 'configManager', 'alertD accountId: publicInfo.giftcardAccountId === '0' ? null : +publicInfo.giftcardAccountId, }).then(result => { if(!result.data.success) { - alertDialog.show(result.data.message, '确定'); + alertDialog.show(result.data.message, 'Конечно'); } else { - alertDialog.show('充值成功', '确定'); + alertDialog.show('充值成功', 'Конечно'); } }); }; diff --git a/plugins/webgui/public/dialogs/language.js b/plugins/webgui/public/dialogs/language.js index 18203f31b..1ad06dd84 100644 --- a/plugins/webgui/public/dialogs/language.js +++ b/plugins/webgui/public/dialogs/language.js @@ -36,10 +36,10 @@ app.factory('languageDialog' , [ '$mdDialog', $mdDialog => { $scope.publicInfo.hide(); }; $scope.languages = [ - { id: 'zh-CN', name: '中文' }, + { id: 'zh-CN', name: 'Китайский' }, { id: 'en-US', name: 'English' }, - { id: 'ja-JP', name: '日本語' }, - { id: 'ko-KR', name: '한국' }, + { id: 'ja-JP', name: 'Японский' }, + { id: 'ko-KR', name: 'Корейский' }, { id: 'ru-RU', name: 'Русский' }, ]; $scope.languages.forEach(language => { diff --git a/plugins/webgui/public/dialogs/order.js b/plugins/webgui/public/dialogs/order.js index 2ca399f9c..1869391a7 100644 --- a/plugins/webgui/public/dialogs/order.js +++ b/plugins/webgui/public/dialogs/order.js @@ -61,7 +61,7 @@ app.factory('orderFilterDialog' , [ '$mdDialog', '$http', ($mdDialog, $http) => const publicInfo = {}; $http.get('/api/admin/group').then(success => { publicInfo.groups = success.data; - publicInfo.groups.unshift({ id: -1, name: '所有组', comment: '' }); + publicInfo.groups.unshift({ id: -1, name: 'Все группы', comment: '' }); }); const hide = () => { return $mdDialog.hide() diff --git a/plugins/webgui/public/dialogs/pay.js b/plugins/webgui/public/dialogs/pay.js index 4ae71627a..444667c9a 100644 --- a/plugins/webgui/public/dialogs/pay.js +++ b/plugins/webgui/public/dialogs/pay.js @@ -6,21 +6,21 @@ app.factory('payDialog' , [ '$mdDialog', '$interval', '$timeout', '$http', '$loc const publicInfo = { config: configManager.getConfig(), time: [{ - type: 'hour', name: '一小时' + type: 'hour', name: 'Один час' }, { - type: 'day', name: '一天' + type: 'day', name: 'Один день' }, { - type: 'week', name: '一周' + type: 'week', name: 'Одна неделя' }, { - type: 'month', name: '一个月' + type: 'month', name: 'Один месяц' }, { - type: 'season', name: '三个月' + type: 'season', name: 'Квартал' }, { - type: 'year', name: '一年' + type: 'year', name: 'Один год' }], payType: [], }; - if(publicInfo.config.alipay) { publicInfo.payType.push({ type: 'alipay', name: '支付宝' }); } + if(publicInfo.config.alipay) { publicInfo.payType.push({ type: 'alipay', name: 'Alipay' }); } if(publicInfo.config.paypal) { publicInfo.payType.push({ type: 'paypal', name: 'Paypal' }); } if(publicInfo.config.giftcard) { publicInfo.payType.push({ type: 'giftcard', name: '充值码' }); } publicInfo.myPayType = publicInfo.payType[0] ? publicInfo.payType[0].type : undefined; @@ -43,7 +43,7 @@ app.factory('payDialog' , [ '$mdDialog', '$interval', '$timeout', '$http', '$loc const orderStatus = success.data.status; if(orderStatus === 'TRADE_SUCCESS' || orderStatus === 'FINISH') { publicInfo.status = 'success'; - publicInfo.message = '订单会在两分钟内生效,请稍候'; + publicInfo.message = 'Приказ вступит в силу в течение двух минут, пожалуйста, подождите'; interval && $interval.cancel(interval); } }); @@ -85,7 +85,7 @@ app.factory('payDialog' , [ '$mdDialog', '$interval', '$timeout', '$http', '$loc return paypal.request.post(EXECUTE_URL, data) .then(function (res) { publicInfo.status = 'success'; - publicInfo.message = '订单会在两分钟内生效,请稍候'; + publicInfo.message = 'Приказ вступит в силу в течение двух минут, пожалуйста, подождите'; }); } }, '#paypal-button-container'); @@ -168,7 +168,7 @@ app.factory('payDialog' , [ '$mdDialog', '$interval', '$timeout', '$http', '$loc const data = result.data; if (data.success) { publicInfo.status = 'success'; - publicInfo.message = `充值码[ ${ publicInfo.giftCardPassword } ]使用成功`; + publicInfo.message = `Код пополнения[ ${ publicInfo.giftCardPassword } ]Успешное использование`; publicInfo.giftCardPassword = ''; } else { publicInfo.status = 'error'; @@ -176,7 +176,7 @@ app.factory('payDialog' , [ '$mdDialog', '$interval', '$timeout', '$http', '$loc } }).catch(err => { publicInfo.status = 'error'; - publicInfo.message = '充值出现错误'; + publicInfo.message = 'Ошибка перезарядки'; }); }; const jumpToPayPage = () => { diff --git a/plugins/webgui/public/dialogs/payByGiftCard.js b/plugins/webgui/public/dialogs/payByGiftCard.js index a2bc9dd46..f59d45440 100644 --- a/plugins/webgui/public/dialogs/payByGiftCard.js +++ b/plugins/webgui/public/dialogs/payByGiftCard.js @@ -39,12 +39,12 @@ app.factory('payByGiftCardDialog', ['$mdDialog', '$http', '$filter', publicInfo.status = "finish"; const dat = result.data; if (dat.success) { - publicInfo.message = `成功充值${prettyOrderType(dat.type)}卡(卡号 ${dat.cardId})`; + publicInfo.message = `Успешное пополнение${prettyOrderType(dat.type)}Карточка(номер карты ${dat.cardId})`; } else { publicInfo.message = dat.message; } }) - .catch((err) => { publicInfo.status = "finish"; publicInfo.message = "充值出现错误"; }); + .catch((err) => { publicInfo.status = "finish"; publicInfo.message = "Ошибка перезарядки"; }); }; publicInfo.close = close; publicInfo.submit = submit; diff --git a/plugins/webgui/public/dialogs/qrcode.js b/plugins/webgui/public/dialogs/qrcode.js index bb5d9d87a..a4266302c 100644 --- a/plugins/webgui/public/dialogs/qrcode.js +++ b/plugins/webgui/public/dialogs/qrcode.js @@ -17,7 +17,7 @@ app.factory('qrcodeDialog', [ '$mdDialog', '$mdToast', ($mdDialog, $mdToast) => const toast = (delay = 3000) => { $mdToast.show( $mdToast.simple() - .textContent('链接已复制') + .textContent('Ссылка скопирована.') .position('top right') .hideDelay(delay) ); diff --git a/plugins/webgui/public/dialogs/subscribe.js b/plugins/webgui/public/dialogs/subscribe.js index beb831c4d..304a300f9 100644 --- a/plugins/webgui/public/dialogs/subscribe.js +++ b/plugins/webgui/public/dialogs/subscribe.js @@ -64,7 +64,7 @@ app.factory('subscribeDialog', [ '$mdDialog', '$http', 'configManager', ($mdDial $scope.toast = () => { $mdToast.show( $mdToast.simple() - .textContent('链接已复制到剪贴板') + .textContent('Ссылка скопирована в буфер обмена') .position('top right') .hideDelay(3000) ); diff --git a/plugins/webgui/public/dialogs/user.js b/plugins/webgui/public/dialogs/user.js index db6aff6de..d85e4d03e 100644 --- a/plugins/webgui/public/dialogs/user.js +++ b/plugins/webgui/public/dialogs/user.js @@ -6,7 +6,7 @@ app.factory('userSortDialog' , [ '$mdDialog', '$http', ($mdDialog, $http) => { const publicInfo = {}; $http.get('/api/admin/group').then(success => { publicInfo.groups = success.data; - publicInfo.groups.unshift({ id: -1, name: '所有组', comment: '' }); + publicInfo.groups.unshift({ id: -1, name: 'Все группы', comment: '' }); }); const hide = () => { return $mdDialog.hide() diff --git a/plugins/webgui/public/filters/giftcard.js b/plugins/webgui/public/filters/giftcard.js index 2a0f38dd2..e2896a343 100644 --- a/plugins/webgui/public/filters/giftcard.js +++ b/plugins/webgui/public/filters/giftcard.js @@ -3,10 +3,10 @@ const app = angular.module('app'); app.filter('prettyPrintBatchStatus', function () { return function (status) { const result = { - AVAILABLE: '可用', - USEDUP: '售罄', - REVOKED: '召回' + AVAILABLE: 'Доступный', + USEDUP: 'распроданный', + REVOKED: 'отзывать' }; - return result[status] || '其它'; + return result[status] || 'другой'; }; }); diff --git a/plugins/webgui/public/filters/orderStatus.js b/plugins/webgui/public/filters/orderStatus.js index 76ffe8fbd..0a88f1e42 100644 --- a/plugins/webgui/public/filters/orderStatus.js +++ b/plugins/webgui/public/filters/orderStatus.js @@ -3,18 +3,18 @@ const app = angular.module('app'); app.filter('order', function () { return function (status) { const result = { - CREATE: '创建', - WAIT_BUYER_PAY: '等待', - TRADE_SUCCESS: '付款', - FINISH: '完成', - USED: '完成', - TRADE_CLOSED: '关闭', - created: '创建', - approved: '付款', - finish: '完成', - closed: '关闭', + CREATE: 'создавать', + WAIT_BUYER_PAY: 'ждать', + TRADE_SUCCESS: 'Оплата', + FINISH: 'Заканчивать', + USED: 'Заканчивать', + TRADE_CLOSED: 'закрытие', + created: 'создавать', + approved: 'Оплата', + finish: 'Заканчивать', + closed: 'закрытие', }; - return result[status] || '其它'; + return result[status] || 'другой'; }; }) .filter('prettyOrderId', function () { @@ -25,14 +25,14 @@ app.filter('order', function () { // TODO: 将此处的类型和其他地方的类型代码全部集中到一处 return function (type) { const cardType = { - 5: '小时', - 4: '日', - 2: '周', - 3: '月', - 6: '季度', - 7: '年', - 8: '两周', - 9: '半年', + 5: 'Час', + 4: 'день', + 2: 'неделя', + 3: 'масяц', + 6: 'Квартал', + 7: 'Год', + 8: 'Две недели', + 9: 'Полгода', }; return cardType[type]; }; diff --git a/plugins/webgui/public/filters/time.js b/plugins/webgui/public/filters/time.js index 8f76b97e1..a7d25868f 100644 --- a/plugins/webgui/public/filters/time.js +++ b/plugins/webgui/public/filters/time.js @@ -11,22 +11,22 @@ app.filter('timeago', function() { if (time < 0) { time = -time; } else { - retTail = '前'; + retTail = 'вперед'; } const day = Math.trunc(time / (24 * 3600 * 1000)); const hour = Math.trunc(time % (24 * 3600 * 1000) / (3600 * 1000)); const minute = Math.trunc(time % (24 * 3600 * 1000) % (3600 * 1000) / (60 * 1000)); if (day) { - ret += day + '天'; + ret += day + 'дни'; } if (day || hour) { - ret += hour + '小时'; + ret += hour + 'часы'; } if (!day && (hour || minute)) { - ret += minute + '分钟'; + ret += minute + 'минута'; } if (time < (60 * 1000)) { - ret = '几秒'; + ret = 'секунды'; } return ret + retTail; }; @@ -47,20 +47,20 @@ app.filter('timeagoshort', function() { if (time < 0) { time = -time; } else { - retTail = '前'; + retTail = 'вперед'; } const day = Math.trunc(time / (24 * 3600 * 1000)); const hour = Math.trunc(time % (24 * 3600 * 1000) / (3600 * 1000)); const minute = Math.trunc(time % (24 * 3600 * 1000) % (3600 * 1000) / (60 * 1000)); if (day) { - ret += day + '天'; + ret += day + 'дни'; } else if (hour) { - ret += hour + '小时'; + ret += hour + 'часы'; } else if (minute) { - ret += minute + '分钟'; + ret += minute + 'минута'; } else if (time < (60 * 1000)) { - ret = '几秒'; + ret = 'секунды'; } return ret + retTail; }; @@ -72,9 +72,9 @@ app.filter('translateTime', ['$translate', $translate => { if(currentLanguage === 'zh-CN') { return input; } else if (currentLanguage === 'en-US') { - const matchDay = input.match(/([0-9]){1,}天/); - const matchHour = input.match(/([0-9]){1,}小时/); - const matchMinute = input.match(/([0-9]){1,}分/); + const matchDay = input.match(/([0-9]){1,}дни/); + const matchHour = input.match(/([0-9]){1,}часы/); + const matchMinute = input.match(/([0-9]){1,}минуты/); let ret = ''; if(matchDay) { ret += matchDay[0].substr(0, matchDay[0].length - 1) + (+matchDay[0].substr(0, matchDay[0].length - 1) <= 1 ? ' day ' : ' days '); @@ -85,10 +85,10 @@ app.filter('translateTime', ['$translate', $translate => { if(matchMinute) { ret += matchMinute[0].substr(0, matchMinute[0].length - 1) + (+matchMinute[0].substr(0, matchMinute[0].length - 1) <= 1 ? ' min ' : ' mins'); } - if(input.match(/几秒/)) { + if(input.match(/секунды/)) { ret += 'a few seconds'; } - if(input.match(/前$/)) { + if(input.match(/назад$/)) { ret += ' ago'; } return ret; @@ -107,16 +107,16 @@ app.filter('timePeriod', [() => { const hour = Math.trunc(time % (24 * 3600 * 1000) / (3600 * 1000)); const minute = Math.trunc(time % (24 * 3600 * 1000) % (3600 * 1000) / (60 * 1000)); if (day) { - ret += day + '天'; + ret += day + 'дни'; } if (day || hour) { - ret += hour + '小时'; + ret += hour + 'часы'; } if (!day && (hour || minute)) { - ret += minute + '分钟'; + ret += minute + 'минута'; } if (time < (60 * 1000)) { - ret = '几秒'; + ret = 'секунды'; } return ret; }; diff --git a/plugins/webgui/public/services/adminService.js b/plugins/webgui/public/services/adminService.js index 7fd1374a5..c3edfc09e 100644 --- a/plugins/webgui/public/services/adminService.js +++ b/plugins/webgui/public/services/adminService.js @@ -31,10 +31,10 @@ app.factory('adminApi', ['$http', '$q', 'moment', 'preload', '$timeout', 'config }).filter(f => f); } let url; - if(payType === '支付宝') { url = '/api/admin/alipay'; } + if(payType === 'Alipay') { url = '/api/admin/alipay'; } if(payType === 'Paypal') { url = '/api/admin/paypal'; } - if(payType === '充值码') { url = '/api/admin/giftcard'; } - if(payType === '邀请码') { url = '/api/admin/refOrder'; } + if(payType === 'Код пополнения') { url = '/api/admin/giftcard'; } + if(payType === 'Код приглашения') { url = '/api/admin/refOrder'; } const search = opt.search || ''; const filter = opt.filter || ''; // const sort = opt.sort || 'alipay.createTime_desc'; @@ -45,10 +45,10 @@ app.factory('adminApi', ['$http', '$q', 'moment', 'preload', '$timeout', 'config const getCsvOrder = (payType, opt = {}) => { let url; - if(payType === '支付宝') { url = '/api/admin/alipay/csv'; } + if(payType === 'Alipay') { url = '/api/admin/alipay/csv'; } if(payType === 'Paypal') { url = '/api/admin/paypal/csv'; } - if(payType === '充值码') { url = '/api/admin/giftcard/csv'; } - if(payType === '邀请码') { url = '/api/admin/refOrder/csv'; } + if(payType === 'Код пополнения') { url = '/api/admin/giftcard/csv'; } + if(payType === 'Код приглашения') { url = '/api/admin/refOrder/csv'; } let downloadUrl = url + '?'; for(const o in opt) { if(Array.isArray(opt[o])) { diff --git a/plugins/webgui/public/services/homeService.js b/plugins/webgui/public/services/homeService.js index bde031857..4e1e3bde1 100644 --- a/plugins/webgui/public/services/homeService.js +++ b/plugins/webgui/public/services/homeService.js @@ -11,11 +11,11 @@ app.factory('homeApi', ['$http', $http => { .then(success => success.data) .catch(err => { if(err.status === 403) { - let errData = '用户注册失败'; - if(err.data === 'user exists') { errData = '该用户已存在'; } + let errData = 'Регистрация пользователя не удалась'; + if(err.data === 'user exists') { errData = 'Пользователь уже существует'; } return Promise.reject(errData); } else { - return Promise.reject('网络异常,请稍后再试'); + return Promise.reject('Неисправность сети, попробуйте еще раз позже'); } }); }; @@ -27,13 +27,13 @@ app.factory('homeApi', ['$http', $http => { return success.data; }).catch(err => { if(err.status === 403) { - let errData = '用户名或密码错误'; - if(err.data === 'user not exists') { errData = '该用户尚未注册'; } - if(err.data === 'invalid body') { errData = '请输入正确的用户名格式'; } - if(err.data === 'password retry out of limit') { errData = '密码重试次数已达上限\n请稍后再试'; } + let errData = 'Неправильное имя пользователя или пароль'; + if(err.data === 'user not exists') { errData = 'Пользователь еще не зарегистрирован'; } + if(err.data === 'invalid body') { errData = 'Введите правильный формат имени пользователя.'; } + if(err.data === 'password retry out of limit') { errData = 'Достигнуто максимальное количество попыток ввода пароля.\nПопробуйте еще раз позже.'; } return Promise.reject(errData); } else { - return Promise.reject('网络异常,请稍后再试'); + return Promise.reject('Неисправность сети, попробуйте еще раз позже'); } }); }; @@ -45,33 +45,33 @@ app.factory('homeApi', ['$http', $http => { return 'success'; }).catch(err => { if(err.status === 403) { - let errData = '验证码发送错误'; - if(err.data === 'invalid ref code') { errData = '发送错误,无效的邀请码'; } - if(err.data === 'email in black list') { errData = '发送错误,请更换邮箱尝试'; } - if(err.data === 'send email out of limit') { errData = '请求过于频繁,请稍后再试'; } - if(err.data === 'signup close') { errData = '当前时段尚未开放注册'; } + let errData = 'Ошибка отправки проверочного кода'; + if(err.data === 'invalid ref code') { errData = 'Ошибка отправки, неверный код приглашения'; } + if(err.data === 'email in black list') { errData = 'Ошибка отправки, попробуйте другой адрес электронной почты'; } + if(err.data === 'send email out of limit') { errData = 'Запрос слишком частый, попробуйте еще раз позже'; } + if(err.data === 'signup close') { errData = 'Регистрация на текущий период не открыта'; } return Promise.reject(errData); } else { - return Promise.reject('网络异常,请稍后再试'); + return Promise.reject('Неисправность сети, попробуйте еще раз позже'); } }); }; const findPassword = email => { if(!email) { - return Promise.reject('请输入邮箱地址再点击“找回密码”'); + return Promise.reject('Введите свой адрес электронной почты и нажмите «Восстановить пароль».'); }; return $http.post('/api/home/password/sendEmail', { email, }).then(success => { - return '重置密码链接已发至您的邮箱,\n请注意查收'; + return 'Ссылка для сброса пароля была отправлена ​​на ваш адрес электронной почты, \nпожалуйста, проверьте ее.'; }).catch(err => { let errData = null; if(err.status === 403 && err.data === 'already send') { - errData = '重置密码链接已经发送,\n请勿重复发送'; + errData = 'Ссылка для сброса пароля была отправлена. \nПожалуйста, не отправляйте ее снова.'; } else if(err.status === 403 && err.data === 'user not exists') { - errData = '请输入正确的邮箱地址'; + errData = 'Пожалуйста, введите действительный адрес электронной почты'; } else { - errData = '网络异常,请稍后再试'; + errData = 'Неисправность сети, попробуйте еще раз позже'; } return Promise.reject(errData); }); diff --git a/plugins/webgui/public/views/admin/account.html b/plugins/webgui/public/views/admin/account.html index a402ddb41..e2468930b 100644 --- a/plugins/webgui/public/views/admin/account.html +++ b/plugins/webgui/public/views/admin/account.html @@ -1,5 +1,5 @@ - -
没有账号
点击这里添加
+ +
Нет аккаунтов
Нажмите здесь, чтобы добавить
@@ -31,4 +31,4 @@
-
+ \ No newline at end of file diff --git a/plugins/webgui/public/views/admin/accountPage.html b/plugins/webgui/public/views/admin/accountPage.html index 6b9879e33..0a1f651cf 100644 --- a/plugins/webgui/public/views/admin/accountPage.html +++ b/plugins/webgui/public/views/admin/accountPage.html @@ -3,7 +3,7 @@ - {{ account.port || '...' }} {{account.orderName}}未激活 + {{ account.port || '...' }} {{account.orderName}}Не активировано {{ account.user || account.password || '...' }} @@ -27,65 +27,65 @@
-
地址:
{{ server.host }}
+
адрес:
{{ server.host }}
-
端口:
{{ account.port + server.shift }}
+
порт:
{{ account.port + server.shift }}
-
端口:
{{ server.wgPort }}
+
порт:
{{ server.wgPort }}
-
端口:
{{ server.tjPort }}
+
порт:
{{ server.tjPort }}
-
密码:
{{ account.password }}
+
пароль:
{{ account.password }}
-
密码:
{{ account.port + ':' + account.password }}
+
пароль:
{{ account.port + ':' + account.password }}
-
加密方式:
Trojan
+
Шифрование:
Trojan
-
加密方式:
{{ server.method }}
+
Шифрование:
{{ server.method }}
-
公钥:
{{ account.publicKey }}
+
Открытый ключ:
{{ account.publicKey }}
-
私钥:
{{ account.privateKey }}
+
Закрытый ключ:
{{ account.privateKey }}
-
流量:
+
поток:
{{ serverPortFlow | flow }} / {{ account.data.flow + account.data.flowPack | flow}} @@ -95,15 +95,15 @@
-
流量倍率:
{{ server.scale }}
+
Скорость потока:
{{ server.scale }}
-
周期:
+
цикл:
- + Нет {{account.data.from | date : 'yyyy-MM-dd HH:mm'}}
{{account.data.to | date : 'yyyy-MM-dd HH:mm'}}
@@ -113,10 +113,10 @@
-
到期时间:
+
Срок годности:
- 不限时 - 未激活 + Нет ограничений по времени + Не активировано {{account.data.expire | date : 'yyyy-MM-dd HH:mm'}}
{{ account.data.expire | timeago | translateTime }}
@@ -126,7 +126,7 @@
-
最近连接:
+
Недавние связи:
{{lastConnect | date : 'yyyy-MM-dd HH:mm'}}
{{ lastConnect | timeago | translateTime }}
@@ -134,7 +134,7 @@
-
备注:
{{ server.comment }}
+
Замечание:
{{ server.comment }}
@@ -145,10 +145,10 @@
- {{ '订阅链接' | translate }} - {{ '账号二维码' | translate }} - {{ '账号二维码' | translate }} - {{ '账号二维码' | translate }} + {{ 'Ссылка для подписки' | translate }} + {{ 'QR-код аккаунта' | translate }} + {{ 'QR-код аккаунта' | translate }} + {{ 'QR-код аккаунта' | translate }}
@@ -157,9 +157,9 @@
- - - + час + день + неделя
diff --git a/plugins/webgui/public/views/admin/accountSetting.html b/plugins/webgui/public/views/admin/accountSetting.html index 64ddf1401..46faf06bb 100644 --- a/plugins/webgui/public/views/admin/accountSetting.html +++ b/plugins/webgui/public/views/admin/accountSetting.html @@ -10,7 +10,7 @@
-
新用户自动分配账号
+
Автоматически назначать учетные записи новым пользователям
@@ -19,7 +19,7 @@
-
从订单中选择类型
+
Выберите тип из заказа
@@ -30,26 +30,26 @@
- + - - - - 小时 + неделя + месяц + день + час - + - +
- + {{ order.name }} @@ -62,7 +62,7 @@
-
合并多服务器流量统计
+
Объединить статистику трафика нескольких серверов
@@ -71,7 +71,7 @@
-
到期自动删除
+
Автоматически удалять по истечении срока действия
@@ -80,7 +80,7 @@
-
自定义新用户可用服务器
+
Настройте серверы, доступные новым пользователям
@@ -103,7 +103,7 @@
-
新用户分组
+
Новая группа пользователей
{{ group.name }} @@ -116,7 +116,7 @@
-
随机分配端口号
+
Случайным образом назначать номера портов
@@ -125,7 +125,7 @@
-
新端口号分配范围
+
Новый диапазон распределения номеров портов
@@ -133,11 +133,11 @@
- + - + @@ -149,7 +149,7 @@
-
开放注册
+
Открытая регистрация
@@ -158,7 +158,7 @@
-
开启订阅功能
+
Включить подписку
@@ -167,7 +167,7 @@
-
开启MAC地址订阅功能
+
Включить функцию подписки по MAC-адресу
@@ -176,7 +176,7 @@
-
精简模式
+
Облегченный режим
@@ -185,7 +185,7 @@
-
显示用户不可用的服务器
+
Показывает, что сервер недоступен для пользователя
@@ -194,7 +194,7 @@
-
显示账号类型
+
Показать тип учетной записи
diff --git a/plugins/webgui/public/views/admin/accountSortAndFilterDialog.html b/plugins/webgui/public/views/admin/accountSortAndFilterDialog.html index 89dd9c4cc..9f0e49e1a 100644 --- a/plugins/webgui/public/views/admin/accountSortAndFilterDialog.html +++ b/plugins/webgui/public/views/admin/accountSortAndFilterDialog.html @@ -1,37 +1,37 @@
-
排序方式:
+
Сортировать по:
- 端口号 ↑ + Номер порта ↑
- 过期时间 ↑ + Срок годности ↑
- 端口号 ↓ + Номер порта ↓
- 过期时间 ↓ + Срок годности ↓
-
过滤条件:
+
Фильтры:
- 未过期 - 已过期 + Не истек срок действия + Истекший
- 已绑定用户 - 未绑定用户 + Связанный пользователь + Непривязанный пользователь
- 无期限 - MAC地址 + Неопределенный + MAC-адрес
-
订单类型:
+
Тип заказа:
@@ -43,7 +43,7 @@ - 确定 + Конечно diff --git a/plugins/webgui/public/views/admin/addAccount.html b/plugins/webgui/public/views/admin/addAccount.html index df42971cb..8b6df43e5 100644 --- a/plugins/webgui/public/views/admin/addAccount.html +++ b/plugins/webgui/public/views/admin/addAccount.html @@ -5,7 +5,7 @@
-
从订单中选择类型
+
Выберите тип из заказа
@@ -13,7 +13,7 @@
- +
{{ type.key }} @@ -26,7 +26,7 @@
- +
{{ order.name }} @@ -39,48 +39,48 @@
- +
-
端口不能为空
+
Порт не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
- +
-
流量不能为空
+
Трафик не может быть пустым
- +
- 自定义服务器 [{{ account.server ? account.server.length : '∞' }}] + Пользовательский сервер [{{ account.server ? account.server.length : '∞' }}]
keyboard_arrow_right
-
合并多服务器流量统计
+
Объединить статистику трафика нескольких серверов
-
到期自动删除
+
Автоматически удалять по истечении срока действия
@@ -97,13 +97,13 @@ md-require-match="true" md-autoselect="true" md-select-on-match="true" - placeholder="指定用户(可选)" + placeholder="Укажите пользователя (необязательно)" > {{ item.username }} - 没有匹配的用户 + Нет соответствующих пользователей
@@ -114,8 +114,8 @@
- 取消 - 确认 + Отменить + подтверждать
diff --git a/plugins/webgui/public/views/admin/addGroup.html b/plugins/webgui/public/views/admin/addGroup.html index 52b458dff..c4d7be671 100644 --- a/plugins/webgui/public/views/admin/addGroup.html +++ b/plugins/webgui/public/views/admin/addGroup.html @@ -6,22 +6,22 @@
- +
-
不能名称为空
+
Имя не может быть пустым
- +
-
备注不能为空
+
Замечания не могут быть пустыми
-
允许购买多个账号
+
Позволяет приобретать несколько аккаунтов
@@ -30,7 +30,7 @@
- 公告 + Объявление
keyboard_arrow_right @@ -39,7 +39,7 @@
- 订单 + Заказать
keyboard_arrow_right @@ -54,8 +54,8 @@
- 取消 - 确认 + Отменить + подтверждать
diff --git a/plugins/webgui/public/views/admin/addRefUser.html b/plugins/webgui/public/views/admin/addRefUser.html index cf834dedc..10c508d6f 100644 --- a/plugins/webgui/public/views/admin/addRefUser.html +++ b/plugins/webgui/public/views/admin/addRefUser.html @@ -14,17 +14,17 @@ md-item-text="item.username" md-delay="750" md-require-match="true" - placeholder="邀请人邮箱"> + placeholder="Электронная почта приглашающего"> {{ item.username }} - 没有匹配的用户 + Нет соответствующих пользователей
- + {{ code.code }} @@ -39,12 +39,12 @@ md-item-text="item.username" md-delay="750" md-require-match="true" - placeholder="被邀请用户邮箱"> + placeholder="Адрес электронной почты приглашенного пользователя"> {{ item.username }} - 没有匹配的用户 + Нет соответствующих пользователей
@@ -55,8 +55,8 @@
- 取消 - 确认 + Отменить + подтверждать
diff --git a/plugins/webgui/public/views/admin/addServer.html b/plugins/webgui/public/views/admin/addServer.html index 5fb098e3a..de4d4e783 100644 --- a/plugins/webgui/public/views/admin/addServer.html +++ b/plugins/webgui/public/views/admin/addServer.html @@ -13,35 +13,35 @@
- +
-
名称不能为空
+
Имя не может быть пустым
- + - +
-
地址不能为空
+
Адрес не может быть пустым
- +
-
端口不能为空
+
Порт не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
@@ -49,19 +49,19 @@ - + - + - +
- + + placeholder="Пожалуйста, введите метод шифрования"> {{method}}
- +
-
流量倍率不能为空
+
Скорость потока не может быть пустой
- +
-
端口偏移量不能为空
+
Смещение порта не может быть пустым
- +
- + {{item}} @@ -119,8 +119,8 @@
- 取消 - 确认 + Отменить + подтверждать
diff --git a/plugins/webgui/public/views/admin/addUser.html b/plugins/webgui/public/views/admin/addUser.html index 958b7234b..e99eb8301 100644 --- a/plugins/webgui/public/views/admin/addUser.html +++ b/plugins/webgui/public/views/admin/addUser.html @@ -6,21 +6,21 @@
- 普通用户 - 管理员 + Обычный пользователь + Администратор - +
-
邮箱不能为空
+
Адрес электронной почты не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
@@ -30,8 +30,8 @@
- 取消 - 确认 + Отменить + подтверждать
diff --git a/plugins/webgui/public/views/admin/adminPage.html b/plugins/webgui/public/views/admin/adminPage.html index 142409520..f8c2aa1c8 100644 --- a/plugins/webgui/public/views/admin/adminPage.html +++ b/plugins/webgui/public/views/admin/adminPage.html @@ -11,7 +11,7 @@
-
注册时间
+
Время регистрации
{{ user.createTime | date : 'yyyy-MM-dd HH:mm' }}
{{ user.createTime | timeagoshort }}
@@ -20,7 +20,7 @@
-
上次登录
+
Последний вход
{{ user.lastLogin | date : 'yyyy-MM-dd HH:mm' }}
{{ user.lastLogin | timeagoshort }}
@@ -29,15 +29,15 @@
-
分组
+
Группировка
{{ groupInfo[user.group].name }}
- 设置分组 - 删除用户 + Настроить группировку + Удаление пользователя
diff --git a/plugins/webgui/public/views/admin/baseSetting.html b/plugins/webgui/public/views/admin/baseSetting.html index d535cfa6c..b06ae2441 100644 --- a/plugins/webgui/public/views/admin/baseSetting.html +++ b/plugins/webgui/public/views/admin/baseSetting.html @@ -11,34 +11,34 @@
- + - +
-
使用Service Worker缓存静态页面
+
Использование Service Worker для кэширования статических страниц
-
接收消息推送
+
Получать push-уведомления
-
主题颜色
+
Цвета темы
-
主题第二颜色
+
Тема Второй Цвет
- 修改登录密码 + Изменить пароль - +
-
密码不能为空
+
Пароль не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
@@ -34,7 +34,7 @@
- 确认 + подтверждать
diff --git a/plugins/webgui/public/views/admin/editAccount.html b/plugins/webgui/public/views/admin/editAccount.html index bca2c15d1..dae305a5f 100644 --- a/plugins/webgui/public/views/admin/editAccount.html +++ b/plugins/webgui/public/views/admin/editAccount.html @@ -12,14 +12,14 @@
-
从订单中选择类型
+
Выберите тип из заказа
-
更改类型时保持过期时间不变
+
Сохраняйте срок действия неизменным при изменении типа
@@ -27,7 +27,7 @@
- +
{{ type.key }} @@ -40,7 +40,7 @@
- +
{{ order.name }} @@ -53,55 +53,55 @@
- +
-
端口不能为空
+
Порт не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
- +
-
流量不能为空
+
Трафик не может быть пустым
- +
- 自定义服务器 [{{ account.server ? account.server.length : '∞' }}] + Пользовательский сервер [{{ account.server ? account.server.length : '∞' }}]
keyboard_arrow_right
-
合并多服务器流量统计
+
Объединить статистику трафика нескольких серверов
-
到期自动删除
+
Автоматически удалять по истечении срока действия
-
清除该账号流量
+
Очистите трафик аккаунта
@@ -115,9 +115,9 @@
- 取消 - 删除 - 确认 + Отменить + Удалить + подтверждать
diff --git a/plugins/webgui/public/views/admin/editGroup.html b/plugins/webgui/public/views/admin/editGroup.html index a355391fa..e4edc3570 100644 --- a/plugins/webgui/public/views/admin/editGroup.html +++ b/plugins/webgui/public/views/admin/editGroup.html @@ -6,22 +6,22 @@
- +
-
不能名称为空
+
Имя не может быть пустым
- +
-
备注不能为空
+
Замечания не могут быть пустыми
-
允许购买多个账号
+
Позволяет приобретать несколько аккаунтов
@@ -30,7 +30,7 @@
- 公告 + Объявление
keyboard_arrow_right @@ -39,7 +39,7 @@
- 订单 + Заказать
keyboard_arrow_right @@ -54,9 +54,9 @@
- 取消 - 删除 - 确认 + Отменить + Удалить + подтверждать
diff --git a/plugins/webgui/public/views/admin/editNotice.html b/plugins/webgui/public/views/admin/editNotice.html index c68ef961b..5d7cc79a7 100644 --- a/plugins/webgui/public/views/admin/editNotice.html +++ b/plugins/webgui/public/views/admin/editNotice.html @@ -4,17 +4,17 @@
- +
- +
-
自动弹出
+
Автоматическое всплывающее окно
@@ -24,7 +24,7 @@
- 分组 + Группировка
keyboard_arrow_right @@ -40,9 +40,9 @@
- 删除 - 预览 - 保存 + Удалить + Предварительный просмотр + Сохранить
diff --git a/plugins/webgui/public/views/admin/editOrder.html b/plugins/webgui/public/views/admin/editOrder.html index 6ffa8475f..a2f8098e5 100644 --- a/plugins/webgui/public/views/admin/editOrder.html +++ b/plugins/webgui/public/views/admin/editOrder.html @@ -20,23 +20,23 @@
- +
-
名称不能为空
+
Имя не может быть пустым
- + - +
- +
{{type.key}} @@ -44,13 +44,13 @@
- +
- + @@ -60,54 +60,54 @@
- + - +
- +
- + - +
-
到期自动删除
+
Автоматически удалять по истечении срока действия
-
合并多服务器流量统计
+
Объединить статистику трафика нескольких серверов
-
续费允许更换套餐
+
Продление позволяет менять пакеты
-
自动激活
+
Автоматическая активация
@@ -117,7 +117,7 @@
- 自定义服务器 [{{ order.orderServer ? orderServer.length : '∞' }}] + Пользовательский сервер [{{ order.orderServer ? orderServer.length : '∞' }}]
keyboard_arrow_right @@ -128,7 +128,7 @@
- 自定义分组 [{{ orderGroup.length }}] + Пользовательская группировка [{{ orderGroup.length }}]
keyboard_arrow_right @@ -139,7 +139,7 @@
- 将改动变更到已有的账号 [{{ currentAccount }}] + Применить изменения к существующей учетной записи [{{ currentAccount }}]
keyboard_arrow_right @@ -155,9 +155,9 @@
- 取消 - 删除 - 确认 + Отменить + Удалить + подтверждать
diff --git a/plugins/webgui/public/views/admin/editPayment.html b/plugins/webgui/public/views/admin/editPayment.html index 96492b06e..c4ac0ad28 100644 --- a/plugins/webgui/public/views/admin/editPayment.html +++ b/plugins/webgui/public/views/admin/editPayment.html @@ -13,7 +13,7 @@
- +
@@ -22,15 +22,15 @@ - + - + - +
@@ -41,7 +41,7 @@
-
到期自动删除
+
Автоматически удалять по истечении срока действия
@@ -52,7 +52,7 @@
-
合并多服务器流量统计
+
Объединить статистику трафика нескольких серверов
@@ -63,7 +63,7 @@
-
自定义可用服务器
+
Настроить доступные серверы
diff --git a/plugins/webgui/public/views/admin/editRefCode.html b/plugins/webgui/public/views/admin/editRefCode.html index b4a353de9..d4bf4e094 100644 --- a/plugins/webgui/public/views/admin/editRefCode.html +++ b/plugins/webgui/public/views/admin/editRefCode.html @@ -1,7 +1,7 @@ - {{ refCode.code }}{{ '复制链接' | translate }} + {{ refCode.code }}{{ 'Копировать ссылку' | translate }} @@ -12,13 +12,13 @@
- + - + diff --git a/plugins/webgui/public/views/admin/editServer.html b/plugins/webgui/public/views/admin/editServer.html index ee2beb66f..485a95b60 100644 --- a/plugins/webgui/public/views/admin/editServer.html +++ b/plugins/webgui/public/views/admin/editServer.html @@ -13,35 +13,35 @@
- +
-
名称不能为空
+
Имя не может быть пустым
- + - +
-
地址不能为空
+
Адрес не может быть пустым
- +
-
端口不能为空
+
Порт не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
@@ -49,19 +49,19 @@ - + - + - +
- + + placeholder="Пожалуйста, введите метод шифрования"> {{method}}
- +
-
流量倍率不能为空
+
Скорость потока不能为空
- +
-
端口偏移量不能为空
+
Смещение порта не может быть пустым
- +
- + {{item}} @@ -111,7 +111,7 @@
-
立即同步所有端口
+
Синхронизировать все порты сейчас
@@ -125,9 +125,9 @@
- 取消 - 删除 - 确认 + Отменить + Удалить + подтверждать
diff --git a/plugins/webgui/public/views/admin/giftcardBatchDetails.html b/plugins/webgui/public/views/admin/giftcardBatchDetails.html index 1e71f00f1..fed727eb7 100644 --- a/plugins/webgui/public/views/admin/giftcardBatchDetails.html +++ b/plugins/webgui/public/views/admin/giftcardBatchDetails.html @@ -3,7 +3,7 @@ {{ batch.orderName }} - 创建于 {{ batch.createTime | timeago }},目前状态 {{ batch.status | prettyPrintBatchStatus}} + Созданный {{ batch.createTime | timeago }},Текущий статус {{ batch.status | prettyPrintBatchStatus}} @@ -13,11 +13,11 @@
- {{ '召回' | translate }} + {{ 'отзывать' | translate }}
- {{ '导出 CSV' | translate }} + {{ 'Экспорт CSV' | translate }}
@@ -30,7 +30,7 @@
- 已用 {{ card.userEmail }} + Использовал {{ card.userEmail }} {{ card.status | prettyPrintBatchStatus }}
diff --git a/plugins/webgui/public/views/admin/index.html b/plugins/webgui/public/views/admin/index.html index 838752c02..118b80bdc 100644 --- a/plugins/webgui/public/views/admin/index.html +++ b/plugins/webgui/public/views/admin/index.html @@ -3,7 +3,7 @@ - 最新注册用户 + Новые зарегистрированные пользователи @@ -20,7 +20,7 @@
-
+
Нет
@@ -32,7 +32,7 @@ - 最近登录用户 + Недавно вошедшие пользователи @@ -49,7 +49,7 @@
-
+
Нет
@@ -60,8 +60,8 @@
- - 支付宝订单 + + Заказы Alipay @@ -88,7 +88,7 @@ - PayPal订单 + Заказы PayPal @@ -115,7 +115,7 @@ - 今日流量排行 + Рейтинг трафика на сегодняшний день diff --git a/plugins/webgui/public/views/admin/myRefCode.html b/plugins/webgui/public/views/admin/myRefCode.html index fac6dfe67..3f508a7dc 100644 --- a/plugins/webgui/public/views/admin/myRefCode.html +++ b/plugins/webgui/public/views/admin/myRefCode.html @@ -3,7 +3,7 @@ - 邀请码 + Пригласительный код @@ -11,7 +11,7 @@ -
没有可用的邀请码
+
Код приглашения недоступен
@@ -24,7 +24,7 @@
{{ getRefUrl(c.code) }} {{ c.code }} - 复制链接 + Копировать ссылку
{{ c.count }}/{{ c.maxUser }}
@@ -39,7 +39,7 @@ - 已邀请用户 + Приглашенные пользователи @@ -47,7 +47,7 @@ -
当前没有邀请用户
+
В настоящее время нет приглашенных пользователей.
diff --git a/plugins/webgui/public/views/admin/newNotice.html b/plugins/webgui/public/views/admin/newNotice.html index e1f2e8d48..a1f52aaed 100644 --- a/plugins/webgui/public/views/admin/newNotice.html +++ b/plugins/webgui/public/views/admin/newNotice.html @@ -4,17 +4,17 @@
- +
- +
-
自动弹出
+
Автоматическое всплывающее окно
@@ -24,7 +24,7 @@
- 分组 + Группировка
keyboard_arrow_right @@ -40,9 +40,9 @@
- 取消 - 预览 - 保存 + Отменить + Предварительный просмотр + Сохранить
diff --git a/plugins/webgui/public/views/admin/newOrder.html b/plugins/webgui/public/views/admin/newOrder.html index c247d5f8a..5dbca9449 100644 --- a/plugins/webgui/public/views/admin/newOrder.html +++ b/plugins/webgui/public/views/admin/newOrder.html @@ -6,8 +6,8 @@
- 普通订单 - 流量包 + Регулярные заказы + Пакет данных
@@ -17,23 +17,23 @@
- +
-
名称不能为空
+
Имя не может быть пустым
- + - +
- +
{{type.key}} @@ -41,13 +41,13 @@
- +
- + @@ -57,61 +57,61 @@
- + - +
- +
- + - +
-
到期自动删除
+
Автоматически удалять по истечении срока действия
-
合并多服务器流量统计
+
Объединить статистику трафика нескольких серверов
-
续费允许更换套餐
+
Продление позволяет менять пакеты
-
自动激活
+
Автоматическая активация
- +
- 创建 - 等待 + Создать + ждать
- 付款 - 完成 + Оплата + Готово
- 关闭 + Закрыть
- + {{ group.name }} @@ -38,7 +38,7 @@ - 确定 + Конечно diff --git a/plugins/webgui/public/views/admin/pay.html b/plugins/webgui/public/views/admin/pay.html index b7587939e..e97a00fd0 100644 --- a/plugins/webgui/public/views/admin/pay.html +++ b/plugins/webgui/public/views/admin/pay.html @@ -4,7 +4,7 @@ md-on-select="selectPayType(payType.name)"> -
没有订单
+
Нет заказов
diff --git a/plugins/webgui/public/views/admin/paymentList.html b/plugins/webgui/public/views/admin/paymentList.html index b7275eaa8..86dca9ee3 100644 --- a/plugins/webgui/public/views/admin/paymentList.html +++ b/plugins/webgui/public/views/admin/paymentList.html @@ -10,7 +10,7 @@
- 编辑>> + редактировать>>
diff --git a/plugins/webgui/public/views/admin/pickAccount.html b/plugins/webgui/public/views/admin/pickAccount.html index 2c3b18558..51d81865a 100644 --- a/plugins/webgui/public/views/admin/pickAccount.html +++ b/plugins/webgui/public/views/admin/pickAccount.html @@ -3,7 +3,7 @@
- 暂无可分配的账号 + Нет учетной записи для назначения.
@@ -16,7 +16,7 @@ - 确定 + Конечно diff --git a/plugins/webgui/public/views/admin/pickTime.html b/plugins/webgui/public/views/admin/pickTime.html index bc3e0d02a..c06ba5673 100644 --- a/plugins/webgui/public/views/admin/pickTime.html +++ b/plugins/webgui/public/views/admin/pickTime.html @@ -4,7 +4,7 @@
-
开始时间:
+
Время начала:
{{account.time | date : 'yyyy-MM-dd HH:mm'}}
{{ account.time | timeago }}
@@ -44,7 +44,7 @@
-
到期时间:
+
Срок годности:
{{account.time + timeLimit[account.type] * account.limit | date : 'yyyy-MM-dd HH:mm'}}
{{ account.time + timeLimit[account.type] * account.limit | timeago }}
@@ -53,7 +53,7 @@
-
时长:
+
Продолжительность:
{{ account.limit }}
diff --git a/plugins/webgui/public/views/admin/refCodeList.html b/plugins/webgui/public/views/admin/refCodeList.html index 6bebcc2f3..541869105 100644 --- a/plugins/webgui/public/views/admin/refCodeList.html +++ b/plugins/webgui/public/views/admin/refCodeList.html @@ -1,4 +1,4 @@ -
当前没有生成邀请码
+
Код приглашения пока не сгенерирован.
diff --git a/plugins/webgui/public/views/admin/refSetting.html b/plugins/webgui/public/views/admin/refSetting.html index 9d14dd5e3..f95c9194c 100644 --- a/plugins/webgui/public/views/admin/refSetting.html +++ b/plugins/webgui/public/views/admin/refSetting.html @@ -13,7 +13,7 @@
-
启用邀请码功能
+
Включить функцию кода приглашения
@@ -22,7 +22,7 @@
-
关闭注册时仍可使用邀请码
+
Коды приглашений все еще можно использовать после закрытия регистрации.
@@ -31,14 +31,14 @@ - + - + @@ -55,36 +55,36 @@ - 邀请码列表 + Список кодов приглашений
- 点击进入>> + Нажмите, чтобы войти>>
- 邀请用户列表 + Список приглашенных пользователей
- 点击进入>> + Нажмите, чтобы войти>>
- 我的邀请码 + Мой пригласительный код
- 点击进入>> + Нажмите, чтобы войти>>
diff --git a/plugins/webgui/public/views/admin/refUserList.html b/plugins/webgui/public/views/admin/refUserList.html index c149f0734..787e9eac8 100644 --- a/plugins/webgui/public/views/admin/refUserList.html +++ b/plugins/webgui/public/views/admin/refUserList.html @@ -7,19 +7,19 @@
- 邀请码:{{ u.code }} + Код приглашения: {{ u.code }}
- 邀请人:{{ u.sourceUser }} + Приглашающий:{{ u.sourceUser }}
- 注册用户:{{ u.user }} + Зарегистрированный пользователь:{{ u.user }}
diff --git a/plugins/webgui/public/views/admin/server.html b/plugins/webgui/public/views/admin/server.html index 2abe333ba..2b163c0de 100644 --- a/plugins/webgui/public/views/admin/server.html +++ b/plugins/webgui/public/views/admin/server.html @@ -1,5 +1,5 @@
-
没有服务器
点击这里添加
+
Нет серверов
Нажмите здесь, чтобы добавить
@@ -8,7 +8,7 @@ {{server.name}} - 离线 + Оффлайн {{server.status}} {{server.status}} @@ -38,15 +38,15 @@
-
本日流量:
+
Сегодняшний трафик:
{{server.flow.today | flow}}
-
本周流量:
+
Трафик на этой неделе:
{{server.flow.week | flow}}
-
本月流量:
+
Трафик в этом месяце:
{{server.flow.month | flow}}
diff --git a/plugins/webgui/public/views/admin/serverPage.html b/plugins/webgui/public/views/admin/serverPage.html index fbecf996a..995e7ae29 100644 --- a/plugins/webgui/public/views/admin/serverPage.html +++ b/plugins/webgui/public/views/admin/serverPage.html @@ -12,9 +12,9 @@
- - - + Час + День + Неделя
@@ -69,10 +69,10 @@ navigate_before - 全部 - 可用 - 停止 - 在线 + все + доступно + остановлено + онлайн navigate_next @@ -97,7 +97,7 @@
-
服务器连接失败
+
Не удалось подключиться к серверу
diff --git a/plugins/webgui/public/views/admin/setExpireTime.html b/plugins/webgui/public/views/admin/setExpireTime.html index c8e9e1a9d..919e9cf52 100644 --- a/plugins/webgui/public/views/admin/setExpireTime.html +++ b/plugins/webgui/public/views/admin/setExpireTime.html @@ -4,7 +4,7 @@
-
到期时间:
+
Срок годности:
{{ account.data.expire + expireTimeShift | date : 'yyyy-MM-dd HH:mm' }}
{{ account.data.expire + expireTimeShift | timeago }}
diff --git a/plugins/webgui/public/views/admin/settings.html b/plugins/webgui/public/views/admin/settings.html index 4fbbc8d15..86848f558 100644 --- a/plugins/webgui/public/views/admin/settings.html +++ b/plugins/webgui/public/views/admin/settings.html @@ -14,7 +14,7 @@
{{ setting.name }}
- 点击进入>> + Нажмите, чтобы войти>>
diff --git a/plugins/webgui/public/views/admin/telegramSetting.html b/plugins/webgui/public/views/admin/telegramSetting.html index df86f204b..d44f9a1ad 100644 --- a/plugins/webgui/public/views/admin/telegramSetting.html +++ b/plugins/webgui/public/views/admin/telegramSetting.html @@ -14,16 +14,16 @@
-
请添加 Telegram 账号 @{{ code.telegram }} 并输入“{{ code.code }}”完成绑定
+
Добавьте аккаунт Telegram @{{ code.telegram }} И введите "{{ code.code }}" для завершения привязки.
-
已绑定
+
Граница
- 解除绑定>> + Отвязать>>
diff --git a/plugins/webgui/public/views/admin/topFlow.html b/plugins/webgui/public/views/admin/topFlow.html index 208083e78..a5d6a0073 100644 --- a/plugins/webgui/public/views/admin/topFlow.html +++ b/plugins/webgui/public/views/admin/topFlow.html @@ -6,7 +6,7 @@
- 合计 + общий
{{ allFlow | flow }} diff --git a/plugins/webgui/public/views/admin/unfinished.html b/plugins/webgui/public/views/admin/unfinished.html index 25448ea05..760ca72b7 100644 --- a/plugins/webgui/public/views/admin/unfinished.html +++ b/plugins/webgui/public/views/admin/unfinished.html @@ -1 +1 @@ -
该页面尚未完工
+
Эта страница еще не завершена
diff --git a/plugins/webgui/public/views/admin/user.html b/plugins/webgui/public/views/admin/user.html index a6d481454..69e65c5f0 100644 --- a/plugins/webgui/public/views/admin/user.html +++ b/plugins/webgui/public/views/admin/user.html @@ -1,4 +1,4 @@ -
没有用户
点击这里添加
+
Нет пользователей
Нажмите здесь, чтобы добавить
diff --git a/plugins/webgui/public/views/admin/userPage.html b/plugins/webgui/public/views/admin/userPage.html index d53ee8cbb..f8afedc2e 100644 --- a/plugins/webgui/public/views/admin/userPage.html +++ b/plugins/webgui/public/views/admin/userPage.html @@ -11,7 +11,7 @@
-
注册时间
+
Время регистрации
{{ user.createTime | date : 'yyyy-MM-dd HH:mm' }}
{{ user.createTime | timeagoshort }}
@@ -20,7 +20,7 @@
-
上次登录
+
Последний вход
{{ user.lastLogin | date : 'yyyy-MM-dd HH:mm' }}
{{ user.lastLogin | timeagoshort }}
@@ -29,36 +29,36 @@
-
邀请人
+
Приглашающий
{{ user.ref.email }}
-
分组
+
Группировка
{{ groupInfo[user.group].name }}
-
备注
+
Замечания
{{ user.comment || '(空)' }}
- 发送邮件 - 设置分组 - 删除用户 + Отправить электронное письмо + Настроить группировку + Удаление пользователя
-
账号 [{{ user.account.length }}]
+
счет [{{ user.account.length }}]
@@ -78,7 +78,7 @@
-
mac账号 [{{ user.macAccount.length }}]
+
mac-аккаунт [{{ user.macAccount.length }}]
@@ -98,7 +98,7 @@
-
邀请用户 [{{ refUsers.length }}]
+
Пригласить пользователей [{{ refUsers.length }}]
@@ -118,7 +118,7 @@
-
支付宝订单 [{{ alipayOrders.length }}]
+
Заказы Alipay [{{ alipayOrders.length }}]
@@ -135,7 +135,7 @@
-
Paypal订单 [{{ paypalOrders.length }}]
+
Заказы PayPal [{{ paypalOrders.length }}]
@@ -152,7 +152,7 @@
-
充值码订单 [{{ giftCardOrders.length }}]
+
Заказ кода пополнения [{{ giftCardOrders.length }}]
@@ -166,7 +166,7 @@
-
Ref订单 [{{ refOrders.length }}]
+
Ref-заказ [{{ refOrders.length }}]
@@ -180,7 +180,7 @@
-
邀请码 [{{ refCodes.length }}]
+
Пригласительный код [{{ refCodes.length }}]
diff --git a/plugins/webgui/public/views/admin/userSortDialog.html b/plugins/webgui/public/views/admin/userSortDialog.html index 4e1a80658..ff6b23a8e 100644 --- a/plugins/webgui/public/views/admin/userSortDialog.html +++ b/plugins/webgui/public/views/admin/userSortDialog.html @@ -1,29 +1,29 @@
-
排序方式:
+
Сортировать по:
- 用户ID ↑ + ID пользователя ↑
- 上次登录 ↑ + Последний вход ↑
- 用户ID ↓ + ID пользователя ↓
- 上次登录 ↓ + Последний вход ↓
-
用户类型:
+
Тип пользователя:
- 普通 - 管理员 + обычный + Администратор
-
分组:
+
Группировка:
@@ -35,7 +35,7 @@ - 确定 + Конечно diff --git a/plugins/webgui/public/views/app/index.html b/plugins/webgui/public/views/app/index.html index 0447cd3c7..d58bc35b8 100644 --- a/plugins/webgui/public/views/app/index.html +++ b/plugins/webgui/public/views/app/index.html @@ -2,20 +2,20 @@
-
开启代理
+
Включить прокси
-
模式
+
модель
- 规则 + правило - 全局 + Глобальный @@ -26,7 +26,7 @@
-
流量
+
поток
{{ currentFlow | flow }} / {{ account.data.flow + account.data.flowPack | flow }}
{{ currentFlow | flow }} / ∞
@@ -36,8 +36,8 @@
-
节点选择
-
{{ account.data.expire | date : 'yyyy-MM-dd HH:mm' }} 到期
+
Выбор узла
+
{{ account.data.expire | date : 'yyyy-MM-dd HH:mm' }} зрелость
@@ -67,10 +67,10 @@
-
请使用支付宝扫码付款
-
付款成功后将自动生效
+
Пожалуйста, используйте Alipay для сканирования QR-кода для оплаты.
+
Платеж вступит в силу автоматически после успешной оплаты.
- 返回 + возвращаться
diff --git a/plugins/webgui/public/views/app/login.html b/plugins/webgui/public/views/app/login.html index 5f8d5e985..f6d51dd04 100644 --- a/plugins/webgui/public/views/app/login.html +++ b/plugins/webgui/public/views/app/login.html @@ -5,31 +5,31 @@
- +
-
{{ '邮箱不能为空' | translate }}
-
{{ '必须填写一个有效邮箱地址' | translate }}
+
{{ 'Адрес электронной почты не может быть пустым' | translate }}
+
{{ 'Требуется действительный адрес электронной почты.' | translate }}
- +
- {{ '登录' | translate }} + {{ 'Авторизоваться' | translate }}
- {{ '找回密码' | translate }} - {{ '注册账号' | translate }} + {{ 'Восстановить пароль' | translate }} + {{ 'Зарегистрировать аккаунт' | translate }}
diff --git a/plugins/webgui/public/views/dialog/addAccount.html b/plugins/webgui/public/views/dialog/addAccount.html index 5a27ea1ae..6c575f25b 100644 --- a/plugins/webgui/public/views/dialog/addAccount.html +++ b/plugins/webgui/public/views/dialog/addAccount.html @@ -5,29 +5,29 @@
-
请选择添加账号类型:
+
Пожалуйста, выберите тип учетной записи для добавления:
- 端口 + порт - MAC地址 + MAC-адрес - 充值码 + Код пополнения - 邀请码 + Пригласительный код
- 关闭 + закрытие - 下一步 + Следующий шаг
@@ -35,7 +35,7 @@
- 暂无可分配的账号 + Нет учетной записи для назначения.
@@ -48,10 +48,10 @@ - 关闭 + закрытие - 确定 + Конечно @@ -59,17 +59,17 @@
- + - + {{ account.port }} - + {{ server.name }} @@ -78,33 +78,33 @@ - 关闭 + закрытие - 确定 + Конечно
-
请选择充值的端口:
+
Пожалуйста, выберите порт пополнения:
{{ account.port }} - 新建端口 + Создать новый порт
- 关闭 + закрытие - 确定 + Конечно
@@ -112,17 +112,17 @@
- +
- 关闭 + закрытие - 确定 + Конечно @@ -130,21 +130,21 @@
- + - +
- 关闭 + закрытие - 确定 + Конечно @@ -152,17 +152,17 @@
- + - + {{ account.port }} - + {{ server.name }} @@ -171,10 +171,10 @@ - 关闭 + закрытие - 确定 + Конечно diff --git a/plugins/webgui/public/views/dialog/addGiftCardBatch.html b/plugins/webgui/public/views/dialog/addGiftCardBatch.html index 18a6ea0b8..f317a3b74 100644 --- a/plugins/webgui/public/views/dialog/addGiftCardBatch.html +++ b/plugins/webgui/public/views/dialog/addGiftCardBatch.html @@ -7,11 +7,11 @@
- + - + {{ order.name }} + {{ 'Восстановить пароль' | translate }} + {{ 'Войти через социальную учетную запись' | translate }} +
@@ -54,22 +54,22 @@
- +
-
{{ '邮箱不能为空' | translate }}
-
{{ '必须填写一个有效邮箱地址' | translate }}
+
{{ 'Адрес электронной почты не может быть пустым' | translate }}
+
{{ 'Требуется действительный адрес электронной почты.' | translate }}
- +
- {{ '登录' | translate }} + {{ 'Авторизоваться' | translate }}
@@ -80,9 +80,9 @@
- {{ '找回密码' | translate }} - {{ '社交账号登录' | translate }} - + {{ 'Восстановить пароль' | translate }} + {{ 'Войти с помощью учетной записи социальной сети' | translate }} +
diff --git a/plugins/webgui/public/views/home/resetPassword.html b/plugins/webgui/public/views/home/resetPassword.html index 315c74e7c..ad377aa3d 100644 --- a/plugins/webgui/public/views/home/resetPassword.html +++ b/plugins/webgui/public/views/home/resetPassword.html @@ -5,17 +5,17 @@
- +
-
{{ '密码不能为空' | translate }}
+
{{ 'Пароль не может быть пустым' | translate }}
- +
-
{{ '密码不能为空' | translate }}
+
{{ 'Пароль не может быть пустым' | translate }}
@@ -25,7 +25,7 @@
- 重置密码 + Сбросить пароль
@@ -46,17 +46,17 @@
- +
-
{{ '密码不能为空' | translate }}
+
{{ 'Пароль не может быть пустым' | translate }}
- +
-
{{ '密码不能为空' | translate }}
+
{{ 'Пароль не может быть пустым' | translate }}
@@ -66,7 +66,7 @@
- {{ '重置密码' | translate }} + {{ 'Сбросить пароль' | translate }}
diff --git a/plugins/webgui/public/views/home/signup.html b/plugins/webgui/public/views/home/signup.html index 4467bdac2..5c838fcc1 100644 --- a/plugins/webgui/public/views/home/signup.html +++ b/plugins/webgui/public/views/home/signup.html @@ -5,46 +5,46 @@
- +
-
{{ '邮箱不能为空' | translate }}
-
{{ '必须填写一个有效邮箱地址' | translate }}
+
{{ 'Адрес электронной почты не может быть пустым' | translate }}
+
{{ 'Требуется действительный адрес электронной почты' | translate }}
- +
-
{{ '验证码不能为空' | translate }}
+
{{ 'Проверочный код не может быть пустым' | translate }}
- {{ '发送验证码' | translate }}{{ '已发送' | translate }}({{sendCodeTime}}) + {{ 'Отправить код подтверждения' | translate }}{{ 'Отправил' | translate }}({{sendCodeTime}})
- +
-
{{ '密码不能为空' | translate }}
+
{{ 'Пароль не может быть пустым' | translate }}
- {{ '注册' | translate }} + {{ 'зарегистрироваться' | translate }}
- +
@@ -56,7 +56,7 @@
-
{{ '邀请码' | translate }} [{{ home.refId }}] {{ '无效' | translate }}
+
{{ 'Код приглашения' | translate }} [{{ home.refId }}] {{ 'неверный' | translate }}
@@ -78,40 +78,40 @@
- +
-
{{ '邮箱不能为空' | translate }}
-
{{ '必须填写一个有效邮箱地址' | translate }}
+
{{ 'Адрес электронной почты не может быть пустым' | translate }}
+
{{ 'Требуется действительный адрес электронной почты' | translate }}
- +
-
{{ '验证码不能为空' | translate }}
+
{{ 'Проверочный код не может быть пустым' | translate }}
- {{ '发送验证码' | translate }}{{ '已发送' | translate }}({{sendCodeTime}}) + {{ 'Отправить код подтверждения' | translate }}{{ 'Отправил' | translate }}({{sendCodeTime}})
- +
-
{{ '密码不能为空' | translate }}
+
{{ 'Пароль не может быть пустым' | translate }}
- {{ '注册' | translate }} + {{ 'зарегистрироваться' | translate }}
@@ -129,7 +129,7 @@
-
{{ '邀请码' | translate }} [{{ home.refId }}] {{ '无效' | translate }}
+
{{ 'Код приглашения' | translate }} [{{ home.refId }}] {{ 'неверный' | translate }}
@@ -139,7 +139,7 @@ - + diff --git a/plugins/webgui/public/views/home/social.html b/plugins/webgui/public/views/home/social.html index 3065240fc..7434e3da5 100644 --- a/plugins/webgui/public/views/home/social.html +++ b/plugins/webgui/public/views/home/social.html @@ -16,7 +16,7 @@
- 返回 + возвращаться
@@ -48,7 +48,7 @@
- 返回 + возвращаться
diff --git a/plugins/webgui/public/views/skin/default.html b/plugins/webgui/public/views/skin/default.html index 9592807d7..b4deb23a9 100644 --- a/plugins/webgui/public/views/skin/default.html +++ b/plugins/webgui/public/views/skin/default.html @@ -5,8 +5,8 @@
-
{{ '登录' | translate }}
-
{{ '注册' | translate }}
+
{{ 'Авторизоваться' | translate }}
+
{{ 'зарегистрироваться' | translate }}
diff --git a/plugins/webgui/public/views/skin/fs_bing.html b/plugins/webgui/public/views/skin/fs_bing.html index 873f4de20..774caa1c6 100644 --- a/plugins/webgui/public/views/skin/fs_bing.html +++ b/plugins/webgui/public/views/skin/fs_bing.html @@ -5,10 +5,10 @@
- 登录 + Авторизоваться - 注册 + зарегистрироваться
diff --git a/plugins/webgui/public/views/skin/fs_dinosaur.html b/plugins/webgui/public/views/skin/fs_dinosaur.html index a5ce37485..435160816 100644 --- a/plugins/webgui/public/views/skin/fs_dinosaur.html +++ b/plugins/webgui/public/views/skin/fs_dinosaur.html @@ -16,17 +16,17 @@
-

未连接到互联网

+

Нет подключения к Интернету

-

请试试以下办法:

+

Попробуйте следующее:

    -
  • 检查网线、调制解调器和路由器
  • -
  • 重新连接到 Wi-Fi 网络
  • +
  • Проверьте сетевые кабели, модем и маршрутизатор.
  • +
  • Повторно подключитесь к сети Wi-Fi.
  • - 登录您的账号 + АвторизоватьсяВаш аккаунт
  • - 注册一个账号 + зарегистрироватьсяОдин аккаунт
@@ -37,7 +37,7 @@
- person 登录账号 + person Войти в учетную запись
\ No newline at end of file diff --git a/plugins/webgui/public/views/skin/fs_sample.html b/plugins/webgui/public/views/skin/fs_sample.html index 83e44de65..df747d2e2 100644 --- a/plugins/webgui/public/views/skin/fs_sample.html +++ b/plugins/webgui/public/views/skin/fs_sample.html @@ -10,10 +10,10 @@ diff --git a/plugins/webgui/public/views/skin/fs_zelda.html b/plugins/webgui/public/views/skin/fs_zelda.html index 3375d377e..b5c6c749a 100644 --- a/plugins/webgui/public/views/skin/fs_zelda.html +++ b/plugins/webgui/public/views/skin/fs_zelda.html @@ -6,13 +6,13 @@
- +
- +
diff --git a/plugins/webgui/public/views/user/account.html b/plugins/webgui/public/views/user/account.html index 04bcf59b6..5da979566 100644 --- a/plugins/webgui/public/views/user/account.html +++ b/plugins/webgui/public/views/user/account.html @@ -2,10 +2,10 @@
-
目前该用户没有分配账号,请联系管理员处理
-
{{ '或' | translate }} - {{ '点击这里' | translate }} - {{ '付款立即开通帐号' | translate }}
+
В настоящее время у пользователя нет назначенной учетной записи, обратитесь к администратору.
+
{{ 'или' | translate }} + {{ 'Кликните сюда' | translate }} + {{ 'Сделайте платеж и откройте счет немедленно' | translate }}
@@ -13,14 +13,14 @@
- 激活账号 + Активировать аккаунт
{{a.port}}  {{ a.orderName }} -  {{ '已过期' | translate }} +  {{ 'Истекший' | translate }} @@ -41,75 +41,75 @@
-
地址:
+
адрес:
{{a.serverInfo.host}}
-
端口:
+
порт:
{{ a.port + a.serverInfo.shift }}
-
端口:
+
порт:
{{ a.serverInfo.wgPort }}
-
端口:
+
порт:
{{ a.serverInfo.tjPort }}
-
密码:
+
пароль:
{{a.password}}
-
密码:
+
пароль:
{{a.port + ':' + a.password}}
-
{{ '加密方式:' | translate }}
+
{{ 'Шифрование:' | translate }}
{{a.serverInfo.method}}
-
{{ '加密方式:' | translate }}
+
{{ 'Шифрование:' | translate }}
Trojan
-
公钥:
+
Открытый ключ:
{{a.publicKey}}
-
{{ '私钥:' | translate }}
+
{{ 'Закрытый ключ:' | translate }}
{{a.privateKey}}
-
{{ '流量:'| translate }}
+
{{ 'поток:'| translate }}
@@ -120,14 +120,14 @@
-
{{ '流量倍率:' | translate }}
+
{{ 'Скорость потока:' | translate }}
{{ a.serverInfo.scale }}
-
{{ '周期:' | translate }}
+
{{ 'цикл:' | translate }}
{{ '无' | translate }} {{a.data.from | date : 'yyyy-MM-dd HH:mm'}}
{{a.data.to | date : 'yyyy-MM-dd HH:mm'}} @@ -138,9 +138,9 @@
-
到期时间:
+
Срок годности:
- 不限时 + Нет ограничений по времени {{ a.data.expire | date : 'yyyy-MM-dd HH:mm' }}
{{ a.data.expire | timeago | translateTime }}
@@ -150,7 +150,7 @@
-
最近连接:
+
Недавние связи:
{{a.lastConnect | date : 'yyyy-MM-dd HH:mm'}}
{{ a.lastConnect | timeago | translateTime }}
@@ -159,7 +159,7 @@
-
备注:
+
Замечание:
{{ a.serverInfo.comment || '无' }}
@@ -169,12 +169,12 @@
- {{ '修改密码' | translate }} - {{ '续费' | translate }} - {{ '账号二维码' | translate }} - {{ '账号二维码' | translate }} - {{ '账号二维码' | translate }} - {{ '订阅链接' | translate }} + {{ 'Изменить пароль' | translate }} + {{ 'Обновление' | translate }} + {{ 'QR-код аккаунта' | translate }} + {{ 'QR-код аккаунта' | translate }} + {{ 'QR-код аккаунта' | translate }} + {{ 'Ссылка для подписки' | translate }}
diff --git a/plugins/webgui/public/views/user/changePassword.html b/plugins/webgui/public/views/user/changePassword.html index 84c568f98..853b7757b 100644 --- a/plugins/webgui/public/views/user/changePassword.html +++ b/plugins/webgui/public/views/user/changePassword.html @@ -6,24 +6,24 @@
- +
-
密码不能为空
+
Пароль не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
- +
-
密码不能为空
+
Пароль не может быть пустым
@@ -33,7 +33,7 @@
- 确认 + подтверждать
diff --git a/plugins/webgui/public/views/user/index.html b/plugins/webgui/public/views/user/index.html index 31ba1f363..1f00e6614 100644 --- a/plugins/webgui/public/views/user/index.html +++ b/plugins/webgui/public/views/user/index.html @@ -2,7 +2,7 @@
- {{ '公告' | translate }} + {{ 'объявление' | translate }} @@ -21,7 +21,7 @@
- {{ '更多' | translate }}>> + {{ 'Более' | translate }}>>
@@ -48,7 +48,7 @@
- {{ '更多' | translate }}>> + {{ 'Более' | translate }}>>
@@ -56,7 +56,7 @@
- {{ '账号' | translate }} + {{ 'счет' | translate }} @@ -75,7 +75,7 @@
- 本周 + На этой неделе
{{ usage[1] | flow}} @@ -86,7 +86,7 @@
- 本月 + в этом месяце
{{ usage[2] | flow}} @@ -96,7 +96,7 @@
- 点击进入>> + Нажмите, чтобы войти>>
@@ -104,31 +104,31 @@
- {{ '客服咨询' | translate }} + {{ 'Обслуживание клиентов' | translate }}
- 点击进入>> + Нажмите, чтобы войти>>
- {{ '绑定Telegram' | translate }} + {{ 'Привязать Telegram' | translate }}
- 点击进入>> + Нажмите, чтобы войти>>
- {{ '邀请码' | translate }} + {{ 'Код приглашения' | translate }}
- 点击进入>> + Нажмите, чтобы войти>>
diff --git a/plugins/webgui/public/views/user/notice.html b/plugins/webgui/public/views/user/notice.html index d44bab9ca..0ba3e9d42 100644 --- a/plugins/webgui/public/views/user/notice.html +++ b/plugins/webgui/public/views/user/notice.html @@ -2,10 +2,10 @@
- {{ '公告' | translate }} + {{ 'объявление' | translate }} -
{{ '暂无公告' | translate }}
+
{{ 'Пока нет объявления' | translate }}
diff --git a/plugins/webgui/public/views/user/qrcodeDialog.html b/plugins/webgui/public/views/user/qrcodeDialog.html index 8034b197a..b9301760f 100644 --- a/plugins/webgui/public/views/user/qrcodeDialog.html +++ b/plugins/webgui/public/views/user/qrcodeDialog.html @@ -15,7 +15,7 @@

{{ publicInfo.serverName }}

-
{{ '点击二维码或者用移动设备扫描二维码可自动填充服务器信息' | translate }} +
{{ 'Нажмите на QR-код или отсканируйте его с помощью мобильного устройства, чтобы автоматически заполнить информацию о сервере.' | translate }}
- 邀请码 + Пригласительный код @@ -11,7 +11,7 @@ -
没有可用的邀请码
+
Код приглашения недоступен
@@ -24,7 +24,7 @@
{{ getRefUrl(c.code) }} {{ c.code }} - {{ '复制链接' | translate }} + {{ 'Копировать ссылку' | translate }}
{{ c.count }} / {{ c.maxUser }}
@@ -39,7 +39,7 @@ - 已邀请用户 + Приглашенные пользователи @@ -47,7 +47,7 @@ -
当前没有邀请用户
+
В настоящее время нет приглашенных пользователей.
diff --git a/plugins/webgui/public/views/user/settings.html b/plugins/webgui/public/views/user/settings.html index 08eaef69a..818dfc291 100644 --- a/plugins/webgui/public/views/user/settings.html +++ b/plugins/webgui/public/views/user/settings.html @@ -12,9 +12,9 @@
-
修改密码
+
Изменить пароль
- 点击进入>> + Нажмите, чтобы войти>>
@@ -23,9 +23,9 @@
-
绑定Telegram
+
Привязать Telegram
- 点击进入>> + Нажмите, чтобы войти>>
@@ -34,9 +34,9 @@
-
邀请码
+
Код приглашения
- 点击进入>> + Нажмите, чтобы войти>>
@@ -45,9 +45,9 @@
-
mac地址
+
MAC-адрес
- 点击进入>> + Нажмите, чтобы войти>>
diff --git a/plugins/webgui/public/views/user/telegram.html b/plugins/webgui/public/views/user/telegram.html index c9cb66115..fae074f43 100644 --- a/plugins/webgui/public/views/user/telegram.html +++ b/plugins/webgui/public/views/user/telegram.html @@ -14,16 +14,16 @@
-
请添加 Telegram 账号 @{{ code.telegram }} 并输入“{{ code.code }}”完成绑定
+
Пожалуйста, добавьте аккаунт Telegram @{{ code.telegram }} и введите“{{ code.code }}”Полное связывание
-
已绑定
+
Граница
- 解除绑定>> + Отвязать>>
diff --git a/plugins/webgui/server/adminAccount.js b/plugins/webgui/server/adminAccount.js index 724dc0aa8..6358b3167 100644 --- a/plugins/webgui/server/adminAccount.js +++ b/plugins/webgui/server/adminAccount.js @@ -222,12 +222,12 @@ exports.getSubscribeAccountForUser = async (req, res) => { const insert = { ...template, subscribeName: remain <= 0 - ? '已过期' + ? 'Истекший' : remain >= 48 * 3600 * 1000 - ? moment(expire).format('YYYY-MM-DD过期') + ? moment(expire).format('YYYY-MM-DDистекает') : remain >= 3600 * 1000 - ? `${Math.floor(remain / (3600 * 1000))}小时后过期` - : `${Math.floor(remain / (60 * 1000))}分钟后过期`, + ? `${Math.floor(remain / (3600 * 1000))}Истекает через часов` + : `${Math.floor(remain / (60 * 1000))}Истекает через несколько минут`, }; const insertFlow = { ...template }; diff --git a/plugins/webgui/server/adminGiftCard.js b/plugins/webgui/server/adminGiftCard.js index 54bcfd6eb..110cfe42f 100644 --- a/plugins/webgui/server/adminGiftCard.js +++ b/plugins/webgui/server/adminGiftCard.js @@ -15,7 +15,7 @@ exports.addGiftCard = async (req, resp) => { const batchNumber = await giftcard.generateGiftCard(count, orderId, comment); resp.send({ batchNumber: batchNumber }); } catch (err) { - logger.error(`添加充值码失败:${err.toString()}`); + logger.error(`Не удалось добавить код пополнения:${err.toString()}`); resp.status(500).send(err.toString()).end(); } }; @@ -27,7 +27,7 @@ exports.revokeBatch = async (req, resp) => { await giftcard.revokeBatch(batchNumber); resp.send('success'); } catch (err) { - logger.error(`无法收回批次 ${batchNumber}:${err.toString()}`); + logger.error(`Невозможно отозвать партию ${batchNumber}:${err.toString()}`); resp.status(500).end(); } } else { @@ -39,7 +39,7 @@ exports.listBatch = async (req, res) => { try { res.send(await giftcard.listBatch()); } catch (err) { - logger.error(`无法列出充值码:${err.toString()}`); + logger.error(`Невозможно перечислить коды пополнения:${err.toString()}`); res.status(500).end(); } }; @@ -54,7 +54,7 @@ exports.getBatchDetails = async (req, resp) => { else resp.send(404).end(); } catch (err) { - logger.error(`无法查询批次 ${batchNumber}:${err.toString()}`); + logger.error(`Невозможно запросить пакет ${batchNumber}:${err.toString()}`); resp.status(500).end(); } } else { diff --git a/plugins/webgui/server/adminSetting.js b/plugins/webgui/server/adminSetting.js index d55d643f0..fa551d8f2 100644 --- a/plugins/webgui/server/adminSetting.js +++ b/plugins/webgui/server/adminSetting.js @@ -75,16 +75,16 @@ setDefaultValue('payment', { }); setDefaultValue('mail', { code: { - title: 'ss验证码', - content: '欢迎新用户注册,\n您的验证码是:${code}', + title: 'ss проверочный код', + content: 'Добро пожаловать на регистрацию в качестве нового пользователя, \nВаш код подтверждения:${code}', }, reset: { - title: 'ss密码重置', - content: '请访问下列地址重置您的密码:\n${address}', + title: 'ss сброс пароля', + content: 'Пожалуйста, посетите следующий адрес, чтобы сбросить пароль:\n${address}', }, order: { - title: 'ss订单支付成功', - content: '暂时没想好这里要写什么', + title: 'ss оплата заказа прошла успешно', + content: 'Я пока не решил, что здесь написать.', }, }); diff --git a/plugins/webgui/server/clash.js b/plugins/webgui/server/clash.js index 064bd4ba7..1f4b4053e 100644 --- a/plugins/webgui/server/clash.js +++ b/plugins/webgui/server/clash.js @@ -2,7 +2,7 @@ module.exports = { proxies: [], "proxy-groups": [ { - "name": "✈自动选优", + "name": "✈Автоматический выбор", "type": "url-test", "proxies": [ "placeholder", @@ -11,29 +11,29 @@ module.exports = { "interval": 3600 }, { - "name": "🔰国外流量", + "name": "🔰Зарубежный трафик", "type": "select", "proxies": [ - "✈自动选优", + "✈Автоматический выбор", "placeholder", - "🚀直接连接" + "🚀Прямое подключение" ] }, { "name": "⚓️其他流量", "type": "select", "proxies": [ - "🔰国外流量", - "✈自动选优", - "🚀直接连接" + "🔰Зарубежный трафик", + "✈Автоматический выбор", + "🚀Прямое подключение" ] }, { "name": "✈️Telegram", "type": "select", "proxies": [ - "🔰国外流量", - "✈自动选优", + "🔰Зарубежный трафик", + "✈Автоматический выбор", "placeholder" ] }, @@ -41,8 +41,8 @@ module.exports = { "name": "🎬Youtube", "type": "select", "proxies": [ - "🔰国外流量", - "✈自动选优", + "🔰Зарубежный трафик", + "✈Автоматический выбор", "placeholder" ] }, @@ -50,31 +50,31 @@ module.exports = { "name": "🎬Netflix", "type": "select", "proxies": [ - "🔰国外流量", - "✈自动选优", + "🔰Зарубежный трафик", + "✈Автоматический выбор", "placeholder" ] }, { - "name": "🎬国外媒体", + "name": "🎬Иностранные СМИ", "type": "select", "proxies": [ - "🔰国外流量", - "✈自动选优", + "🔰Зарубежный трафик", + "✈Автоматический выбор", "placeholder" ] }, { - "name": "🍎苹果服务", + "name": "🍎Сервисы Apple", "type": "select", "proxies": [ - "🚀直接连接", - "✈自动选优", - "🔰国外流量" + "🚀Прямое подключение", + "✈Автоматический выбор", + "🔰Зарубежный трафик" ] }, { - "name": "🚀直接连接", + "name": "🚀Прямое подключение", "type": "select", "proxies": [ "DIRECT" @@ -84,561 +84,561 @@ module.exports = { rules: [ "DOMAIN-SUFFIX,smtp,DIRECT", "DOMAIN-KEYWORD,aria2,DIRECT", - "DOMAIN-SUFFIX,ampproject.org,🔰国外流量", - "DOMAIN-SUFFIX,appspot.com,🔰国外流量", - "DOMAIN-SUFFIX,blogger.com,🔰国外流量", - "DOMAIN-SUFFIX,getoutline.org,🔰国外流量", - "DOMAIN-SUFFIX,gvt0.com,🔰国外流量", - "DOMAIN-SUFFIX,gvt1.com,🔰国外流量", - "DOMAIN-SUFFIX,gvt3.com,🔰国外流量", - "DOMAIN-SUFFIX,xn--ngstr-lra8j.com,🔰国外流量", - "DOMAIN-KEYWORD,google,🔰国外流量", - "DOMAIN-KEYWORD,blogspot,🔰国外流量", - "DOMAIN-SUFFIX,onedrive.live.com,🔰国外流量", - "DOMAIN-SUFFIX,xboxlive.com,🔰国外流量", - "DOMAIN-SUFFIX,cdninstagram.com,🔰国外流量", - "DOMAIN-SUFFIX,fb.com,🔰国外流量", - "DOMAIN-SUFFIX,fb.me,🔰国外流量", - "DOMAIN-SUFFIX,fbaddins.com,🔰国外流量", - "DOMAIN-SUFFIX,fbcdn.net,🔰国外流量", - "DOMAIN-SUFFIX,fbsbx.com,🔰国外流量", - "DOMAIN-SUFFIX,fbworkmail.com,🔰国外流量", - "DOMAIN-SUFFIX,instagram.com,🔰国外流量", - "DOMAIN-SUFFIX,m.me,🔰国外流量", - "DOMAIN-SUFFIX,messenger.com,🔰国外流量", - "DOMAIN-SUFFIX,oculus.com,🔰国外流量", - "DOMAIN-SUFFIX,oculuscdn.com,🔰国外流量", - "DOMAIN-SUFFIX,rocksdb.org,🔰国外流量", - "DOMAIN-SUFFIX,whatsapp.com,🔰国外流量", - "DOMAIN-SUFFIX,whatsapp.net,🔰国外流量", - "DOMAIN-KEYWORD,facebook,🔰国外流量", - "IP-CIDR,3.123.36.126/32,🔰国外流量,no-resolve", - "IP-CIDR,35.157.215.84/32,🔰国外流量,no-resolve", - "IP-CIDR,35.157.217.255/32,🔰国外流量,no-resolve", - "IP-CIDR,52.58.209.134/32,🔰国外流量,no-resolve", - "IP-CIDR,54.93.124.31/32,🔰国外流量,no-resolve", - "IP-CIDR,54.162.243.80/32,🔰国外流量,no-resolve", - "IP-CIDR,54.173.34.141/32,🔰国外流量,no-resolve", - "IP-CIDR,54.235.23.242/32,🔰国外流量,no-resolve", - "IP-CIDR,169.45.248.118/32,🔰国外流量,no-resolve", - "DOMAIN-SUFFIX,pscp.tv,🔰国外流量", - "DOMAIN-SUFFIX,periscope.tv,🔰国外流量", - "DOMAIN-SUFFIX,t.co,🔰国外流量", - "DOMAIN-SUFFIX,twimg.co,🔰国外流量", - "DOMAIN-SUFFIX,twimg.com,🔰国外流量", - "DOMAIN-SUFFIX,twitpic.com,🔰国外流量", - "DOMAIN-SUFFIX,vine.co,🔰国外流量", - "DOMAIN-KEYWORD,twitter,🔰国外流量", - "DOMAIN-SUFFIX,t.me,🔰国外流量", - "DOMAIN-SUFFIX,tdesktop.com,🔰国外流量", - "DOMAIN-SUFFIX,telegra.ph,🔰国外流量", - "DOMAIN-SUFFIX,telegram.me,🔰国外流量", - "DOMAIN-SUFFIX,telegram.org,🔰国外流量", - "IP-CIDR,91.108.4.0/22,🔰国外流量,no-resolve", - "IP-CIDR,91.108.8.0/22,🔰国外流量,no-resolve", - "IP-CIDR,91.108.12.0/22,🔰国外流量,no-resolve", - "IP-CIDR,91.108.16.0/22,🔰国外流量,no-resolve", - "IP-CIDR,91.108.56.0/22,🔰国外流量,no-resolve", - "IP-CIDR,149.154.160.0/20,🔰国外流量,no-resolve", - "IP-CIDR6,2001:b28:f23d::/48,🔰国外流量,no-resolve", - "IP-CIDR6,2001:b28:f23f::/48,🔰国外流量,no-resolve", - "IP-CIDR6,2001:67c:4e8::/48,🔰国外流量,no-resolve", - "DOMAIN-SUFFIX,line.me,🔰国外流量", - "DOMAIN-SUFFIX,line-apps.com,🔰国外流量", - "DOMAIN-SUFFIX,line-scdn.net,🔰国外流量", - "DOMAIN-SUFFIX,naver.jp,🔰国外流量", - "IP-CIDR,103.2.30.0/23,🔰国外流量,no-resolve", - "IP-CIDR,125.209.208.0/20,🔰国外流量,no-resolve", - "IP-CIDR,147.92.128.0/17,🔰国外流量,no-resolve", - "IP-CIDR,203.104.144.0/21,🔰国外流量,no-resolve", - "DOMAIN-SUFFIX,4shared.com,🔰国外流量", - "DOMAIN-SUFFIX,520cc.cc,🔰国外流量", - "DOMAIN-SUFFIX,881903.com,🔰国外流量", - "DOMAIN-SUFFIX,9cache.com,🔰国外流量", - "DOMAIN-SUFFIX,9gag.com,🔰国外流量", - "DOMAIN-SUFFIX,abc.com,🔰国外流量", - "DOMAIN-SUFFIX,abc.net.au,🔰国外流量", - "DOMAIN-SUFFIX,abebooks.com,🔰国外流量", - "DOMAIN-SUFFIX,amazon.co.jp,🔰国外流量", - "DOMAIN-SUFFIX,apigee.com,🔰国外流量", - "DOMAIN-SUFFIX,apk-dl.com,🔰国外流量", - "DOMAIN-SUFFIX,apkfind.com,🔰国外流量", - "DOMAIN-SUFFIX,apkmirror.com,🔰国外流量", - "DOMAIN-SUFFIX,apkmonk.com,🔰国外流量", - "DOMAIN-SUFFIX,apkpure.com,🔰国外流量", - "DOMAIN-SUFFIX,aptoide.com,🔰国外流量", - "DOMAIN-SUFFIX,archive.is,🔰国外流量", - "DOMAIN-SUFFIX,archive.org,🔰国外流量", - "DOMAIN-SUFFIX,arte.tv,🔰国外流量", - "DOMAIN-SUFFIX,artstation.com,🔰国外流量", - "DOMAIN-SUFFIX,arukas.io,🔰国外流量", - "DOMAIN-SUFFIX,ask.com,🔰国外流量", - "DOMAIN-SUFFIX,avg.com,🔰国外流量", - "DOMAIN-SUFFIX,avgle.com,🔰国外流量", - "DOMAIN-SUFFIX,badoo.com,🔰国外流量", - "DOMAIN-SUFFIX,bandwagonhost.com,🔰国外流量", - "DOMAIN-SUFFIX,bbc.com,🔰国外流量", - "DOMAIN-SUFFIX,behance.net,🔰国外流量", - "DOMAIN-SUFFIX,bibox.com,🔰国外流量", - "DOMAIN-SUFFIX,biggo.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,binance.com,🔰国外流量", - "DOMAIN-SUFFIX,bitcointalk.org,🔰国外流量", - "DOMAIN-SUFFIX,bitfinex.com,🔰国外流量", - "DOMAIN-SUFFIX,bitmex.com,🔰国外流量", - "DOMAIN-SUFFIX,bit-z.com,🔰国外流量", - "DOMAIN-SUFFIX,bloglovin.com,🔰国外流量", - "DOMAIN-SUFFIX,bloomberg.cn,🔰国外流量", - "DOMAIN-SUFFIX,bloomberg.com,🔰国外流量", - "DOMAIN-SUFFIX,blubrry.com,🔰国外流量", - "DOMAIN-SUFFIX,book.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,booklive.jp,🔰国外流量", - "DOMAIN-SUFFIX,books.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,boslife.net,🔰国外流量", - "DOMAIN-SUFFIX,box.com,🔰国外流量", - "DOMAIN-SUFFIX,businessinsider.com,🔰国外流量", - "DOMAIN-SUFFIX,bwh1.net,🔰国外流量", - "DOMAIN-SUFFIX,castbox.fm,🔰国外流量", - "DOMAIN-SUFFIX,cbc.ca,🔰国外流量", - "DOMAIN-SUFFIX,cdw.com,🔰国外流量", - "DOMAIN-SUFFIX,change.org,🔰国外流量", - "DOMAIN-SUFFIX,channelnewsasia.com,🔰国外流量", - "DOMAIN-SUFFIX,ck101.com,🔰国外流量", - "DOMAIN-SUFFIX,clarionproject.org,🔰国外流量", - "DOMAIN-SUFFIX,clyp.it,🔰国外流量", - "DOMAIN-SUFFIX,cna.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,comparitech.com,🔰国外流量", - "DOMAIN-SUFFIX,conoha.jp,🔰国外流量", - "DOMAIN-SUFFIX,crucial.com,🔰国外流量", - "DOMAIN-SUFFIX,cts.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,cw.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,cyberctm.com,🔰国外流量", - "DOMAIN-SUFFIX,dailymotion.com,🔰国外流量", - "DOMAIN-SUFFIX,dailyview.tw,🔰国外流量", - "DOMAIN-SUFFIX,daum.net,🔰国外流量", - "DOMAIN-SUFFIX,daumcdn.net,🔰国外流量", - "DOMAIN-SUFFIX,dcard.tw,🔰国外流量", - "DOMAIN-SUFFIX,deepdiscount.com,🔰国外流量", - "DOMAIN-SUFFIX,depositphotos.com,🔰国外流量", - "DOMAIN-SUFFIX,deviantart.com,🔰国外流量", - "DOMAIN-SUFFIX,disconnect.me,🔰国外流量", - "DOMAIN-SUFFIX,discordapp.com,🔰国外流量", - "DOMAIN-SUFFIX,discordapp.net,🔰国外流量", - "DOMAIN-SUFFIX,disqus.com,🔰国外流量", - "DOMAIN-SUFFIX,dlercloud.com,🔰国外流量", - "DOMAIN-SUFFIX,dns2go.com,🔰国外流量", - "DOMAIN-SUFFIX,dowjones.com,🔰国外流量", - "DOMAIN-SUFFIX,dropbox.com,🔰国外流量", - "DOMAIN-SUFFIX,dropboxusercontent.com,🔰国外流量", - "DOMAIN-SUFFIX,duckduckgo.com,🔰国外流量", - "DOMAIN-SUFFIX,dw.com,🔰国外流量", - "DOMAIN-SUFFIX,dynu.com,🔰国外流量", - "DOMAIN-SUFFIX,earthcam.com,🔰国外流量", - "DOMAIN-SUFFIX,ebookservice.tw,🔰国外流量", - "DOMAIN-SUFFIX,economist.com,🔰国外流量", - "DOMAIN-SUFFIX,edgecastcdn.net,🔰国外流量", - "DOMAIN-SUFFIX,edu,🔰国外流量", - "DOMAIN-SUFFIX,elpais.com,🔰国外流量", - "DOMAIN-SUFFIX,enanyang.my,🔰国外流量", - "DOMAIN-SUFFIX,encyclopedia.com,🔰国外流量", - "DOMAIN-SUFFIX,esoir.be,🔰国外流量", - "DOMAIN-SUFFIX,etherscan.io,🔰国外流量", - "DOMAIN-SUFFIX,euronews.com,🔰国外流量", - "DOMAIN-SUFFIX,evozi.com,🔰国外流量", - "DOMAIN-SUFFIX,feedly.com,🔰国外流量", - "DOMAIN-SUFFIX,firech.at,🔰国外流量", - "DOMAIN-SUFFIX,flickr.com,🔰国外流量", - "DOMAIN-SUFFIX,flitto.com,🔰国外流量", - "DOMAIN-SUFFIX,foreignpolicy.com,🔰国外流量", - "DOMAIN-SUFFIX,freebrowser.org,🔰国外流量", - "DOMAIN-SUFFIX,freewechat.com,🔰国外流量", - "DOMAIN-SUFFIX,freeweibo.com,🔰国外流量", - "DOMAIN-SUFFIX,friday.tw,🔰国外流量", - "DOMAIN-SUFFIX,ftchinese.com,🔰国外流量", - "DOMAIN-SUFFIX,ftimg.net,🔰国外流量", - "DOMAIN-SUFFIX,gate.io,🔰国外流量", - "DOMAIN-SUFFIX,getlantern.org,🔰国外流量", - "DOMAIN-SUFFIX,getsync.com,🔰国外流量", - "DOMAIN-SUFFIX,globalvoices.org,🔰国外流量", - "DOMAIN-SUFFIX,goo.ne.jp,🔰国外流量", - "DOMAIN-SUFFIX,goodreads.com,🔰国外流量", - "DOMAIN-SUFFIX,gov,🔰国外流量", - "DOMAIN-SUFFIX,gov.tw,🔰国外流量", - "DOMAIN-SUFFIX,greatfire.org,🔰国外流量", - "DOMAIN-SUFFIX,gumroad.com,🔰国外流量", - "DOMAIN-SUFFIX,hbg.com,🔰国外流量", - "DOMAIN-SUFFIX,heroku.com,🔰国外流量", - "DOMAIN-SUFFIX,hightail.com,🔰国外流量", - "DOMAIN-SUFFIX,hk01.com,🔰国外流量", - "DOMAIN-SUFFIX,hkbf.org,🔰国外流量", - "DOMAIN-SUFFIX,hkbookcity.com,🔰国外流量", - "DOMAIN-SUFFIX,hkej.com,🔰国外流量", - "DOMAIN-SUFFIX,hket.com,🔰国外流量", - "DOMAIN-SUFFIX,hkgolden.com,🔰国外流量", - "DOMAIN-SUFFIX,hootsuite.com,🔰国外流量", - "DOMAIN-SUFFIX,hudson.org,🔰国外流量", - "DOMAIN-SUFFIX,hyread.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,ibtimes.com,🔰国外流量", - "DOMAIN-SUFFIX,i-cable.com,🔰国外流量", - "DOMAIN-SUFFIX,icij.org,🔰国外流量", - "DOMAIN-SUFFIX,icoco.com,🔰国外流量", - "DOMAIN-SUFFIX,imgur.com,🔰国外流量", - "DOMAIN-SUFFIX,initiummall.com,🔰国外流量", - "DOMAIN-SUFFIX,insecam.org,🔰国外流量", - "DOMAIN-SUFFIX,ipfs.io,🔰国外流量", - "DOMAIN-SUFFIX,issuu.com,🔰国外流量", - "DOMAIN-SUFFIX,istockphoto.com,🔰国外流量", - "DOMAIN-SUFFIX,japantimes.co.jp,🔰国外流量", - "DOMAIN-SUFFIX,jiji.com,🔰国外流量", - "DOMAIN-SUFFIX,jinx.com,🔰国外流量", - "DOMAIN-SUFFIX,jkforum.net,🔰国外流量", - "DOMAIN-SUFFIX,joinmastodon.org,🔰国外流量", - "DOMAIN-SUFFIX,justmysocks.net,🔰国外流量", - "DOMAIN-SUFFIX,justpaste.it,🔰国外流量", - "DOMAIN-SUFFIX,kakao.com,🔰国外流量", - "DOMAIN-SUFFIX,kakaocorp.com,🔰国外流量", - "DOMAIN-SUFFIX,kik.com,🔰国外流量", - "DOMAIN-SUFFIX,kobo.com,🔰国外流量", - "DOMAIN-SUFFIX,kobobooks.com,🔰国外流量", - "DOMAIN-SUFFIX,kodingen.com,🔰国外流量", - "DOMAIN-SUFFIX,lemonde.fr,🔰国外流量", - "DOMAIN-SUFFIX,lepoint.fr,🔰国外流量", - "DOMAIN-SUFFIX,lihkg.com,🔰国外流量", - "DOMAIN-SUFFIX,listennotes.com,🔰国外流量", - "DOMAIN-SUFFIX,livestream.com,🔰国外流量", - "DOMAIN-SUFFIX,logmein.com,🔰国外流量", - "DOMAIN-SUFFIX,mail.ru,🔰国外流量", - "DOMAIN-SUFFIX,mailchimp.com,🔰国外流量", - "DOMAIN-SUFFIX,marc.info,🔰国外流量", - "DOMAIN-SUFFIX,matters.news,🔰国外流量", - "DOMAIN-SUFFIX,maying.co,🔰国外流量", - "DOMAIN-SUFFIX,medium.com,🔰国外流量", - "DOMAIN-SUFFIX,mega.nz,🔰国外流量", - "DOMAIN-SUFFIX,mil,🔰国外流量", - "DOMAIN-SUFFIX,mingpao.com,🔰国外流量", - "DOMAIN-SUFFIX,mobile01.com,🔰国外流量", - "DOMAIN-SUFFIX,myspace.com,🔰国外流量", - "DOMAIN-SUFFIX,myspacecdn.com,🔰国外流量", - "DOMAIN-SUFFIX,nanyang.com,🔰国外流量", - "DOMAIN-SUFFIX,naver.com,🔰国外流量", - "DOMAIN-SUFFIX,neowin.net,🔰国外流量", - "DOMAIN-SUFFIX,newstapa.org,🔰国外流量", - "DOMAIN-SUFFIX,nexitally.com,🔰国外流量", - "DOMAIN-SUFFIX,nhk.or.jp,🔰国外流量", - "DOMAIN-SUFFIX,nicovideo.jp,🔰国外流量", - "DOMAIN-SUFFIX,nii.ac.jp,🔰国外流量", - "DOMAIN-SUFFIX,nikkei.com,🔰国外流量", - "DOMAIN-SUFFIX,nofile.io,🔰国外流量", - "DOMAIN-SUFFIX,now.com,🔰国外流量", - "DOMAIN-SUFFIX,nrk.no,🔰国外流量", - "DOMAIN-SUFFIX,nyt.com,🔰国外流量", - "DOMAIN-SUFFIX,nytchina.com,🔰国外流量", - "DOMAIN-SUFFIX,nytcn.me,🔰国外流量", - "DOMAIN-SUFFIX,nytco.com,🔰国外流量", - "DOMAIN-SUFFIX,nytimes.com,🔰国外流量", - "DOMAIN-SUFFIX,nytimg.com,🔰国外流量", - "DOMAIN-SUFFIX,nytlog.com,🔰国外流量", - "DOMAIN-SUFFIX,nytstyle.com,🔰国外流量", - "DOMAIN-SUFFIX,ok.ru,🔰国外流量", - "DOMAIN-SUFFIX,okex.com,🔰国外流量", - "DOMAIN-SUFFIX,on.cc,🔰国外流量", - "DOMAIN-SUFFIX,orientaldaily.com.my,🔰国外流量", - "DOMAIN-SUFFIX,overcast.fm,🔰国外流量", - "DOMAIN-SUFFIX,paltalk.com,🔰国外流量", - "DOMAIN-SUFFIX,pao-pao.net,🔰国外流量", - "DOMAIN-SUFFIX,parsevideo.com,🔰国外流量", - "DOMAIN-SUFFIX,pbxes.com,🔰国外流量", - "DOMAIN-SUFFIX,pcdvd.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,pchome.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,pcloud.com,🔰国外流量", - "DOMAIN-SUFFIX,picacomic.com,🔰国外流量", - "DOMAIN-SUFFIX,pinimg.com,🔰国外流量", - "DOMAIN-SUFFIX,pixiv.net,🔰国外流量", - "DOMAIN-SUFFIX,player.fm,🔰国外流量", - "DOMAIN-SUFFIX,plurk.com,🔰国外流量", - "DOMAIN-SUFFIX,po18.tw,🔰国外流量", - "DOMAIN-SUFFIX,potato.im,🔰国外流量", - "DOMAIN-SUFFIX,potatso.com,🔰国外流量", - "DOMAIN-SUFFIX,prism-break.org,🔰国外流量", - "DOMAIN-SUFFIX,proxifier.com,🔰国外流量", - "DOMAIN-SUFFIX,pt.im,🔰国外流量", - "DOMAIN-SUFFIX,pts.org.tw,🔰国外流量", - "DOMAIN-SUFFIX,pubu.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,pubu.tw,🔰国外流量", - "DOMAIN-SUFFIX,pureapk.com,🔰国外流量", - "DOMAIN-SUFFIX,quora.com,🔰国外流量", - "DOMAIN-SUFFIX,quoracdn.net,🔰国外流量", - "DOMAIN-SUFFIX,rakuten.co.jp,🔰国外流量", - "DOMAIN-SUFFIX,readingtimes.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,readmoo.com,🔰国外流量", - "DOMAIN-SUFFIX,redbubble.com,🔰国外流量", - "DOMAIN-SUFFIX,reddit.com,🔰国外流量", - "DOMAIN-SUFFIX,redditmedia.com,🔰国外流量", - "DOMAIN-SUFFIX,resilio.com,🔰国外流量", - "DOMAIN-SUFFIX,reuters.com,🔰国外流量", - "DOMAIN-SUFFIX,reutersmedia.net,🔰国外流量", - "DOMAIN-SUFFIX,rfi.fr,🔰国外流量", - "DOMAIN-SUFFIX,rixcloud.com,🔰国外流量", - "DOMAIN-SUFFIX,roadshow.hk,🔰国外流量", - "DOMAIN-SUFFIX,scmp.com,🔰国外流量", - "DOMAIN-SUFFIX,scribd.com,🔰国外流量", - "DOMAIN-SUFFIX,seatguru.com,🔰国外流量", - "DOMAIN-SUFFIX,shadowsocks.org,🔰国外流量", - "DOMAIN-SUFFIX,shopee.tw,🔰国外流量", - "DOMAIN-SUFFIX,slideshare.net,🔰国外流量", - "DOMAIN-SUFFIX,softfamous.com,🔰国外流量", - "DOMAIN-SUFFIX,soundcloud.com,🔰国外流量", - "DOMAIN-SUFFIX,ssrcloud.org,🔰国外流量", - "DOMAIN-SUFFIX,startpage.com,🔰国外流量", - "DOMAIN-SUFFIX,steamcommunity.com,🔰国外流量", - "DOMAIN-SUFFIX,steemit.com,🔰国外流量", - "DOMAIN-SUFFIX,steemitwallet.com,🔰国外流量", - "DOMAIN-SUFFIX,t66y.com,🔰国外流量", - "DOMAIN-SUFFIX,tapatalk.com,🔰国外流量", - "DOMAIN-SUFFIX,teco-hk.org,🔰国外流量", - "DOMAIN-SUFFIX,teco-mo.org,🔰国外流量", - "DOMAIN-SUFFIX,teddysun.com,🔰国外流量", - "DOMAIN-SUFFIX,textnow.me,🔰国外流量", - "DOMAIN-SUFFIX,theguardian.com,🔰国外流量", - "DOMAIN-SUFFIX,theinitium.com,🔰国外流量", - "DOMAIN-SUFFIX,thetvdb.com,🔰国外流量", - "DOMAIN-SUFFIX,tineye.com,🔰国外流量", - "DOMAIN-SUFFIX,torproject.org,🔰国外流量", - "DOMAIN-SUFFIX,tumblr.com,🔰国外流量", - "DOMAIN-SUFFIX,turbobit.net,🔰国外流量", - "DOMAIN-SUFFIX,tutanota.com,🔰国外流量", - "DOMAIN-SUFFIX,tvboxnow.com,🔰国外流量", - "DOMAIN-SUFFIX,udn.com,🔰国外流量", - "DOMAIN-SUFFIX,unseen.is,🔰国外流量", - "DOMAIN-SUFFIX,upmedia.mg,🔰国外流量", - "DOMAIN-SUFFIX,uptodown.com,🔰国外流量", - "DOMAIN-SUFFIX,urbandictionary.com,🔰国外流量", - "DOMAIN-SUFFIX,ustream.tv,🔰国外流量", - "DOMAIN-SUFFIX,uwants.com,🔰国外流量", - "DOMAIN-SUFFIX,v2ray.com,🔰国外流量", - "DOMAIN-SUFFIX,viber.com,🔰国外流量", - "DOMAIN-SUFFIX,videopress.com,🔰国外流量", - "DOMAIN-SUFFIX,vimeo.com,🔰国外流量", - "DOMAIN-SUFFIX,voachinese.com,🔰国外流量", - "DOMAIN-SUFFIX,voanews.com,🔰国外流量", - "DOMAIN-SUFFIX,voxer.com,🔰国外流量", - "DOMAIN-SUFFIX,vzw.com,🔰国外流量", - "DOMAIN-SUFFIX,w3schools.com,🔰国外流量", - "DOMAIN-SUFFIX,washingtonpost.com,🔰国外流量", - "DOMAIN-SUFFIX,wattpad.com,🔰国外流量", - "DOMAIN-SUFFIX,whoer.net,🔰国外流量", - "DOMAIN-SUFFIX,wikimapia.org,🔰国外流量", - "DOMAIN-SUFFIX,wikipedia.org,🔰国外流量", - "DOMAIN-SUFFIX,wikiquote.org,🔰国外流量", - "DOMAIN-SUFFIX,wikiwand.com,🔰国外流量", - "DOMAIN-SUFFIX,winudf.com,🔰国外流量", - "DOMAIN-SUFFIX,wire.com,🔰国外流量", - "DOMAIN-SUFFIX,wordpress.com,🔰国外流量", - "DOMAIN-SUFFIX,workflow.is,🔰国外流量", - "DOMAIN-SUFFIX,worldcat.org,🔰国外流量", - "DOMAIN-SUFFIX,wsj.com,🔰国外流量", - "DOMAIN-SUFFIX,wsj.net,🔰国外流量", - "DOMAIN-SUFFIX,xhamster.com,🔰国外流量", - "DOMAIN-SUFFIX,xn--90wwvt03e.com,🔰国外流量", - "DOMAIN-SUFFIX,xn--i2ru8q2qg.com,🔰国外流量", - "DOMAIN-SUFFIX,xnxx.com,🔰国外流量", - "DOMAIN-SUFFIX,xvideos.com,🔰国外流量", - "DOMAIN-SUFFIX,yahoo.com,🔰国外流量", - "DOMAIN-SUFFIX,yandex.ru,🔰国外流量", - "DOMAIN-SUFFIX,ycombinator.com,🔰国外流量", - "DOMAIN-SUFFIX,yesasia.com,🔰国外流量", - "DOMAIN-SUFFIX,yes-news.com,🔰国外流量", - "DOMAIN-SUFFIX,yomiuri.co.jp,🔰国外流量", - "DOMAIN-SUFFIX,you-get.org,🔰国外流量", - "DOMAIN-SUFFIX,zaobao.com,🔰国外流量", - "DOMAIN-SUFFIX,zb.com,🔰国外流量", - "DOMAIN-SUFFIX,zello.com,🔰国外流量", - "DOMAIN-SUFFIX,zeronet.io,🔰国外流量", - "DOMAIN-SUFFIX,zoom.us,🔰国外流量", - "DOMAIN-KEYWORD,github,🔰国外流量", - "DOMAIN-KEYWORD,jav,🔰国外流量", - "DOMAIN-KEYWORD,pinterest,🔰国外流量", - "DOMAIN-KEYWORD,porn,🔰国外流量", - "DOMAIN-KEYWORD,wikileaks,🔰国外流量", - "DOMAIN-SUFFIX,apartmentratings.com,🔰国外流量", - "DOMAIN-SUFFIX,apartments.com,🔰国外流量", - "DOMAIN-SUFFIX,bankmobilevibe.com,🔰国外流量", - "DOMAIN-SUFFIX,bing.com,🔰国外流量", - "DOMAIN-SUFFIX,booktopia.com.au,🔰国外流量", - "DOMAIN-SUFFIX,cccat.io,🔰国外流量", - "DOMAIN-SUFFIX,centauro.com.br,🔰国外流量", - "DOMAIN-SUFFIX,clearsurance.com,🔰国外流量", - "DOMAIN-SUFFIX,costco.com,🔰国外流量", - "DOMAIN-SUFFIX,crackle.com,🔰国外流量", - "DOMAIN-SUFFIX,depositphotos.cn,🔰国外流量", - "DOMAIN-SUFFIX,dish.com,🔰国外流量", - "DOMAIN-SUFFIX,dmm.co.jp,🔰国外流量", - "DOMAIN-SUFFIX,dmm.com,🔰国外流量", - "DOMAIN-SUFFIX,dnvod.tv,🔰国外流量", - "DOMAIN-SUFFIX,esurance.com,🔰国外流量", - "DOMAIN-SUFFIX,extmatrix.com,🔰国外流量", - "DOMAIN-SUFFIX,fastpic.ru,🔰国外流量", - "DOMAIN-SUFFIX,flipboard.com,🔰国外流量", - "DOMAIN-SUFFIX,fnac.be,🔰国外流量", - "DOMAIN-SUFFIX,fnac.com,🔰国外流量", - "DOMAIN-SUFFIX,funkyimg.com,🔰国外流量", - "DOMAIN-SUFFIX,fxnetworks.com,🔰国外流量", - "DOMAIN-SUFFIX,gettyimages.com,🔰国外流量", - "DOMAIN-SUFFIX,go.com,🔰国外流量", - "DOMAIN-SUFFIX,here.com,🔰国外流量", - "DOMAIN-SUFFIX,jcpenney.com,🔰国外流量", - "DOMAIN-SUFFIX,jiehua.tv,🔰国外流量", - "DOMAIN-SUFFIX,mailfence.com,🔰国外流量", - "DOMAIN-SUFFIX,nationwide.com,🔰国外流量", - "DOMAIN-SUFFIX,nbc.com,🔰国外流量", - "DOMAIN-SUFFIX,nexon.com,🔰国外流量", - "DOMAIN-SUFFIX,nordstrom.com,🔰国外流量", - "DOMAIN-SUFFIX,nordstromimage.com,🔰国外流量", - "DOMAIN-SUFFIX,nordstromrack.com,🔰国外流量", - "DOMAIN-SUFFIX,superpages.com,🔰国外流量", - "DOMAIN-SUFFIX,target.com,🔰国外流量", - "DOMAIN-SUFFIX,thinkgeek.com,🔰国外流量", - "DOMAIN-SUFFIX,tracfone.com,🔰国外流量", - "DOMAIN-SUFFIX,unity3d.com,🔰国外流量", - "DOMAIN-SUFFIX,uploader.jp,🔰国外流量", - "DOMAIN-SUFFIX,vevo.com,🔰国外流量", - "DOMAIN-SUFFIX,viu.tv,🔰国外流量", - "DOMAIN-SUFFIX,vk.com,🔰国外流量", - "DOMAIN-SUFFIX,vsco.co,🔰国外流量", - "DOMAIN-SUFFIX,xfinity.com,🔰国外流量", - "DOMAIN-SUFFIX,zattoo.com,🔰国外流量", - "DOMAIN,testflight.apple.com,🔰国外流量", - "DOMAIN-SUFFIX,appsto.re,🔰国外流量", - "DOMAIN,books.itunes.apple.com,🔰国外流量", - "DOMAIN,hls.itunes.apple.com,🔰国外流量", - "DOMAIN,apps.apple.com,🔰国外流量", - "DOMAIN,itunes.apple.com,🔰国外流量", - "DOMAIN,api-glb-sea.smoot.apple.com,🔰国外流量", - "DOMAIN,lookup-api.apple.com,🔰国外流量", - "DOMAIN-SUFFIX,abc.xyz,🔰国外流量", - "DOMAIN-SUFFIX,android.com,🔰国外流量", - "DOMAIN-SUFFIX,androidify.com,🔰国外流量", - "DOMAIN-SUFFIX,dialogflow.com,🔰国外流量", - "DOMAIN-SUFFIX,autodraw.com,🔰国外流量", - "DOMAIN-SUFFIX,capitalg.com,🔰国外流量", - "DOMAIN-SUFFIX,certificate-transparency.org,🔰国外流量", - "DOMAIN-SUFFIX,chrome.com,🔰国外流量", - "DOMAIN-SUFFIX,chromeexperiments.com,🔰国外流量", - "DOMAIN-SUFFIX,chromestatus.com,🔰国外流量", - "DOMAIN-SUFFIX,chromium.org,🔰国外流量", - "DOMAIN-SUFFIX,creativelab5.com,🔰国外流量", - "DOMAIN-SUFFIX,debug.com,🔰国外流量", - "DOMAIN-SUFFIX,deepmind.com,🔰国外流量", - "DOMAIN-SUFFIX,firebaseio.com,🔰国外流量", - "DOMAIN-SUFFIX,getmdl.io,🔰国外流量", - "DOMAIN-SUFFIX,ggpht.com,🔰国外流量", - "DOMAIN-SUFFIX,gmail.com,🔰国外流量", - "DOMAIN-SUFFIX,gmodules.com,🔰国外流量", - "DOMAIN-SUFFIX,godoc.org,🔰国外流量", - "DOMAIN-SUFFIX,golang.org,🔰国外流量", - "DOMAIN-SUFFIX,gstatic.com,🔰国外流量", - "DOMAIN-SUFFIX,gv.com,🔰国外流量", - "DOMAIN-SUFFIX,gwtproject.org,🔰国外流量", - "DOMAIN-SUFFIX,itasoftware.com,🔰国外流量", - "DOMAIN-SUFFIX,madewithcode.com,🔰国外流量", - "DOMAIN-SUFFIX,material.io,🔰国外流量", - "DOMAIN-SUFFIX,polymer-project.org,🔰国外流量", - "DOMAIN-SUFFIX,admin.recaptcha.net,🔰国外流量", - "DOMAIN-SUFFIX,recaptcha.net,🔰国外流量", - "DOMAIN-SUFFIX,shattered.io,🔰国外流量", - "DOMAIN-SUFFIX,synergyse.com,🔰国外流量", - "DOMAIN-SUFFIX,tensorflow.org,🔰国外流量", - "DOMAIN-SUFFIX,tfhub.dev,🔰国外流量", - "DOMAIN-SUFFIX,tiltbrush.com,🔰国外流量", - "DOMAIN-SUFFIX,waveprotocol.org,🔰国外流量", - "DOMAIN-SUFFIX,waymo.com,🔰国外流量", - "DOMAIN-SUFFIX,webmproject.org,🔰国外流量", - "DOMAIN-SUFFIX,webrtc.org,🔰国外流量", - "DOMAIN-SUFFIX,whatbrowser.org,🔰国外流量", - "DOMAIN-SUFFIX,widevine.com,🔰国外流量", - "DOMAIN-SUFFIX,x.company,🔰国外流量", - "DOMAIN-SUFFIX,youtu.be,🔰国外流量", - "DOMAIN-SUFFIX,yt.be,🔰国外流量", - "DOMAIN-SUFFIX,ytimg.com,🔰国外流量", - "DOMAIN-SUFFIX,1drv.com,🔰国外流量", - "DOMAIN-SUFFIX,1drv.ms,🔰国外流量", - "DOMAIN-SUFFIX,blob.core.windows.net,🔰国外流量", - "DOMAIN-SUFFIX,livefilestore.com,🔰国外流量", - "DOMAIN-SUFFIX,onedrive.com,🔰国外流量", - "DOMAIN-SUFFIX,storage.live.com,🔰国外流量", - "DOMAIN-SUFFIX,storage.msn.com,🔰国外流量", - "DOMAIN,oneclient.sfx.ms,🔰国外流量", - "DOMAIN-SUFFIX,0rz.tw,🔰国外流量", - "DOMAIN-SUFFIX,4bluestones.biz,🔰国外流量", - "DOMAIN-SUFFIX,9bis.net,🔰国外流量", - "DOMAIN-SUFFIX,allconnected.co,🔰国外流量", - "DOMAIN-SUFFIX,aol.com,🔰国外流量", - "DOMAIN-SUFFIX,bcc.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,bit.ly,🔰国外流量", - "DOMAIN-SUFFIX,bitshare.com,🔰国外流量", - "DOMAIN-SUFFIX,blog.jp,🔰国外流量", - "DOMAIN-SUFFIX,blogimg.jp,🔰国外流量", - "DOMAIN-SUFFIX,blogtd.org,🔰国外流量", - "DOMAIN-SUFFIX,broadcast.co.nz,🔰国外流量", - "DOMAIN-SUFFIX,camfrog.com,🔰国外流量", - "DOMAIN-SUFFIX,cfos.de,🔰国外流量", - "DOMAIN-SUFFIX,citypopulation.de,🔰国外流量", - "DOMAIN-SUFFIX,cloudfront.net,🔰国外流量", - "DOMAIN-SUFFIX,ctitv.com.tw,🔰国外流量", - "DOMAIN-SUFFIX,cuhk.edu.hk,🔰国外流量", - "DOMAIN-SUFFIX,cusu.hk,🔰国外流量", - "DOMAIN-SUFFIX,discord.gg,🔰国外流量", - "DOMAIN-SUFFIX,discuss.com.hk,🔰国外流量", - "DOMAIN-SUFFIX,dropboxapi.com,🔰国外流量", - "DOMAIN-SUFFIX,duolingo.cn,🔰国外流量", - "DOMAIN-SUFFIX,edditstatic.com,🔰国外流量", - "DOMAIN-SUFFIX,flickriver.com,🔰国外流量", - "DOMAIN-SUFFIX,focustaiwan.tw,🔰国外流量", - "DOMAIN-SUFFIX,free.fr,🔰国外流量", - "DOMAIN-SUFFIX,gigacircle.com,🔰国外流量", - "DOMAIN-SUFFIX,hk-pub.com,🔰国外流量", - "DOMAIN-SUFFIX,hosting.co.uk,🔰国外流量", - "DOMAIN-SUFFIX,hwcdn.net,🔰国外流量", - "DOMAIN-SUFFIX,ifixit.com,🔰国外流量", - "DOMAIN-SUFFIX,iphone4hongkong.com,🔰国外流量", - "DOMAIN-SUFFIX,iphonetaiwan.org,🔰国外流量", - "DOMAIN-SUFFIX,iptvbin.com,🔰国外流量", - "DOMAIN-SUFFIX,linksalpha.com,🔰国外流量", - "DOMAIN-SUFFIX,manyvids.com,🔰国外流量", - "DOMAIN-SUFFIX,myactimes.com,🔰国外流量", - "DOMAIN-SUFFIX,newsblur.com,🔰国外流量", - "DOMAIN-SUFFIX,now.im,🔰国外流量", - "DOMAIN-SUFFIX,nowe.com,🔰国外流量", - "DOMAIN-SUFFIX,redditlist.com,🔰国外流量", - "DOMAIN-SUFFIX,s3.amazonaws.com,🔰国外流量", - "DOMAIN-SUFFIX,signal.org,🔰国外流量", - "DOMAIN-SUFFIX,smartmailcloud.com,🔰国外流量", - "DOMAIN-SUFFIX,sparknotes.com,🔰国外流量", - "DOMAIN-SUFFIX,streetvoice.com,🔰国外流量", - "DOMAIN-SUFFIX,supertop.co,🔰国外流量", - "DOMAIN-SUFFIX,tv.com,🔰国外流量", - "DOMAIN-SUFFIX,typepad.com,🔰国外流量", - "DOMAIN-SUFFIX,udnbkk.com,🔰国外流量", - "DOMAIN-SUFFIX,urbanairship.com,🔰国外流量", - "DOMAIN-SUFFIX,whispersystems.org,🔰国外流量", - "DOMAIN-SUFFIX,wikia.com,🔰国外流量", - "DOMAIN-SUFFIX,wn.com,🔰国外流量", - "DOMAIN-SUFFIX,wolframalpha.com,🔰国外流量", - "DOMAIN-SUFFIX,x-art.com,🔰国外流量", - "DOMAIN-SUFFIX,yimg.com,🔰国外流量", - "DOMAIN,api.steampowered.com,🔰国外流量", - "DOMAIN,store.steampowered.com,🔰国外流量", - "DOMAIN-SUFFIX,aaplimg.com,🍎苹果服务", - "DOMAIN-SUFFIX,apple.co,🍎苹果服务", - "DOMAIN-SUFFIX,apple.com,🍎苹果服务", - "DOMAIN-SUFFIX,apple-cloudkit.com,🍎苹果服务", - "DOMAIN-SUFFIX,appstore.com,🍎苹果服务", - "DOMAIN-SUFFIX,cdn-apple.com,🍎苹果服务", - "DOMAIN-SUFFIX,crashlytics.com,🍎苹果服务", - "DOMAIN-SUFFIX,icloud.com,🍎苹果服务", - "DOMAIN-SUFFIX,icloud-content.com,🍎苹果服务", - "DOMAIN-SUFFIX,me.com,🍎苹果服务", - "DOMAIN-SUFFIX,mzstatic.com,🍎苹果服务", - "DOMAIN,www-cdn.icloud.com.akadns.net,🍎苹果服务", + "DOMAIN-SUFFIX,ampproject.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,appspot.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,blogger.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,getoutline.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gvt0.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gvt1.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gvt3.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,xn--ngstr-lra8j.com,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,google,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,blogspot,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,onedrive.live.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,xboxlive.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cdninstagram.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fb.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fb.me,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fbaddins.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fbcdn.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fbsbx.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fbworkmail.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,instagram.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,m.me,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,messenger.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,oculus.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,oculuscdn.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,rocksdb.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,whatsapp.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,whatsapp.net,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,facebook,🔰Зарубежный трафик", + "IP-CIDR,3.123.36.126/32,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,35.157.215.84/32,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,35.157.217.255/32,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,52.58.209.134/32,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,54.93.124.31/32,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,54.162.243.80/32,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,54.173.34.141/32,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,54.235.23.242/32,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,169.45.248.118/32,🔰Зарубежный трафик,no-resolve", + "DOMAIN-SUFFIX,pscp.tv,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,periscope.tv,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,t.co,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,twimg.co,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,twimg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,twitpic.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,vine.co,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,twitter,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,t.me,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tdesktop.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,telegra.ph,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,telegram.me,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,telegram.org,🔰Зарубежный трафик", + "IP-CIDR,91.108.4.0/22,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,91.108.8.0/22,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,91.108.12.0/22,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,91.108.16.0/22,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,91.108.56.0/22,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,149.154.160.0/20,🔰Зарубежный трафик,no-resolve", + "IP-CIDR6,2001:b28:f23d::/48,🔰Зарубежный трафик,no-resolve", + "IP-CIDR6,2001:b28:f23f::/48,🔰Зарубежный трафик,no-resolve", + "IP-CIDR6,2001:67c:4e8::/48,🔰Зарубежный трафик,no-resolve", + "DOMAIN-SUFFIX,line.me,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,line-apps.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,line-scdn.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,naver.jp,🔰Зарубежный трафик", + "IP-CIDR,103.2.30.0/23,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,125.209.208.0/20,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,147.92.128.0/17,🔰Зарубежный трафик,no-resolve", + "IP-CIDR,203.104.144.0/21,🔰Зарубежный трафик,no-resolve", + "DOMAIN-SUFFIX,4shared.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,520cc.cc,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,881903.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,9cache.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,9gag.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,abc.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,abc.net.au,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,abebooks.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,amazon.co.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,apigee.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,apk-dl.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,apkfind.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,apkmirror.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,apkmonk.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,apkpure.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,aptoide.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,archive.is,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,archive.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,arte.tv,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,artstation.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,arukas.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ask.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,avg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,avgle.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,badoo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bandwagonhost.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bbc.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,behance.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bibox.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,biggo.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,binance.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bitcointalk.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bitfinex.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bitmex.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bit-z.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bloglovin.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bloomberg.cn,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bloomberg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,blubrry.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,book.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,booklive.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,books.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,boslife.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,box.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,businessinsider.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bwh1.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,castbox.fm,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cbc.ca,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cdw.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,change.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,channelnewsasia.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ck101.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,clarionproject.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,clyp.it,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cna.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,comparitech.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,conoha.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,crucial.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cts.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cw.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cyberctm.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dailymotion.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dailyview.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,daum.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,daumcdn.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dcard.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,deepdiscount.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,depositphotos.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,deviantart.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,disconnect.me,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,discordapp.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,discordapp.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,disqus.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dlercloud.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dns2go.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dowjones.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dropbox.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dropboxusercontent.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,duckduckgo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dw.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dynu.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,earthcam.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ebookservice.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,economist.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,edgecastcdn.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,edu,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,elpais.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,enanyang.my,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,encyclopedia.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,esoir.be,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,etherscan.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,euronews.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,evozi.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,feedly.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,firech.at,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,flickr.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,flitto.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,foreignpolicy.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,freebrowser.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,freewechat.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,freeweibo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,friday.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ftchinese.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ftimg.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gate.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,getlantern.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,getsync.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,globalvoices.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,goo.ne.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,goodreads.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gov,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gov.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,greatfire.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gumroad.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hbg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,heroku.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hightail.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hk01.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hkbf.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hkbookcity.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hkej.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hket.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hkgolden.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hootsuite.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hudson.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hyread.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ibtimes.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,i-cable.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,icij.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,icoco.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,imgur.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,initiummall.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,insecam.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ipfs.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,issuu.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,istockphoto.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,japantimes.co.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,jiji.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,jinx.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,jkforum.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,joinmastodon.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,justmysocks.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,justpaste.it,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,kakao.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,kakaocorp.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,kik.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,kobo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,kobobooks.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,kodingen.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,lemonde.fr,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,lepoint.fr,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,lihkg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,listennotes.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,livestream.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,logmein.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,mail.ru,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,mailchimp.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,marc.info,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,matters.news,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,maying.co,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,medium.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,mega.nz,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,mil,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,mingpao.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,mobile01.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,myspace.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,myspacecdn.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nanyang.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,naver.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,neowin.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,newstapa.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nexitally.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nhk.or.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nicovideo.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nii.ac.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nikkei.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nofile.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,now.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nrk.no,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nyt.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nytchina.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nytcn.me,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nytco.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nytimes.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nytimg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nytlog.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nytstyle.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ok.ru,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,okex.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,on.cc,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,orientaldaily.com.my,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,overcast.fm,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,paltalk.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pao-pao.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,parsevideo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pbxes.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pcdvd.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pchome.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pcloud.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,picacomic.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pinimg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pixiv.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,player.fm,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,plurk.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,po18.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,potato.im,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,potatso.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,prism-break.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,proxifier.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pt.im,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pts.org.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pubu.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pubu.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,pureapk.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,quora.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,quoracdn.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,rakuten.co.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,readingtimes.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,readmoo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,redbubble.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,reddit.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,redditmedia.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,resilio.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,reuters.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,reutersmedia.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,rfi.fr,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,rixcloud.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,roadshow.hk,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,scmp.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,scribd.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,seatguru.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,shadowsocks.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,shopee.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,slideshare.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,softfamous.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,soundcloud.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ssrcloud.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,startpage.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,steamcommunity.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,steemit.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,steemitwallet.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,t66y.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tapatalk.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,teco-hk.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,teco-mo.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,teddysun.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,textnow.me,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,theguardian.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,theinitium.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,thetvdb.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tineye.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,torproject.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tumblr.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,turbobit.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tutanota.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tvboxnow.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,udn.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,unseen.is,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,upmedia.mg,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,uptodown.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,urbandictionary.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ustream.tv,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,uwants.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,v2ray.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,viber.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,videopress.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,vimeo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,voachinese.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,voanews.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,voxer.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,vzw.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,w3schools.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,washingtonpost.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wattpad.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,whoer.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wikimapia.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wikipedia.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wikiquote.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wikiwand.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,winudf.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wire.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wordpress.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,workflow.is,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,worldcat.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wsj.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wsj.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,xhamster.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,xn--90wwvt03e.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,xn--i2ru8q2qg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,xnxx.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,xvideos.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,yahoo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,yandex.ru,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ycombinator.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,yesasia.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,yes-news.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,yomiuri.co.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,you-get.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,zaobao.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,zb.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,zello.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,zeronet.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,zoom.us,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,github,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,jav,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,pinterest,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,porn,🔰Зарубежный трафик", + "DOMAIN-KEYWORD,wikileaks,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,apartmentratings.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,apartments.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bankmobilevibe.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bing.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,booktopia.com.au,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cccat.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,centauro.com.br,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,clearsurance.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,costco.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,crackle.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,depositphotos.cn,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dish.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dmm.co.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dmm.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dnvod.tv,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,esurance.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,extmatrix.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fastpic.ru,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,flipboard.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fnac.be,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fnac.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,funkyimg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,fxnetworks.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gettyimages.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,go.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,here.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,jcpenney.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,jiehua.tv,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,mailfence.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nationwide.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nbc.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nexon.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nordstrom.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nordstromimage.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nordstromrack.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,superpages.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,target.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,thinkgeek.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tracfone.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,unity3d.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,uploader.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,vevo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,viu.tv,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,vk.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,vsco.co,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,xfinity.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,zattoo.com,🔰Зарубежный трафик", + "DOMAIN,testflight.apple.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,appsto.re,🔰Зарубежный трафик", + "DOMAIN,books.itunes.apple.com,🔰Зарубежный трафик", + "DOMAIN,hls.itunes.apple.com,🔰Зарубежный трафик", + "DOMAIN,apps.apple.com,🔰Зарубежный трафик", + "DOMAIN,itunes.apple.com,🔰Зарубежный трафик", + "DOMAIN,api-glb-sea.smoot.apple.com,🔰Зарубежный трафик", + "DOMAIN,lookup-api.apple.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,abc.xyz,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,android.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,androidify.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dialogflow.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,autodraw.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,capitalg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,certificate-transparency.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,chrome.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,chromeexperiments.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,chromestatus.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,chromium.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,creativelab5.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,debug.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,deepmind.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,firebaseio.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,getmdl.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ggpht.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gmail.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gmodules.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,godoc.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,golang.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gstatic.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gv.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gwtproject.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,itasoftware.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,madewithcode.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,material.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,polymer-project.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,admin.recaptcha.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,recaptcha.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,shattered.io,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,synergyse.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tensorflow.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tfhub.dev,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tiltbrush.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,waveprotocol.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,waymo.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,webmproject.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,webrtc.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,whatbrowser.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,widevine.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,x.company,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,youtu.be,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,yt.be,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ytimg.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,1drv.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,1drv.ms,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,blob.core.windows.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,livefilestore.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,onedrive.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,storage.live.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,storage.msn.com,🔰Зарубежный трафик", + "DOMAIN,oneclient.sfx.ms,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,0rz.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,4bluestones.biz,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,9bis.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,allconnected.co,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,aol.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bcc.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bit.ly,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,bitshare.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,blog.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,blogimg.jp,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,blogtd.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,broadcast.co.nz,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,camfrog.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cfos.de,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,citypopulation.de,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cloudfront.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ctitv.com.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cuhk.edu.hk,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,cusu.hk,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,discord.gg,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,discuss.com.hk,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,dropboxapi.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,duolingo.cn,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,edditstatic.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,flickriver.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,focustaiwan.tw,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,free.fr,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,gigacircle.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hk-pub.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hosting.co.uk,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,hwcdn.net,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,ifixit.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,iphone4hongkong.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,iphonetaiwan.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,iptvbin.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,linksalpha.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,manyvids.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,myactimes.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,newsblur.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,now.im,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,nowe.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,redditlist.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,s3.amazonaws.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,signal.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,smartmailcloud.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,sparknotes.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,streetvoice.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,supertop.co,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,tv.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,typepad.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,udnbkk.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,urbanairship.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,whispersystems.org,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wikia.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wn.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,wolframalpha.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,x-art.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,yimg.com,🔰Зарубежный трафик", + "DOMAIN,api.steampowered.com,🔰Зарубежный трафик", + "DOMAIN,store.steampowered.com,🔰Зарубежный трафик", + "DOMAIN-SUFFIX,aaplimg.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,apple.co,🍎Сервисы Apple", + "DOMAIN-SUFFIX,apple.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,apple-cloudkit.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,appstore.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,cdn-apple.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,crashlytics.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,icloud.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,icloud-content.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,me.com,🍎Сервисы Apple", + "DOMAIN-SUFFIX,mzstatic.com,🍎Сервисы Apple", + "DOMAIN,www-cdn.icloud.com.akadns.net,🍎Сервисы Apple", "DOMAIN-SUFFIX,t.me,✈️Telegram", "DOMAIN-SUFFIX,tdesktop.com,✈️Telegram", "DOMAIN-SUFFIX,telegra.ph,✈️Telegram", @@ -682,154 +682,154 @@ module.exports = { "IP-CIDR,192.173.64.0/18,🎬Netflix,no-resolve", "IP-CIDR,198.38.96.0/19,🎬Netflix,no-resolve", "IP-CIDR,198.45.48.0/20,🎬Netflix,no-resolve", - "DOMAIN-SUFFIX,deezer.com,🎬国外媒体", - "DOMAIN-SUFFIX,dzcdn.net,🎬国外媒体", - "DOMAIN-SUFFIX,kkbox.com,🎬国外媒体", - "DOMAIN-SUFFIX,kkbox.com.tw,🎬国外媒体", - "DOMAIN-SUFFIX,kfs.io,🎬国外媒体", - "DOMAIN-SUFFIX,joox.com,🎬国外媒体", - "DOMAIN-SUFFIX,pandora.com,🎬国外媒体", - "DOMAIN-SUFFIX,p-cdn.us,🎬国外媒体", - "DOMAIN-SUFFIX,sndcdn.com,🎬国外媒体", - "DOMAIN-SUFFIX,soundcloud.com,🎬国外媒体", - "DOMAIN-SUFFIX,pscdn.co,🎬国外媒体", - "DOMAIN-SUFFIX,scdn.co,🎬国外媒体", - "DOMAIN-SUFFIX,spotify.com,🎬国外媒体", - "DOMAIN-SUFFIX,spoti.fi,🎬国外媒体", - "DOMAIN-KEYWORD,spotify.com,🎬国外媒体", - "DOMAIN-KEYWORD,-spotify-com,🎬国外媒体", - "DOMAIN-SUFFIX,tidal.com,🎬国外媒体", - "DOMAIN-SUFFIX,c4assets.com,🎬国外媒体", - "DOMAIN-SUFFIX,channel4.com,🎬国外媒体", - "DOMAIN-SUFFIX,abema.io,🎬国外媒体", - "DOMAIN-SUFFIX,ameba.jp,🎬国外媒体", - "DOMAIN-SUFFIX,abema.tv,🎬国外媒体", - "DOMAIN-SUFFIX,hayabusa.io,🎬国外媒体", - "DOMAIN,abematv.akamaized.net,🎬国外媒体", - "DOMAIN,ds-linear-abematv.akamaized.net,🎬国外媒体", - "DOMAIN,ds-vod-abematv.akamaized.net,🎬国外媒体", - "DOMAIN,linear-abematv.akamaized.net,🎬国外媒体", - "DOMAIN-SUFFIX,aiv-cdn.net,🎬国外媒体", - "DOMAIN-SUFFIX,aiv-delivery.net,🎬国外媒体", - "DOMAIN-SUFFIX,amazonvideo.com,🎬国外媒体", - "DOMAIN-SUFFIX,primevideo.com,🎬国外媒体", - "DOMAIN,avodmp4s3ww-a.akamaihd.net,🎬国外媒体", - "DOMAIN,d25xi40x97liuc.cloudfront.net,🎬国外媒体", - "DOMAIN,dmqdd6hw24ucf.cloudfront.net,🎬国外媒体", - "DOMAIN,d22qjgkvxw22r6.cloudfront.net,🎬国外媒体", - "DOMAIN,d1v5ir2lpwr8os.cloudfront.net,🎬国外媒体", - "DOMAIN-KEYWORD,avoddashs,🎬国外媒体", - "DOMAIN-SUFFIX,bahamut.com.tw,🎬国外媒体", - "DOMAIN-SUFFIX,gamer.com.tw,🎬国外媒体", - "DOMAIN,gamer-cds.cdn.hinet.net,🎬国外媒体", - "DOMAIN,gamer2-cds.cdn.hinet.net,🎬国外媒体", - "DOMAIN-SUFFIX,bbc.co.uk,🎬国外媒体", - "DOMAIN-SUFFIX,bbci.co.uk,🎬国外媒体", - "DOMAIN-KEYWORD,bbcfmt,🎬国外媒体", - "DOMAIN-KEYWORD,uk-live,🎬国外媒体", - "DOMAIN-SUFFIX,dazn.com,🎬国外媒体", - "DOMAIN-SUFFIX,dazn-api.com,🎬国外媒体", - "DOMAIN,d151l6v8er5bdm.cloudfront.net,🎬国外媒体", - "DOMAIN-KEYWORD,voddazn,🎬国外媒体", - "DOMAIN-SUFFIX,bamgrid.com,🎬国外媒体", - "DOMAIN-SUFFIX,disney-plus.net,🎬国外媒体", - "DOMAIN-SUFFIX,disneyplus.com,🎬国外媒体", - "DOMAIN-SUFFIX,dssott.com,🎬国外媒体", - "DOMAIN,cdn.registerdisney.go.com,🎬国外媒体", - "DOMAIN-SUFFIX,encoretvb.com,🎬国外媒体", - "DOMAIN,edge.api.brightcove.com,🎬国外媒体", - "DOMAIN,bcbolt446c5271-a.akamaihd.net,🎬国外媒体", - "DOMAIN-SUFFIX,fox.com,🎬国外媒体", - "DOMAIN-SUFFIX,foxdcg.com,🎬国外媒体", - "DOMAIN-SUFFIX,theplatform.com,🎬国外媒体", - "DOMAIN-SUFFIX,uplynk.com,🎬国外媒体", - "DOMAIN-SUFFIX,hbo.com,🎬国外媒体", - "DOMAIN-SUFFIX,hbogo.com,🎬国外媒体", - "DOMAIN-SUFFIX,hbonow.com,🎬国外媒体", - "DOMAIN-SUFFIX,hbogoasia.com,🎬国外媒体", - "DOMAIN-SUFFIX,hbogoasia.hk,🎬国外媒体", - "DOMAIN,bcbolthboa-a.akamaihd.net,🎬国外媒体", - "DOMAIN,players.brightcove.net,🎬国外媒体", - "DOMAIN,s3-ap-southeast-1.amazonaws.com,🎬国外媒体", - "DOMAIN,dai3fd1oh325y.cloudfront.net,🎬国外媒体", - "DOMAIN,44wilhpljf.execute-api.ap-southeast-1.amazonaws.com,🎬国外媒体", - "DOMAIN,hboasia1-i.akamaihd.net,🎬国外媒体", - "DOMAIN,hboasia2-i.akamaihd.net,🎬国外媒体", - "DOMAIN,hboasia3-i.akamaihd.net,🎬国外媒体", - "DOMAIN,hboasia4-i.akamaihd.net,🎬国外媒体", - "DOMAIN,hboasia5-i.akamaihd.net,🎬国外媒体", - "DOMAIN,cf-images.ap-southeast-1.prod.boltdns.net,🎬国外媒体", - "DOMAIN-SUFFIX,5itv.tv,🎬国外媒体", - "DOMAIN-SUFFIX,ocnttv.com,🎬国外媒体", - "DOMAIN-SUFFIX,hulu.com,🎬国外媒体", - "DOMAIN-SUFFIX,huluim.com,🎬国外媒体", - "DOMAIN-SUFFIX,hulustream.com,🎬国外媒体", - "DOMAIN-SUFFIX,happyon.jp,🎬国外媒体", - "DOMAIN-SUFFIX,hulu.jp,🎬国外媒体", - "DOMAIN-SUFFIX,itv.com,🎬国外媒体", - "DOMAIN-SUFFIX,itvstatic.com,🎬国外媒体", - "DOMAIN,itvpnpmobile-a.akamaihd.net,🎬国外媒体", - "DOMAIN-SUFFIX,kktv.com.tw,🎬国外媒体", - "DOMAIN-SUFFIX,kktv.me,🎬国外媒体", - "DOMAIN,kktv-theater.kk.stream,🎬国外媒体", - "DOMAIN-SUFFIX,linetv.tw,🎬国外媒体", - "DOMAIN,d3c7rimkq79yfu.cloudfront.net,🎬国外媒体", - "DOMAIN-SUFFIX,litv.tv,🎬国外媒体", - "DOMAIN,litvfreemobile-hichannel.cdn.hinet.net,🎬国外媒体", - "DOMAIN-SUFFIX,channel5.com,🎬国外媒体", - "DOMAIN-SUFFIX,my5.tv,🎬国外媒体", - "DOMAIN,d349g9zuie06uo.cloudfront.net,🎬国外媒体", - "DOMAIN-SUFFIX,mytvsuper.com,🎬国外媒体", - "DOMAIN-SUFFIX,tvb.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflix.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflix.net,🎬国外媒体", - "DOMAIN-SUFFIX,nflxext.com,🎬国外媒体", - "DOMAIN-SUFFIX,nflximg.com,🎬国外媒体", - "DOMAIN-SUFFIX,nflximg.net,🎬国外媒体", - "DOMAIN-SUFFIX,nflxso.net,🎬国外媒体", - "DOMAIN-SUFFIX,nflxvideo.net,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest0.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest1.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest2.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest3.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest4.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest5.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest6.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest7.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest8.com,🎬国外媒体", - "DOMAIN-SUFFIX,netflixdnstest9.com,🎬国外媒体", - "IP-CIDR,23.246.0.0/18,🎬国外媒体,no-resolve", - "IP-CIDR,37.77.184.0/21,🎬国外媒体,no-resolve", - "IP-CIDR,45.57.0.0/17,🎬国外媒体,no-resolve", - "IP-CIDR,64.120.128.0/17,🎬国外媒体,no-resolve", - "IP-CIDR,66.197.128.0/17,🎬国外媒体,no-resolve", - "IP-CIDR,108.175.32.0/20,🎬国外媒体,no-resolve", - "IP-CIDR,192.173.64.0/18,🎬国外媒体,no-resolve", - "IP-CIDR,198.38.96.0/19,🎬国外媒体,no-resolve", - "IP-CIDR,198.45.48.0/20,🎬国外媒体,no-resolve", - "DOMAIN-SUFFIX,dmc.nico,🎬国外媒体", - "DOMAIN-SUFFIX,nicovideo.jp,🎬国外媒体", - "DOMAIN-SUFFIX,nimg.jp,🎬国外媒体", - "DOMAIN-SUFFIX,socdm.com,🎬国外媒体", - "DOMAIN-SUFFIX,pbs.org,🎬国外媒体", - "DOMAIN-SUFFIX,phncdn.com,🎬国外媒体", - "DOMAIN-SUFFIX,pornhub.com,🎬国外媒体", - "DOMAIN-SUFFIX,pornhubpremium.com,🎬国外媒体", - "DOMAIN-SUFFIX,skyking.com.tw,🎬国外媒体", - "DOMAIN,hamifans.emome.net,🎬国外媒体", - "DOMAIN-SUFFIX,twitch.tv,🎬国外媒体", - "DOMAIN-SUFFIX,twitchcdn.net,🎬国外媒体", - "DOMAIN-SUFFIX,ttvnw.net,🎬国外媒体", - "DOMAIN-SUFFIX,jtvnw.net,🎬国外媒体", - "DOMAIN-SUFFIX,viu.com,🎬国外媒体", - "DOMAIN-SUFFIX,viu.tv,🎬国外媒体", - "DOMAIN,api.viu.now.com,🎬国外媒体", - "DOMAIN,d1k2us671qcoau.cloudfront.net,🎬国外媒体", - "DOMAIN,d2anahhhmp1ffz.cloudfront.net,🎬国外媒体", - "DOMAIN,dfp6rglgjqszk.cloudfront.net,🎬国外媒体", - "DOMAIN-SUFFIX,googlevideo.com,🎬国外媒体", - "DOMAIN-SUFFIX,youtube.com,🎬国外媒体", - "DOMAIN,youtubei.googleapis.com,🎬国外媒体", + "DOMAIN-SUFFIX,deezer.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,dzcdn.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,kkbox.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,kkbox.com.tw,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,kfs.io,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,joox.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,pandora.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,p-cdn.us,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,sndcdn.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,soundcloud.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,pscdn.co,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,scdn.co,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,spotify.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,spoti.fi,🎬Иностранные СМИ", + "DOMAIN-KEYWORD,spotify.com,🎬Иностранные СМИ", + "DOMAIN-KEYWORD,-spotify-com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,tidal.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,c4assets.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,channel4.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,abema.io,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,ameba.jp,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,abema.tv,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hayabusa.io,🎬Иностранные СМИ", + "DOMAIN,abematv.akamaized.net,🎬Иностранные СМИ", + "DOMAIN,ds-linear-abematv.akamaized.net,🎬Иностранные СМИ", + "DOMAIN,ds-vod-abematv.akamaized.net,🎬Иностранные СМИ", + "DOMAIN,linear-abematv.akamaized.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,aiv-cdn.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,aiv-delivery.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,amazonvideo.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,primevideo.com,🎬Иностранные СМИ", + "DOMAIN,avodmp4s3ww-a.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN,d25xi40x97liuc.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN,dmqdd6hw24ucf.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN,d22qjgkvxw22r6.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN,d1v5ir2lpwr8os.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN-KEYWORD,avoddashs,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,bahamut.com.tw,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,gamer.com.tw,🎬Иностранные СМИ", + "DOMAIN,gamer-cds.cdn.hinet.net,🎬Иностранные СМИ", + "DOMAIN,gamer2-cds.cdn.hinet.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,bbc.co.uk,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,bbci.co.uk,🎬Иностранные СМИ", + "DOMAIN-KEYWORD,bbcfmt,🎬Иностранные СМИ", + "DOMAIN-KEYWORD,uk-live,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,dazn.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,dazn-api.com,🎬Иностранные СМИ", + "DOMAIN,d151l6v8er5bdm.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN-KEYWORD,voddazn,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,bamgrid.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,disney-plus.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,disneyplus.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,dssott.com,🎬Иностранные СМИ", + "DOMAIN,cdn.registerdisney.go.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,encoretvb.com,🎬Иностранные СМИ", + "DOMAIN,edge.api.brightcove.com,🎬Иностранные СМИ", + "DOMAIN,bcbolt446c5271-a.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,fox.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,foxdcg.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,theplatform.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,uplynk.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hbo.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hbogo.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hbonow.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hbogoasia.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hbogoasia.hk,🎬Иностранные СМИ", + "DOMAIN,bcbolthboa-a.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN,players.brightcove.net,🎬Иностранные СМИ", + "DOMAIN,s3-ap-southeast-1.amazonaws.com,🎬Иностранные СМИ", + "DOMAIN,dai3fd1oh325y.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN,44wilhpljf.execute-api.ap-southeast-1.amazonaws.com,🎬Иностранные СМИ", + "DOMAIN,hboasia1-i.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN,hboasia2-i.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN,hboasia3-i.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN,hboasia4-i.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN,hboasia5-i.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN,cf-images.ap-southeast-1.prod.boltdns.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,5itv.tv,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,ocnttv.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hulu.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,huluim.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hulustream.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,happyon.jp,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,hulu.jp,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,itv.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,itvstatic.com,🎬Иностранные СМИ", + "DOMAIN,itvpnpmobile-a.akamaihd.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,kktv.com.tw,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,kktv.me,🎬Иностранные СМИ", + "DOMAIN,kktv-theater.kk.stream,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,linetv.tw,🎬Иностранные СМИ", + "DOMAIN,d3c7rimkq79yfu.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,litv.tv,🎬Иностранные СМИ", + "DOMAIN,litvfreemobile-hichannel.cdn.hinet.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,channel5.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,my5.tv,🎬Иностранные СМИ", + "DOMAIN,d349g9zuie06uo.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,mytvsuper.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,tvb.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflix.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflix.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,nflxext.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,nflximg.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,nflximg.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,nflxso.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,nflxvideo.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest0.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest1.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest2.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest3.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest4.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest5.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest6.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest7.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest8.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,netflixdnstest9.com,🎬Иностранные СМИ", + "IP-CIDR,23.246.0.0/18,🎬Иностранные СМИ,no-resolve", + "IP-CIDR,37.77.184.0/21,🎬Иностранные СМИ,no-resolve", + "IP-CIDR,45.57.0.0/17,🎬Иностранные СМИ,no-resolve", + "IP-CIDR,64.120.128.0/17,🎬Иностранные СМИ,no-resolve", + "IP-CIDR,66.197.128.0/17,🎬Иностранные СМИ,no-resolve", + "IP-CIDR,108.175.32.0/20,🎬Иностранные СМИ,no-resolve", + "IP-CIDR,192.173.64.0/18,🎬Иностранные СМИ,no-resolve", + "IP-CIDR,198.38.96.0/19,🎬Иностранные СМИ,no-resolve", + "IP-CIDR,198.45.48.0/20,🎬Иностранные СМИ,no-resolve", + "DOMAIN-SUFFIX,dmc.nico,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,nicovideo.jp,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,nimg.jp,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,socdm.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,pbs.org,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,phncdn.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,pornhub.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,pornhubpremium.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,skyking.com.tw,🎬Иностранные СМИ", + "DOMAIN,hamifans.emome.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,twitch.tv,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,twitchcdn.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,ttvnw.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,jtvnw.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,viu.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,viu.tv,🎬Иностранные СМИ", + "DOMAIN,api.viu.now.com,🎬Иностранные СМИ", + "DOMAIN,d1k2us671qcoau.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN,d2anahhhmp1ffz.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN,dfp6rglgjqszk.cloudfront.net,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,googlevideo.com,🎬Иностранные СМИ", + "DOMAIN-SUFFIX,youtube.com,🎬Иностранные СМИ", + "DOMAIN,youtubei.googleapis.com,🎬Иностранные СМИ", "DOMAIN-SUFFIX,local,DIRECT", "IP-CIDR,192.168.0.0/16,DIRECT,no-resolve", "IP-CIDR,10.0.0.0/8,DIRECT,no-resolve", @@ -1190,6 +1190,6 @@ module.exports = { "DOMAIN,images-cn.ssl-images-amazon.com,DIRECT", "IP-CIDR,119.28.28.28/32,DIRECT,no-resolve", "GEOIP,CN,DIRECT", - "MATCH,⚓️其他流量" + "MATCH,⚓️Другой трафик" ], }; diff --git a/plugins/webgui/server/home.js b/plugins/webgui/server/home.js index 8916945af..b732b309f 100644 --- a/plugins/webgui/server/home.js +++ b/plugins/webgui/server/home.js @@ -146,10 +146,10 @@ const createUser = async (email, password, from = '') => { } } logger.info(`[${ email }] signup success`); - push.pushMessage('注册', { - body: `${ from }用户[ ${ email.toString().toLowerCase() } ]注册成功`, + push.pushMessage('зарегистрироваться', { + body: `${ from }Регистрация пользователя[ ${ email.toString().toLowerCase() } ]прошла успешно`, }); - isTelegram && telegram.push(`${ from }用户[ ${ email.toString().toLowerCase() } ]注册成功`); + isTelegram && telegram.push(`${ from }Регистрация пользователя[ ${ email.toString().toLowerCase() } ]прошла успешно`); return { id: userId, type: 'normal', @@ -232,10 +232,10 @@ exports.signup = async (req, res) => { } } logger.info(`[${ req.body.email }] signup success`); - push.pushMessage('注册', { - body: `用户[ ${ req.body.email.toString().toLowerCase() } ]注册成功`, + push.pushMessage('зарегистрироваться', { + body: `Регистрация пользователя[ ${ req.body.email.toString().toLowerCase() } ]прошла успешно`, }); - isTelegram && telegram.push(`用户[ ${ req.body.email.toString().toLowerCase() } ]注册成功`); + isTelegram && telegram.push(`Регистрация пользователя[ ${ req.body.email.toString().toLowerCase() } ]прошла успешно`); res.send(type); } catch(err) { logger.error(`[${ req.body.email }] signup fail: ${ err }`); @@ -322,7 +322,7 @@ exports.googleLogin = async (req, res) => { if(user) { req.session.user = user.id; req.session.type = user.type; - logger.info(`Google用户[${email}]登录`); + logger.info(`GoogleРегистрация пользователя[${email}]Авторизоваться`); return res.send({ id: user.id, type: user.type }); } else { const password = Math.random().toString(); @@ -417,7 +417,7 @@ exports.facebookLogin = async (req, res) => { if(user) { req.session.user = user.id; req.session.type = user.type; - logger.info(`Facebook用户[${email}]登录`); + logger.info(`FacebookРегистрация пользователя[${email}]Авторизоваться`); return res.send({ id: user.id, type: user.type }); } else { const password = Math.random().toString(); @@ -482,7 +482,7 @@ exports.githubLogin = async (req, res) => { if(user) { req.session.user = user.id; req.session.type = user.type; - logger.info(`Github用户[${email}]登录`); + logger.info(`GithubРегистрация пользователя[${email}]Авторизоваться`); return res.send({ id: user.id, type: user.type }); } else { const password = Math.random().toString(); @@ -552,7 +552,7 @@ exports.twitterLogin = async (req, res) => { if(user) { req.session.user = user.id; req.session.type = user.type; - logger.info(`Twitter用户[${email}]登录`); + logger.info(`TwitterРегистрация пользователя[${email}]Авторизоваться`); return res.send({ id: user.id, type: user.type }); } else { const password = Math.random().toString(); @@ -754,7 +754,7 @@ exports.sendCode = (req, res) => { const email = req.body.email.toString().toLowerCase(); const ip = req.headers['x-real-ip'] || req.connection.remoteAddress; const session = req.sessionID; - return emailPlugin.sendCode(email, success.title || 'ss验证码', success.content || '欢迎新用户注册,\n您的验证码是:', { + return emailPlugin.sendCode(email, success.title || 'ssПроверочный код', success.content || 'Добро пожаловать на регистрацию новой учетной записи. \nВаш проверочный код:', { ip, session, }); diff --git a/plugins/webgui/server/user.js b/plugins/webgui/server/user.js index f27359402..c5b69ee1c 100644 --- a/plugins/webgui/server/user.js +++ b/plugins/webgui/server/user.js @@ -621,12 +621,12 @@ exports.payByGiftCard = async (req, res) => { }; if(await checkGiftcardType()) { - return res.send({ success: false, message: '充值码类型错误' }); + return res.send({ success: false, message: 'Ошибка типа кода пополнения' }); }; const result = await giftcard.processOrder(userId, accountId, password); res.send(result); } catch (err) { - logger.error(`使用充值码时出现错误:${err.toString()}`); + logger.error(`Ошибка при использовании кода пополнения:${err.toString()}`); res.status(500).end(); } }; diff --git a/plugins/webgui_ref/order.js b/plugins/webgui_ref/order.js index 188b6bc86..a07966072 100644 --- a/plugins/webgui_ref/order.js +++ b/plugins/webgui_ref/order.js @@ -100,7 +100,7 @@ const getUserFinishOrder = async userId => { orders = orders.map(order => { return { orderId: order.orderId, - type: '邀请奖励', + type: 'Приглашения Награды', refTime: order.refTime, createTime: order.createTime, }; diff --git a/plugins/webgui_telegram/account.js b/plugins/webgui_telegram/account.js index bb16a18df..6027fe23b 100644 --- a/plugins/webgui_telegram/account.js +++ b/plugins/webgui_telegram/account.js @@ -238,7 +238,7 @@ telegram.on('message', async message => { userId: +userId, time: Date.now(), }; - tg.sendKeyboard('登录', telegramId, { + tg.sendKeyboard('Авторизоваться', telegramId, { inline_keyboard: [[{ text: '点击这里登录网页版', url: `${ config.plugins.webgui.site }/home/login/telegram/${ token }` From 98d0cb40c2e62675d80e21962e4787b31cd15c4a Mon Sep 17 00:00:00 2001 From: John Doe Date: Sun, 2 Feb 2025 12:54:34 +0300 Subject: [PATCH 3/4] fix 1 --- plugins/freeAccount/views/index.html | 6 +++--- plugins/webgui/public/controllers/adminAccount.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/freeAccount/views/index.html b/plugins/freeAccount/views/index.html index 6d1be5fad..f794b1203 100644 --- a/plugins/freeAccount/views/index.html +++ b/plugins/freeAccount/views/index.html @@ -40,14 +40,14 @@
-
扫码添加账号
定期更换密码
+
Отсканируйте QR-код, чтобы добавить учетную запись
Регулярно меняйте свой пароль.
<% if (pay) { %> <% } %>
@@ -83,7 +83,7 @@ document.getElementById('qrcode').innerHTML = qr.createImgTag(6); $('.address').text(window.ssqrcode); $('#qrcode').attr('href', window.ssqrcode); - $('.time').text('更新时间: ' + (new Date(data.updateTime)).toLocaleString()); + $('.time').text('Время обновления: ' + (new Date(data.updateTime)).toLocaleString()); }); }); }; diff --git a/plugins/webgui/public/controllers/adminAccount.js b/plugins/webgui/public/controllers/adminAccount.js index cfdcc0cee..4613073a1 100644 --- a/plugins/webgui/public/controllers/adminAccount.js +++ b/plugins/webgui/public/controllers/adminAccount.js @@ -2,7 +2,7 @@ const app = angular.module('app'); app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http', 'accountSortDialog','$timeout', 'adminApi', '$localStorage', ($scope, $state, $mdMedia, $http, accountSortDialog, $timeout, adminApi, $localStorage) => { - $scope.setTitle('账号'); + $scope.setTitle('счет'); $scope.setMenuRightButton('sort_by_alpha'); $scope.setMenuSearchButton('search'); if(!$localStorage.admin.accountFilterSettings) { @@ -443,7 +443,7 @@ app.controller('AdminAccountController', ['$scope', '$state', '$mdMedia', '$http ]) .controller('AdminAddAccountController', ['$scope', '$state', '$http', '$mdBottomSheet', 'alertDialog', '$filter', 'setAccountServerDialog', ($scope, $state, $http, $mdBottomSheet, alertDialog, $filter, setAccountServerDialog) => { - $scope.setTitle('添加账号'); + $scope.setTitle('Добавить аккаунт'); $scope.setMenuButton('arrow_back', 'admin.account'); $http.get('/api/admin/order').then(success => { $scope.orders = success.data.filter(f => !f.baseId); From 512ea0aea0567825c2b86a63de8dd2e4e84cf1c0 Mon Sep 17 00:00:00 2001 From: John Doe Date: Sun, 2 Feb 2025 13:00:04 +0300 Subject: [PATCH 4/4] fix 2 --- plugins/group/db/group.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/group/db/group.js b/plugins/group/db/group.js index 9ff0a2e5a..65840b3d2 100644 --- a/plugins/group/db/group.js +++ b/plugins/group/db/group.js @@ -7,7 +7,7 @@ const addDefaultGroup = async () => { .then(s => s[0]); if (!data) { const id = await knex('group').insert( - { id: 0, name: '默认组', comment: '系统默认分组' }, + { id: 0, name: 'Группа по умолчанию', comment: 'Системная группа по умолчанию' }, ); if (id[0] !== 0) { await knex('group')