mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2026-09-22 00:00:50 +00:00
feat: Add a description for syncing WAF IP groups. (#13143)
This commit is contained in:
+36
-25643
File diff suppressed because one or more lines are too long
+219
-32100
File diff suppressed because one or more lines are too long
@@ -1,6 +1,8 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"encoding/hex"
|
||||
"io"
|
||||
"net/http"
|
||||
"os"
|
||||
@@ -147,6 +149,13 @@ func setStaticResource(rootRouter *gin.RouterGroup) {
|
||||
c.AbortWithStatus(http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
sum := sha256.Sum256(data)
|
||||
etag := `"` + hex.EncodeToString(sum[:]) + `"`
|
||||
c.Writer.Header().Set("ETag", etag)
|
||||
if c.GetHeader("If-None-Match") == etag {
|
||||
c.AbortWithStatus(http.StatusNotModified)
|
||||
return
|
||||
}
|
||||
c.Writer.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
c.Writer.Write(data)
|
||||
})
|
||||
|
||||
@@ -1743,6 +1743,7 @@ const message = {
|
||||
cutWebsiteLog: 'Website log rotation',
|
||||
cutWebsiteLogHelper: 'The rotated log files will be backed up to the backup directory of 1Panel.',
|
||||
syncIpGroup: 'Sync WAF IP groups',
|
||||
syncIpGroupHelper: 'Sync remote IP groups used in WAF allowlists and blocklists',
|
||||
requestExpirationTime: 'Upload request expiration time(Hours)',
|
||||
unitHours: 'Unit: Hours',
|
||||
alertTitle: 'Planned Task - {0} 「{1}」 Task Failure Alert',
|
||||
|
||||
@@ -1786,6 +1786,7 @@ const message = {
|
||||
cutWebsiteLog: 'Rotación de logs del sitio',
|
||||
cutWebsiteLogHelper: 'Los archivos de log rotados se respaldarán en el directorio de respaldos de 1Panel.',
|
||||
syncIpGroup: 'Sincronizar grupos de IP de WAF',
|
||||
syncIpGroupHelper: 'Sincroniza grupos de IP remotos usados en las listas negras/blancas de WAF',
|
||||
requestExpirationTime: 'Tiempo de expiración de solicitud de subida (Horas)',
|
||||
unitHours: 'Unidad: Horas',
|
||||
alertTitle: 'Tarea programada - {0} 「{1}」 Alerta de fallo',
|
||||
|
||||
@@ -1736,6 +1736,7 @@ const message = {
|
||||
cutWebsiteLog: 'چرخش لاگ وبسایت',
|
||||
cutWebsiteLogHelper: 'فایلهای لاگ چرخش یافته به دایرکتوری پشتیبان 1Panel پشتیبانگیری میشوند.',
|
||||
syncIpGroup: 'همگامسازی گروههای IP WAF',
|
||||
syncIpGroupHelper: 'گروههای IP راه دور استفادهشده در فهرستهای سیاه/سفید WAF را همگامسازی میکند',
|
||||
requestExpirationTime: 'زمان انقضای درخواست بارگذاری (ساعت)',
|
||||
unitHours: 'واحد: ساعت',
|
||||
alertTitle: 'وظیفه زمانبندی - {0} «{1}» هشدار شکست وظیفه',
|
||||
|
||||
@@ -1742,6 +1742,7 @@ const message = {
|
||||
cutWebsiteLog: 'ウェブサイトのログローテーション',
|
||||
cutWebsiteLogHelper: '回転したログファイルは、1パネルのバックアップディレクトリにバックアップされます。',
|
||||
syncIpGroup: 'WAF IP グループを同期',
|
||||
syncIpGroupHelper: 'WAF のブラック/ホワイトリストで使用するリモート IP グループを同期します',
|
||||
requestExpirationTime: 'リクエストの有効期限(時間)のアップロード',
|
||||
unitHours: 'ユニット:時間',
|
||||
alertTitle: '計画タスク - {0}「{1}」タスク障害アラート',
|
||||
|
||||
@@ -1719,6 +1719,7 @@ const message = {
|
||||
cutWebsiteLog: '웹사이트 로그 회전',
|
||||
cutWebsiteLogHelper: '회전된 로그 파일은 1Panel 의 백업 디렉토리로 백업됩니다.',
|
||||
syncIpGroup: 'WAF IP 그룹 동기화',
|
||||
syncIpGroupHelper: 'WAF 블랙/화이트리스트에서 사용하는 원격 IP 그룹을 동기화합니다',
|
||||
requestExpirationTime: '업로드 요청 만료 시간(시간)',
|
||||
unitHours: '단위: 시간',
|
||||
alertTitle: '예정된 작업 - {0} 「{1}」 작업 실패 경고',
|
||||
|
||||
@@ -1765,6 +1765,7 @@ const message = {
|
||||
cutWebsiteLog: 'Putaran log laman web',
|
||||
cutWebsiteLogHelper: 'Fail log yang diputar akan disandarkan ke direktori sandaran 1Panel.',
|
||||
syncIpGroup: 'Segerakkan kumpulan IP WAF',
|
||||
syncIpGroupHelper: 'Segerakkan kumpulan IP jauh yang digunakan dalam senarai hitam/putih WAF',
|
||||
requestExpirationTime: 'Waktu luput permintaan muat naik (Jam)',
|
||||
unitHours: 'Unit: Jam',
|
||||
alertTitle: 'Tugas Terancang - {0} 「{1}」 Amaran Kegagalan Tugas',
|
||||
|
||||
@@ -1763,6 +1763,7 @@ const message = {
|
||||
cutWebsiteLog: 'Rotação de log do site',
|
||||
cutWebsiteLogHelper: 'Os arquivos de log rotacionados serão salvos no diretório de backup do 1Panel.',
|
||||
syncIpGroup: 'Sincronizar grupos de IP do WAF',
|
||||
syncIpGroupHelper: 'Sincroniza grupos de IP remotos usados nas listas negra/branca do WAF',
|
||||
requestExpirationTime: 'Tempo de expiração da solicitação de upload (Horas)',
|
||||
unitHours: 'Unidade: Horas',
|
||||
alertTitle: 'Tarefa Planejada - {0} 「{1}」 Alerta de Falha na Tarefa',
|
||||
|
||||
@@ -1757,6 +1757,7 @@ const message = {
|
||||
cutWebsiteLog: 'Ротация логов сайта',
|
||||
cutWebsiteLogHelper: 'Ротированные файлы логов будут сохранены в директории резервных копий 1Panel.',
|
||||
syncIpGroup: 'Синхронизировать группы IP WAF',
|
||||
syncIpGroupHelper: 'Синхронизирует удалённые IP-группы, используемые в чёрных и белых списках WAF',
|
||||
requestExpirationTime: 'Время истечения запроса на загрузку (часы)',
|
||||
unitHours: 'Единица: часы',
|
||||
alertTitle: 'Плановая задача - {0} «{1}» Оповещение о сбое задачи',
|
||||
|
||||
@@ -1767,6 +1767,7 @@ const message = {
|
||||
cutWebsiteLog: 'Website log döndürme',
|
||||
cutWebsiteLogHelper: 'Döndürülen log dosyaları 1Panel yedek dizinine yedeklenecektir.',
|
||||
syncIpGroup: 'WAF IP gruplarını senkronize et',
|
||||
syncIpGroupHelper: 'WAF kara/beyaz listelerinde kullanılan uzak IP gruplarını senkronize eder',
|
||||
requestExpirationTime: 'Yükleme isteği son kullanma süresi(Saat)',
|
||||
unitHours: 'Birim: Saat',
|
||||
alertTitle: 'Planlanmış Görev - {0} 「{1}」 Görev Başarısızlık Uyarısı',
|
||||
|
||||
@@ -1648,6 +1648,7 @@ const message = {
|
||||
cutWebsiteLog: '切割網站日誌',
|
||||
cutWebsiteLogHelper: '切割的日誌檔案會備份到 1Panel 的 backup 目錄下',
|
||||
syncIpGroup: '同步 WAF IP 組',
|
||||
syncIpGroupHelper: '同步 WAF 黑白名單中的遠端 IP 組',
|
||||
requestExpirationTime: '上傳請求過期時間(小時)',
|
||||
unitHours: '單位:小時',
|
||||
alertTitle: '計劃任務-{0}「{1}」任務失敗告警',
|
||||
|
||||
@@ -1653,6 +1653,7 @@ const message = {
|
||||
cutWebsiteLog: '切割网站日志',
|
||||
cutWebsiteLogHelper: '切割的日志文件会备份到 1Panel 的 backup 目录下',
|
||||
syncIpGroup: '同步 WAF IP 组',
|
||||
syncIpGroupHelper: '同步 WAF 黑白名单中的远程 IP 组',
|
||||
|
||||
requestExpirationTime: '上传请求过期时间(小时)',
|
||||
unitHours: '单位:小时',
|
||||
|
||||
@@ -64,6 +64,12 @@
|
||||
{{ $t('firewall.quickJump') }}
|
||||
</el-link>
|
||||
</span>
|
||||
<span class="input-help logText" v-if="form.type === 'syncIpGroup'">
|
||||
{{ $t('cronjob.syncIpGroupHelper') }}
|
||||
<el-link class="link" icon="Position" @click="goWafIpGroup" type="primary">
|
||||
{{ $t('firewall.quickJump') }}
|
||||
</el-link>
|
||||
</span>
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<LayoutCol>
|
||||
@@ -1149,6 +1155,11 @@ const goRouter = async (path: string) => {
|
||||
routerToPath(path);
|
||||
};
|
||||
|
||||
const goWafIpGroup = async () => {
|
||||
localStorage.setItem('black-white-tab', '3');
|
||||
routerToPath('/xpack/waf/blackwhite');
|
||||
};
|
||||
|
||||
const containerOptions = ref([]);
|
||||
const websiteOptions = ref([]);
|
||||
const backupOptions = ref([]);
|
||||
|
||||
Reference in New Issue
Block a user