提交Git

This commit is contained in:
Peijun Zhao
2026-05-10 12:59:00 +08:00
commit b0aaea9fb3
2544 changed files with 545276 additions and 0 deletions
+184
View File
@@ -0,0 +1,184 @@
serverguard:
minecraft:
service-name: minecraft
process-name: paper-1.21.11.jar
jar-file: paper-1.21.11.jar
working-dir: /opt/minecraft
java-opts: -Xms4G -Xmx4G
check-interval-seconds: 5
rcon:
enabled: true
host: localhost
port: 25575
password: ${RCON_PASSWORD:}
monitor:
tps-threshold: 15
cpu-threshold: 80.0
memory-threshold: 85.0
connection-threshold: 50
log-watch-lines: 100
log-path: /opt/minecraft/logs/latest.log
alert:
enabled: true
email:
smtp-host: smtp.qq.com
smtp-port: 587
username: ${ALUER_ALERT_SMTP_USERNAME:}
password: ${ALUER_ALERT_SMTP_PASSWORD:}
to:
- ${ALUER_ALERT_EMAIL_PRIMARY:}
- ${ALUER_ALERT_EMAIL_SECONDARY:}
rate-limit:
per-type-seconds: 300
max-emails-per-minute: 10
ai:
enabled: true
use-isolation-forest: true
use-prediction: true
sliding-window-size: 100
anomaly-threshold: 0.7
prediction-horizon-minutes: 60
deepseek:
enabled: true
api-key: ${DEEPSEEK_API_KEY:}
base-url: ${DEEPSEEK_BASE_URL:https://api.deepseek.com}
model: ${DEEPSEEK_MODEL:deepseek-chat}
max-tokens: 1000
temperature: 0.35
auto-analyze-alerts: true
analysis-interval-seconds: 45
auto-execute:
enabled: true
ban-ip: true
kill-entity: true
clear-lag: true
set-spawn-rate: true
kick-player: true
whitelist: true
min-confidence: 88
security:
enabled: true
auto-ban-vpn: true
check-on-login: true
max-connections-per-ip: 3
block-common-exploits: true
log-all-commands: true
anti-intrusion:
enabled: true
monitor-commands: true
monitor-processes: true
monitor-files: true
monitor-plugins: true
monitor-systemd: true
monitor-rcon: true
file-integrity:
enabled: true
max-depth: 5
host-enforcement:
enabled: true
dry-run: true
preferred-backend: auto
default-block-minutes: 60
default-rate-limit-per-minute: 120
mirror-to-cloud-edge: true
cloud-edge:
enabled: false
dry-run: true
provider: cloudflare
zone-id: ${ALUER_CLOUDFLARE_ZONE_ID:}
api-key: ${ALUER_CLOUDFLARE_API_KEY:}
api-email: ${ALUER_CLOUDFLARE_EMAIL:}
default-block-mode: block
default-challenge-mode: challenge
enable-under-attack-on-critical: true
orchestration:
enabled: true
allow-local-block: true
allow-edge-challenge: true
allow-minecraft-defense: true
notify-on-critical: true
autonomy:
enabled: true
deepseek-dominant: true
quiet-console: true
loop-interval-seconds: 45
min-risk-score-for-action: 70
critical-risk-score: 90
workflow-cooldown-seconds: 180
max-actions-per-hour: 12
require-second-signal-for-containment: true
shield:
enabled: true
auto-mode: true
auto-enable-under-attack: true
heat-trigger: 78
resonance-trigger: 72
threat-score-trigger: 85
edge-challenge-offender-limit: 6
shelter-rate-limit-per-minute: 45
attacker-notice-enabled: true
deterrence-message: Your source has been identified, recorded, and isolated by Aluer.
kernel:
enabled: true
pulse-interval-seconds: 30
pulse-history-size: 180
journal-size: 300
echo-retention-minutes: 180
adaptive-weights: true
directive-heat-threshold: 60
lockdown-heat-threshold: 82
task-bus:
enabled: true
auto-dispatch: true
dispatch-interval-seconds: 10
queue-limit: 200
history-limit: 300
self-healing:
enabled: true
dry-run: true
loop-interval-seconds: 45
auto-backup-before-recovery: true
auto-whitelist-on-swarm: true
allow-soft-restart: true
tps-emergency-threshold: 12
cpu-emergency-threshold: 92.0
memory-emergency-threshold: 95.0
max-recovery-actions-per-hour: 8
dashboard:
enabled: true
title: Aluer Nebula Console
subtitle: PaperMC defense, recovery, and remote operations fabric
refresh-interval-seconds: 6
compact-terminal: true
ssh-gateway:
enabled: true
session-timeout-minutes: 30
max-sessions: 6
command-timeout-seconds: 25
strict-host-key-checking: false
allow-private-key-paste: true
require-engine-handshake: true
handshake-ttl-seconds: 30
server:
port: 8080
spring:
shell:
interactive:
enabled: true
command:
init:
delay: 0
logging:
level:
root: INFO
com.aluer: INFO
file:
name: /var/log/serverguard.log
+34
View File
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="${user.home}/logs"/>
<property name="LOG_FILE" value="serverguard"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<encoder>
<pattern>%d{HH:mm:ss} %-5level %logger{24} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${LOG_FILE}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${LOG_FILE}.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="com.aluer" level="INFO"/>
<logger name="org.springframework" level="INFO"/>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</configuration>
+22
View File
@@ -0,0 +1,22 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Aluer Nebula Console</title>
<meta name="theme-color" content="#07111f" />
<script type="module" crossorigin src="/nebula-assets/index-BCClgI-o.js"></script>
<link rel="stylesheet" crossorigin href="/nebula-assets/index-zE5mL-wO.css">
</head>
<body>
<div id="root">
<div class="boot-shell">
<div class="boot-card">
<p style="margin:0;color:#8fa7c2;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;">ALUER FABRIC</p>
<h1 style="margin:10px 0;color:#ecf7ff;font:600 2rem/1.1 'Avenir Next','SF Pro Display','Segoe UI Variable','PingFang SC','Microsoft YaHei',sans-serif;">Aluer Nebula Console</h1>
<p style="margin:0;color:#8fa7c2;line-height:1.6;">界面正在加载。如果长时间停留在这一页,请刷新浏览器或替换为最新的构建包。</p>
</div>
</div>
</div>
</body>
</html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long