temp
Some checks failed
Flask 提示词大师 - CI/CD 流水线 / 代码质量检查 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 单元测试 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 集成测试 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 构建Docker镜像 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署到测试环境 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署到生产环境 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署监控系统 (push) Has been cancelled

This commit is contained in:
rjb
2026-02-23 17:50:22 +08:00
parent ba0ee942a5
commit 1a87798b8a
23 changed files with 2471 additions and 515 deletions

View File

@@ -124,6 +124,9 @@ pip list | grep -E "(flask|gunicorn|openai)"
启动成功后,可以访问以下地址:
- **本机浏览器**:使用 `http://localhost:5002/` 或 `http://127.0.0.1:5002/`
- **其他电脑/手机访问**:必须使用**服务器 IP**,不能使用 localhostlocalhost 指向访问者本机,会连接失败)
- **主页**`http://101.43.95.130:5002/`
- **饭菜规划**`http://101.43.95.130:5002/meal-planning`
- **古诗词解析**`http://101.43.95.130:5002/poetry/`

View File

@@ -0,0 +1,202 @@
# AI 项目功能需求文档
| 项目 | 说明 |
|------|------|
| **目标** | 定义「提示词大师」AI 项目的功能范围、模块划分与 AI 能力需求 |
| **版本号** | v1.0 |
| **责任人** | 项目组 |
| **最后更新日期** | 2026-02-23 |
---
## 变更记录
| 版本 | 日期 | 修改人 | 修改内容 |
|------|------|--------|----------|
| v1.0 | 2026-02-23 | 系统 | 初稿:基于代码分析整理功能与 AI 需求 |
---
## 1. 项目概述
### 1.1 项目名称与定位
- **项目名称**提示词大师aitsc / flask_prompt_master
- **定位**基于大语言模型LLM的智能提示词生成与多场景 AI 应用平台
- **技术栈**Python 3.12、Flask、Gunicorn、SQLAlchemy、MySQL、DeepSeek APIOpenAI 兼容)
### 1.2 目标用户
- **Web 用户**:通过浏览器使用提示词生成、饭菜规划、古诗词解析、收藏与历史
- **微信小程序用户**:通过小程序使用提示词生成、意图识别、专家提示词、饭菜规划等
- **管理员**:通过 Flask-Admin 后台进行用户/内容/系统/数据分析管理
### 1.3 访问与部署
- **服务端口**5002
- **运行方式**Gunicorn + run_dev:appconda 环境 myenv
- **文档**:参见《(红头)启动和停止.txt》
---
## 2. 功能模块需求
### 2.1 提示词生成(核心 AI 功能)
| 需求编号 | 功能描述 | 优先级 |
|----------|----------|--------|
| F-101 | 用户输入简短描述,系统根据所选模板(或默认)调用 LLM 生成高质量提示词 | P0 |
| F-102 | 支持按分类/行业/职业选择提示词模板模板含系统提示词system_prompt | P0 |
| F-103 | 生成结果持久化Prompt 表并写入历史PromptHistory供后续查看与优化 | P0 |
| F-104 | 对生成结果支持反馈(评分、评论),写入 Feedback 表 | P1 |
| F-105 | Web 端与微信端共用生成逻辑,微信端通过 /api/wx/generate 调用 | P0 |
### 2.2 意图识别与专家提示词(微信端增强)
| 需求编号 | 功能描述 | 优先级 |
|----------|----------|--------|
| F-201 | 根据用户输入进行意图识别,返回推荐模板类别(如新闻获取、生成图片、网站开发、文案创作等) | P1 |
| F-202 | 两阶段专家提示词:先做意图分析(返回 core_intent、domain、key_requirements 等 JSON再按领域技术/创意/分析/咨询)选用专家模板生成最终提示词 | P1 |
| F-203 | 提供专家提示词生成页与 API/expert_generate、/api/wx/generate/expert | P1 |
### 2.3 模板管理
| 需求编号 | 功能描述 | 优先级 |
|----------|----------|--------|
| F-301 | 模板数据存储在 PromptTemplate 表name、description、category、industry、profession、system_prompt、is_default | P0 |
| F-302 | 提供按分类/意图/关键词的模板查询 API供 Web 与微信端使用 | P0 |
| F-303 | 支持内置/预置行业模板(写作、故事、短视频、设计、营销、开发、医疗、法律等)的初始化与维护 | P1 |
### 2.4 智能饭菜规划AI
| 需求编号 | 功能描述 | 优先级 |
|----------|----------|--------|
| F-401 | 用户输入人数、餐型、家乡、喜好、禁忌、预算等,系统调用 LLM 生成地区化、可执行的饭菜清单Markdown | P0 |
| F-402 | 支持保存规划到 MealPlan 表,支持历史列表与单条查看、删除 | P0 |
| F-403 | 提供 Web 页 /meal-planning、/meal-planning/mobile、/meal-planning/history 及对应 API | P0 |
### 2.5 古诗词解析AI
| 需求编号 | 功能描述 | 优先级 |
|----------|----------|--------|
| F-501 | 用户提供诗词标题、作者、朝代、翻译风格、解读深度等,系统调用 LLM 生成原文、译文、注释、解读Markdown | P0 |
| F-502 | 支持收藏解析结果到 PoetryFavorite支持列表、编辑、删除、统计、是否已收藏检查 | P0 |
| F-503 | 提供古诗词示例页、解析页、收藏页及对应 API/poetry/、/poetry/analyze、/poetry/examples、/poetry/favorites 等) | P0 |
### 2.6 收藏与历史
| 需求编号 | 功能描述 | 优先级 |
|----------|----------|--------|
| F-601 | 通用收藏Favorite 管理,支持增删改查、统计、快速添加,路由 /favorites 及 /api/favorites/* | P1 |
| F-602 | 提示词历史PromptHistory 的查看、标签、批量操作、导出、统计、按模板筛选、保存为模板 | P0 |
| F-603 | 优化历史OptimizationHistory 及相关标签、收藏、用户使用统计UserUsageStats | P1 |
### 2.7 用户与认证
| 需求编号 | 功能描述 | 优先级 |
|----------|----------|--------|
| F-701 | Web 用户注册、登录、登出、个人资料、修改密码,登录态通过 Session 维护 | P0 |
| F-702 | 微信小程序登录code 换 openid/session_key返回自定义 uid后续接口按 uid 鉴权 | P0 |
| F-703 | 部分接口需登录(如收藏、历史、个人数据),支持 /api/check-login、/api/profile/stats 等 | P0 |
### 2.8 管理后台Flask-Admin
| 需求编号 | 功能描述 | 优先级 |
|----------|----------|--------|
| F-801 | 管理员独立登录AdminUser角色admin、super_admin、system_admin | P0 |
| F-802 | 用户管理、提示词管理、模板管理、系统管理、批量操作、系统监控、高级报表、数据备份、API 管理 | P1 |
| F-803 | 数据分析Analytics仅 super_admin、system_admin 可访问,提供统计与图表(如 Plotly | P1 |
| F-804 | 后台登录/登出:/admin/login、/admin/logout | P0 |
---
## 3. AI / LLM 能力需求
### 3.1 使用的模型与服务
| 项目 | 说明 |
|------|------|
| **服务** | DeepSeek APIOpenAI 兼容接口base_url: https://api.deepseek.com/v1 |
| **模型** | deepseek-chat |
| **鉴权** | 通过 API Key建议从环境变量 LLM_API_KEY 读取,避免硬编码) |
### 3.2 AI 场景与提示词策略
| 场景 | 系统角色/提示策略 | 输出形式 |
|------|-------------------|----------|
| 提示词生成 | 使用 DB 模板的 system_prompt 或默认「提示词工程师」 | 自然语言提示词 |
| 意图识别 | 固定「意图识别专家」提示,仅返回类别 | 单一类别标签 |
| 意图分析(专家) | 「意图分析专家」要求返回 JSONcore_intent、domain、key_requirements 等) | JSON |
| 专家提示词生成 | 按 core_intent 选领域专家模板再生成 | 自然语言提示词 |
| 饭菜规划 | 「地区智能饭菜清单规划师」,用户输入人数/餐型/家乡/喜好/禁忌/预算 | Markdown 清单 |
| 古诗词解析 | 「古典文学专家/古诗词翻译家」,用户输入标题/作者/朝代/风格/深度 | 原文、译文、注释、解读Markdown |
### 3.3 调用参数与可靠性
| 项目 | 要求 |
|------|------|
| **temperature** | 通用生成 0.7;意图类 0.1 |
| **max_tokens** | 约 5002000按场景配置 |
| **超时** | 约 3060 秒 |
| **重试** | 提示词生成支持 max_retries如 3 次) |
### 3.4 配置与安全
- **需求**LLM API 的 base_url、api_key 应从配置/环境变量(如 LLM_API_URL、LLM_API_KEY读取禁止在生产环境硬编码。
- **现状**:部分路由仍存在硬编码 Key需在后续迭代中统一为配置项。
---
## 4. 数据与配置需求
### 4.1 主要数据模型
| 模型 | 用途 |
|------|------|
| User | Web 用户(登录名、密码、昵称、手机、邮箱等) |
| WxUser | 微信用户openid、session_key、unionid、昵称、头像等 |
| Prompt | 单次生成的输入与输出 |
| Feedback | 对 Prompt 的评分与评论 |
| PromptTemplate | 提示词模板分类、行业、职业、system_prompt |
| MealPlan | 饭菜规划参数与结果内容 |
| Favorite | 通用收藏 |
| PoetryFavorite | 古诗词解析收藏 |
| PromptHistory / HistoryTag | 提示词历史与标签 |
| OptimizationHistory / OptimizationTag / OptimizationFavorite | 优化历史与标签、收藏 |
| UserStatistics / UserUsageStats | 用户与使用统计 |
| AdminUser | 后台管理员(用户名、密码、角色) |
| SystemConfig | 系统配置项 |
### 4.2 环境与配置
- **多环境**:通过 FLASK_ENV 选择 development / production / testing / local对应 config 目录下配置类。
- **关键配置项**SECRET_KEY、DATABASE_URL、LLM_API_URL、LLM_API_KEY、WX_APPID、WX_SECRET、CORS_ORIGINS、LOG_LEVEL、SESSION_LIFETIME_HOURS、REDIS_URL生产、CACHE_TYPE 等。
### 4.3 第三方依赖(核心)
- Flask、flask-cors、flask-sqlalchemy、flask-migrate、flask-admin、flask-login
- openai兼容 DeepSeek、requests、pymysql、python-dotenv
- redis、waitress、psutil 等
---
## 5. 非功能需求(摘要)
| 类型 | 要求 |
|------|------|
| **可用性** | 服务端口 5002 稳定监听,支持多 worker 部署 |
| **安全** | 管理员按角色控制数据分析仅高权限角色API Key 与密钥走配置/环境变量 |
| **可维护性** | 日志输出到 logs/gunicorn、app便于排查 |
| **兼容性** | Web 与微信小程序共用后端 API需 CORS 与小程序域名配置 |
---
## 6. 关联资源
- **代码库**/home/renjianbo/aitsc
- **启动与停止说明**(红头)启动和停止.txt
- **主入口**run_dev.py应用工厂 src/flask_prompt_master/__init__.py create_app()
---
*文档结束*

View File

@@ -0,0 +1,98 @@
# 智能饭菜规划 - 易用性改进建议
| 文档 | 说明 |
|------|------|
| 目标 | 提升用户在使用「生成规划 → 保存 → 查看历史」全流程时的易用性 |
| 版本 | v1.0 |
| 更新日期 | 2026-02-23 |
---
## 一、当前流程简要回顾
- **生成**:填写参数(家乡必填)→ 点击「生成饭菜规划」→ 展示结果,出现「复制」「保存」按钮。
- **保存**:点击「保存规划」→ 调用 API提示「保存成功」。
- **查看历史**:通过右上角「我的规划」或规划页「查看已保存的规划」进入列表;列表为卡片 + 分页,支持删除;**复制功能当前未实现**(显示「复制功能开发中」)。
---
## 二、改进建议(按优先级)
### 1. 生成规划阶段
| 建议 | 说明 | 优先级 |
|------|------|--------|
| **一键填充示例** | 在表单旁增加「填充示例」按钮,点击后自动填入示例参数(如家乡、喜好、禁忌),新用户可快速体验生成。 | P1 |
| **参数说明/占位** | 在「个人喜好」「饮食禁忌」「预算」旁增加简短说明或更具体的 placeholder减少用户不知道填什么的困惑。 | P2 |
| **上次参数记忆** | 使用 localStorage 记住上次使用的家乡、人数、餐型等(不记敏感信息),下次进入页面自动填充,减少重复输入。 | P2 |
| **生成中可取消** | 生成请求时间较长时,提供「取消」按钮或至少明确「生成中,请稍候」的进度提示。 | P2 |
### 2. 保存规划阶段
| 建议 | 说明 | 优先级 |
|------|------|--------|
| **保存后跳转/引导** | 保存成功后,除了 toast 提示外,可增加「前往查看」按钮或短文案「已保存,可到【我的规划】查看」,并可选自动跳转到历史页。 | P0 |
| **保存前可选标题/备注** | 保存时弹窗让用户输入「规划名称」或「备注」(如「周末家庭餐」),便于在历史列表中识别。若后端暂无字段,可先存到现有字段或延后实现。 | P1 |
| **防止重复保存** | 保存成功后可将当前结果标记为「已保存」,同一内容再次点击保存时提示「本规划已保存过」或禁用按钮,避免重复记录。 | P1 |
| **未登录提示** | 未登录用户保存时使用默认身份,在保存按钮旁或保存前提示「未登录时规划将保存到本地身份,登录后可统一查看」,并引导登录。 | P2 |
### 3. 查看历史阶段
| 建议 | 说明 | 优先级 |
|------|------|--------|
| **实现复制功能** | 历史页「复制」按钮当前为「复制功能开发中」,建议实现:复制当前条目的 `meal_plan_content` 纯文本到剪贴板,并提示「已复制到剪贴板」。 | P0 |
| **列表摘要展示** | 历史卡片除参数外,可展示规划内容的**前 12 行或前 80 字**作为摘要,便于不展开即可区分不同规划。 | P1 |
| **单条详情页/展开** | 支持点击某条规划进入详情页,或在当前页展开完整内容(含 Markdown 渲染),避免只在长列表中滚动。 | P1 |
| **排序与筛选** | 支持按时间、餐型、家乡等排序;可选按「早餐/午餐/晚餐」筛选,方便查找。 | P2 |
| **空状态强化** | 历史为空时,除「创建饭菜规划」按钮外,可补充一句「从智能饭菜规划页生成并保存后,会出现在这里」,降低新用户困惑。 | P2 |
### 4. 导航与入口
| 建议 | 说明 | 优先级 |
|------|------|--------|
| **规划页与历史页统一顶栏** | 历史页使用独立 navbar与主站风格不一致。建议历史页也继承 base.html与「饭菜规划」页共用顶栏和用户菜单保证「我的规划」入口统一、不 404。 | P1 |
| **面包屑** | 在规划页、历史页增加面包屑(如 首页 > 智能饭菜规划 > 我的规划),方便理解层级与返回。 | P2 |
### 5. 反馈与容错
| 建议 | 说明 | 优先级 |
|------|------|--------|
| **生成失败重试** | 生成接口失败时,除提示错误信息外,提供「重试」按钮,避免用户重新填表单。 | P1 |
| **保存失败保留内容** | 保存失败时,不清空当前生成结果,方便用户检查网络后再次保存或复制。 | P1 |
| **加载与空状态区分** | 历史列表加载中、空列表、加载失败三种状态区分明确(已有加载/空状态,可再补充「加载失败,点击重试」)。 | P2 |
---
## 三、可优先实现的 3 项(高性价比)
1. **保存成功后引导去历史**
保存成功 toast 旁增加「去查看」按钮,跳转到 `/meal-planning/history`,减少用户「不知道保存到哪了」的困惑。
2. **历史页复制功能**
在历史列表的每条规划上,复制按钮调用 `navigator.clipboard.writeText(plan.meal_plan_content)`,并提示「已复制到剪贴板」,补齐当前缺失能力。
3. **历史页继承 base 模板**
`meal_planning_history.html` 改为继承 `base.html`,只保留列表、分页、删除等主要内容块,顶栏与用户菜单与全站一致,「我的规划」从右上角进入不再 404体验统一。
---
## 四、后续可选增强
- **规划命名/备注**:数据模型增加可选字段,保存时让用户填名称或备注,列表展示名称。
- **导出**:单条或列表导出为 PDF/纯文本,方便打印或分享。
- **移动端**:对 `meal_planning_mobile.html` 做同样的「保存后引导」「历史入口」与复制逻辑,保持与 PC 一致。
---
## 五、关联文件(便于开发)
| 功能 | 文件 |
|------|------|
| 生成/保存流程 | `src/flask_prompt_master/templates/meal_planning.html` |
| 历史列表/复制/删除 | `src/flask_prompt_master/templates/meal_planning_history.html` |
| 列表/详情 API | `src/flask_prompt_master/routes/meal_planning.py`list/detail |
| 顶栏/我的规划入口 | `src/flask_prompt_master/templates/base.html` |
---
*以上建议可直接作为需求条目或迭代任务使用。*

View File

@@ -2136,3 +2136,11 @@ Traceback (most recent call last):
File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 225, in index
OSError: [Errno 5] Input/output error
2025-10-28 08:04:36,598 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
2025-12-30 17:49:30,433 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
2026-02-20 09:32:46,882 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
2026-02-23 12:23:17,495 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
2026-02-23 14:59:27,125 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
2026-02-23 15:11:37,371 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
2026-02-23 17:38:55,248 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
2026-02-23 17:39:42,847 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]
2026-02-23 17:43:32,860 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82]

View File

@@ -1,295 +1 @@
nohup: ignoring input
[2025-09-19 00:44:50,891] INFO in base: 应用启动
=== API 响应结果 ===
生成的提示词: 基于您提出的"优化页面"需求,我将从多个维度提供专业的前端优化方案:
## 🎯 核心优化目标
### 1. 性能优化
```javascript
// 代码分割与懒加载
const LazyComponent = React.lazy(() => import('./HeavyComponent'));
// 图片优化策略
const imageOptimization = {
format: 'WebP/AVIF',
lazyLoading: true,
responsive: 'srcset'
};
```
### 2. 用户体验优化
```css
/* 交互动效优化 */
.interactive-element {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
will-change: transform, opacity;
}
/* 骨架屏加载状态 */
.skeleton-loader {
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
background-size: 200% 100%;
animation: loading 1.5s infinite;
}
```
### 3. 技术实现方案
#### 组件结构优化
```jsx
// 优化后的组件结构
const OptimizedPage = () => {
const [visibleSections, setVisibleSections] = useState([]);
return (
<ErrorBoundary>
<Suspense fallback={<PageSkeleton />}>
<Header optimized={true} />
<main>
<AboveTheFold>
<HeroSection />
<PrimaryCTA />
</AboveTheFold>
<LazyBelowTheFold>
<FeatureSections />
<Testimonials />
</LazyBelowTheFold>
</main>
<OptimizedFooter />
</Suspense>
</ErrorBoundary>
);
};
```
### 4. 具体优化措施
#### 🚀 加载性能
- **首屏关键CSS内联**
- **非关键资源延迟加载**
- **图片压缩与响应式处理**
- **字体显示策略优化**
#### ⚡ 运行时性能
- **虚拟滚动**(长列表)
- **防抖节流**(高频事件)
- **内存泄漏预防**
- **Web Worker**(复杂计算)
#### 📱 交互体验
- **触摸
==================
获取用户ID失败: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")
=== API 响应结果 ===
生成的提示词: # 前端页面优化方案
我将设计一个可优化的前端页面,包含多个性能优化点,并展示优化前后的对比效果。
## 设计思路
1. 创建响应式布局,确保在不同设备上都有良好体验
2. 实现懒加载图片,减少初始页面加载时间
3. 添加CSS动画和过渡效果提升视觉体验
4. 优化DOM操作减少重绘和重排
5. 使用虚拟滚动处理大量数据
6. 添加性能监控和对比功能
## 实现代码
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>前端页面优化示例</title>
<style>
:root {
--primary-color: #3498db;
--secondary-color: #2ecc71;
--dark-color: #2c3e50;
--light-color: #ecf0f1;
--shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background-color: #f5f7fa;
color: #333;
line-height: 1.6;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
header {
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
color: white;
padding: 2rem 0;
text-align: center;
border-radius: 10px;
margin-bottom: 2rem;
box-shadow: var(--shadow);
}
h1 {
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
.subtitle {
font-size: 1.2rem;
opacity: 0.9;
}
.controls {
display: flex;
justify-content: space-between;
==================
获取用户ID失败: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")
=== API 响应结果 ===
生成的提示词: 请基于以下要求和约束条件,对当前页面进行全面的优化:
**目标:**
提升页面的用户体验、视觉吸引力、功能性和性能,确保其符合现代网页设计标准和用户期望。
**具体要求:**
1. **视觉设计:**
- 优化配色方案,确保色彩和谐、对比度适宜,并符合品牌指南(如有)。
- 改进排版,包括字体选择、字号、行高和间距,以增强可读性和层次感。
- 调整布局结构,使其直观、响应式,并在不同设备(桌面、平板、手机)上保持一致。
- 添加或优化视觉元素(如图标、图片、动画),以提升交互性和美观性。
2. **功能与交互:**
- 简化导航流程,确保用户能快速找到关键信息或功能。
- 优化表单、按钮和链接的交互反馈(如悬停、点击状态),提高可用性。
- 集成必要的功能模块(如搜索、过滤、通知),并确保其响应迅速。
- 检查并修复任何已知的功能错误或兼容性问题。
3. **内容优化:**
- 重新组织内容结构,突出重点信息,删除冗余内容。
- 确保语言简洁、准确,并符合目标受众的需求。
- 优化多媒体内容(如图片、视频)的加载速度和显示效果。
4. **性能与可访问性:**
- 提升页面加载速度,通过压缩资源、懒加载等技术减少延迟。
- 确保页面符合 WCAG 可访问性标准,支持屏幕阅读器和键盘导航。
- 进行跨浏览器和跨设备测试,保证兼容性和稳定性。
**约束条件:**
- 保持与现有品牌标识(如标志、色调)的一致性(如适用)。
- 优先考虑用户反馈和数据(如热图、分析数据)来指导优化决策。
- 确保优化后的页面易于维护和扩展。
**输出要求:**
提供详细的优化方案,包括具体修改建议、设计草稿(如线框图或视觉稿)、技术实现步骤,以及预期改进的指标(如加载时间减少百分比、用户参与度提升等)。
==================
获取用户ID失败: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")
=== API 响应结果 ===
生成的提示词: 基于"优化页面"这个需求,我将从多个维度提供专业的前端优化提示词:
## 🎯 核心优化目标
**性能优化**
- 实现首屏加载时间 < 1.5秒
- Lighthouse 性能评分 > 90
- 核心网页指标达标LCP < 2.5s, FID < 100ms, CLS < 0.1
**用户体验优化**
- 交互响应时间 < 100ms
- 滚动流畅度 60fps
- 视觉反馈及时性
## 🛠 技术实现方案
### 1. 代码层面优化
```javascript
// 懒加载实现
const LazyComponent = React.lazy(() => import('./HeavyComponent'));
// 虚拟滚动优化长列表
import { FixedSizeList } from 'react-window';
// 防抖节流优化高频操作
const debouncedSearch = useMemo(() =>
debounce((value) => searchAPI(value), 300), []
);
```
### 2. 资源优化策略
```javascript
// 图片优化
- WebP格式 + 渐进式加载
- 响应式图片 srcset
- 图片懒加载 IntersectionObserver
// 代码分割
const routes = [
{
path: '/dashboard',
component: lazy(() => import('./Dashboard'))
}
];
```
### 3. 缓存策略
```javascript
// Service Worker 缓存
workbox.routing.registerRoute(
new RegExp('.*\.js'),
new workbox.strategies.CacheFirst()
);
// API 数据缓存
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 5 * 60 * 1000,
},
},
});
```
## 📊 监控与度量
### 性能监控
```javascript
// 性能指标收集
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
console.log(`${entry.name}: ${entry.value}`);
});
});
// 错误监控
window.addEventListener('error', trackError);
```
### 用户体验指标
- 用户交互热力图
- 页面停留时间分析
- 转化漏斗监控
## 🎨 视觉与交互优化
### 1. 加载状态优化
```js
==================
获取用户ID失败: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")
[2025-12-30 17:49:30,433] INFO in base: 应用启动

View File

@@ -1 +1 @@
24197
26873

View File

@@ -13617,3 +13617,993 @@
111.19.106.238 - - [21/Dec/2025:09:32:03 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 18033532
111.19.106.238 - - [21/Dec/2025:09:32:04 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 47409
111.19.106.238 - - [21/Dec/2025:09:32:04 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 1128
111.19.172.77 - - [30/Dec/2025:17:49:36 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 812002
111.19.172.77 - - [30/Dec/2025:17:49:37 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 5123
111.19.172.77 - - [30/Dec/2025:17:49:40 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 1596
52.167.144.171 - - [30/Dec/2025:22:06:28 +0800] "GET /poetry/favorites HTTP/1.1" 200 35389 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 278062
64.227.90.185 - - [31/Dec/2025:01:14:01 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 769285
3.130.96.91 - - [31/Dec/2025:04:24:01 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1222448
3.130.96.91 - - [31/Dec/2025:04:28:05 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 848149
66.132.153.124 - - [31/Dec/2025:08:42:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 840525
66.132.153.124 - - [31/Dec/2025:08:42:40 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1104356
66.132.153.124 - - [31/Dec/2025:08:42:41 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 953
66.132.153.124 - - [31/Dec/2025:08:42:41 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1502
66.132.153.124 - - [31/Dec/2025:08:43:00 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 733
91.196.152.190 - - [31/Dec/2025:10:36:25 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 879713
91.231.89.132 - - [31/Dec/2025:10:38:19 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 972
52.167.144.21 - - [01/Jan/2026:00:14:59 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 1129643
91.231.89.72 - - [01/Jan/2026:01:15:35 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 893505
91.196.152.126 - - [01/Jan/2026:01:17:11 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 972
3.137.73.221 - - [01/Jan/2026:04:28:46 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 955159
3.137.73.221 - - [01/Jan/2026:04:30:30 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 936362
66.132.153.138 - - [01/Jan/2026:08:57:45 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1311374
66.132.153.138 - - [01/Jan/2026:08:57:47 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 844
66.132.153.138 - - [01/Jan/2026:08:57:47 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 720
66.132.153.138 - - [01/Jan/2026:08:58:07 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 765
45.79.172.21 - - [01/Jan/2026:12:20:00 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" 1014848
3.130.96.91 - - [02/Jan/2026:03:37:05 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 935411
3.130.96.91 - - [02/Jan/2026:03:38:57 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1242435
3.130.96.91 - - [02/Jan/2026:04:49:39 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 944917
3.130.96.91 - - [02/Jan/2026:04:52:27 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1008982
3.137.73.221 - - [02/Jan/2026:09:34:58 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1082972
3.137.73.221 - - [02/Jan/2026:09:37:13 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 933983
66.132.153.119 - - [02/Jan/2026:09:56:37 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 975296
66.132.153.119 - - [02/Jan/2026:09:56:39 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 733
66.132.153.119 - - [02/Jan/2026:09:56:43 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 676
66.132.153.119 - - [02/Jan/2026:09:57:03 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 687
40.77.167.184 - - [02/Jan/2026:15:55:23 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 714
40.77.167.1 - - [02/Jan/2026:15:55:33 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 1014
40.77.178.57 - - [02/Jan/2026:16:11:25 +0800] "GET /api/check-login HTTP/1.1" 200 35 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/100.0.4896.127 Safari/537.36" 635
206.168.34.115 - - [02/Jan/2026:16:20:08 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 1554340
206.168.34.115 - - [02/Jan/2026:16:20:31 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1169205
206.168.34.115 - - [02/Jan/2026:16:20:32 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 778
206.168.34.115 - - [02/Jan/2026:16:20:33 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 712
206.168.34.115 - - [02/Jan/2026:16:20:53 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 741
207.46.13.153 - - [03/Jan/2026:01:37:22 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 211615
167.94.138.201 - - [03/Jan/2026:04:52:12 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1908264
167.94.138.201 - - [03/Jan/2026:04:52:14 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 961
167.94.138.201 - - [03/Jan/2026:04:52:22 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 701
167.94.138.201 - - [03/Jan/2026:04:53:23 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 750
3.130.96.91 - - [03/Jan/2026:09:40:17 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 981356
3.130.96.91 - - [03/Jan/2026:09:42:04 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1072335
167.94.138.33 - - [03/Jan/2026:17:51:14 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 3161591
167.94.138.33 - - [03/Jan/2026:17:51:22 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 1015
167.94.138.33 - - [03/Jan/2026:17:53:43 +0800] "GET /security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 691
207.90.244.14 - - [03/Jan/2026:20:42:10 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 1046181
207.90.244.14 - - [03/Jan/2026:20:42:12 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" 866
167.94.146.53 - - [03/Jan/2026:20:56:44 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 629144
167.94.146.53 - - [03/Jan/2026:20:57:04 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1509314
167.94.146.53 - - [03/Jan/2026:20:57:04 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 723
167.94.146.53 - - [03/Jan/2026:20:57:05 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 712
167.94.146.53 - - [03/Jan/2026:20:57:26 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 933
116.172.249.20 - - [03/Jan/2026:20:58:07 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1" 40246922
66.132.153.125 - - [04/Jan/2026:09:50:28 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1160123
66.132.153.125 - - [04/Jan/2026:09:50:28 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 789
66.132.153.125 - - [04/Jan/2026:09:50:29 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 942
66.132.153.125 - - [04/Jan/2026:09:50:49 +0800] "GET /security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 760
207.90.244.14 - - [04/Jan/2026:11:25:02 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 1334928
207.90.244.14 - - [04/Jan/2026:11:25:06 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" 1176
3.132.23.201 - - [04/Jan/2026:11:47:31 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 998552
3.132.23.201 - - [04/Jan/2026:11:48:52 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1099027
36.43.219.109 - - [04/Jan/2026:18:07:37 +0800] "GET / HTTP/1.1" 200 174204 "http://101.43.95.130:3006/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 1665534
36.43.219.109 - - [04/Jan/2026:18:07:37 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 4278
36.43.219.109 - - [04/Jan/2026:18:07:37 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 787
36.43.219.109 - - [04/Jan/2026:18:07:39 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 826
111.7.96.147 - - [04/Jan/2026:20:00:42 +0800] "GET / HTTP/1.1" 200 174204 "-" "curl/7.64.1" 464065
125.122.15.84 - - [04/Jan/2026:20:03:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 706632
125.122.15.84 - - [04/Jan/2026:20:03:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 266164
125.122.15.84 - - [04/Jan/2026:20:03:20 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 905
125.122.15.84 - - [04/Jan/2026:20:03:20 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 914
125.122.15.84 - - [04/Jan/2026:20:03:24 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 819
125.122.15.227 - - [04/Jan/2026:20:03:32 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 409395
125.122.15.227 - - [04/Jan/2026:20:03:32 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 296912
125.122.15.227 - - [04/Jan/2026:20:03:33 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 1121
125.122.15.227 - - [04/Jan/2026:20:03:36 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 749
125.122.15.227 - - [04/Jan/2026:20:03:38 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 778
36.41.68.61 - - [04/Jan/2026:20:04:30 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 542458
36.41.68.61 - - [04/Jan/2026:20:04:31 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 510708
36.41.68.61 - - [04/Jan/2026:20:04:31 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 1609
36.41.68.61 - - [04/Jan/2026:20:04:32 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 1141
36.41.68.61 - - [04/Jan/2026:20:04:36 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 951
167.94.138.184 - - [04/Jan/2026:22:51:24 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2266693
167.94.138.184 - - [04/Jan/2026:22:51:25 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 720
167.94.138.184 - - [04/Jan/2026:22:51:30 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 645
167.94.138.184 - - [04/Jan/2026:22:51:49 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 707
206.168.34.197 - - [05/Jan/2026:11:48:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 3466109
206.168.34.197 - - [05/Jan/2026:11:48:26 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 740
206.168.34.197 - - [05/Jan/2026:11:48:31 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 713
206.168.34.197 - - [05/Jan/2026:11:49:35 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 743
171.105.76.126 - - [05/Jan/2026:11:49:37 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1" 639078
195.184.76.67 - - [05/Jan/2026:12:03:43 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 1105160
91.230.168.72 - - [05/Jan/2026:12:05:23 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 748
3.137.73.221 - - [05/Jan/2026:12:07:27 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 786648
3.137.73.221 - - [05/Jan/2026:12:09:01 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 983852
39.99.132.84 - - [05/Jan/2026:17:49:47 +0800] "GET / HTTP/1.0" 200 174204 "-" "-" 755946
39.99.132.84 - - [05/Jan/2026:17:49:47 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36" 517822
39.99.132.84 - - [05/Jan/2026:17:49:48 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "fasthttp" 677
167.94.138.186 - - [06/Jan/2026:00:54:52 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1211494
167.94.138.186 - - [06/Jan/2026:00:54:53 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 1130
167.94.138.186 - - [06/Jan/2026:00:54:55 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 701
167.94.138.186 - - [06/Jan/2026:00:55:26 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 729
123.160.221.137 - - [06/Jan/2026:03:47:37 +0800] "GET / HTTP/1.1" 200 174204 "-" "curl/7.64.1" 463469
125.122.15.33 - - [06/Jan/2026:03:47:46 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 418750
125.122.15.33 - - [06/Jan/2026:03:47:46 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 396653
125.122.15.33 - - [06/Jan/2026:03:47:46 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 1164
125.122.15.33 - - [06/Jan/2026:03:47:47 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 827
125.122.15.33 - - [06/Jan/2026:03:47:50 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 645
113.141.82.92 - - [06/Jan/2026:03:53:23 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 493766
113.141.82.92 - - [06/Jan/2026:03:53:24 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 493151
113.141.82.92 - - [06/Jan/2026:03:53:24 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 982
113.141.82.92 - - [06/Jan/2026:03:53:31 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 786
113.141.82.92 - - [06/Jan/2026:03:53:36 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36" 648
40.77.167.184 - - [06/Jan/2026:13:05:05 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 723
52.167.144.203 - - [06/Jan/2026:13:05:12 +0800] "GET /poetry/ HTTP/1.1" 200 51440 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 276609
66.132.153.114 - - [06/Jan/2026:13:52:26 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2160635
66.132.153.114 - - [06/Jan/2026:13:52:30 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 795
66.132.153.114 - - [06/Jan/2026:13:52:32 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 683
66.132.153.114 - - [06/Jan/2026:13:54:05 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 691
172.104.11.51 - - [06/Jan/2026:14:20:16 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" 2553768
167.94.138.46 - - [07/Jan/2026:02:49:48 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1672309
167.94.138.46 - - [07/Jan/2026:02:50:00 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 743
167.94.138.46 - - [07/Jan/2026:02:50:04 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 681
167.94.138.46 - - [07/Jan/2026:02:51:37 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 716
101.36.117.15 - - [07/Jan/2026:11:37:50 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0" 530859
101.36.117.15 - - [07/Jan/2026:11:37:50 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" 707
101.36.117.15 - - [07/Jan/2026:11:37:50 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" 687
101.36.117.15 - - [07/Jan/2026:11:37:50 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" 726
101.36.117.15 - - [07/Jan/2026:11:37:50 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "-" "Go-http-client/1.1" 741
101.36.117.15 - - [07/Jan/2026:11:37:51 +0800] "GET /config.json HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" 701
206.168.34.46 - - [07/Jan/2026:13:10:37 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 918314
206.168.34.46 - - [07/Jan/2026:13:10:56 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1047603
206.168.34.46 - - [07/Jan/2026:13:10:58 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 795
206.168.34.46 - - [07/Jan/2026:13:10:59 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 782
206.168.34.46 - - [07/Jan/2026:13:11:21 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 745
3.149.59.26 - - [07/Jan/2026:13:56:06 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1038279
3.149.59.26 - - [07/Jan/2026:13:57:42 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1028366
35.241.212.143 - - [07/Jan/2026:23:29:04 +0800] "GET / HTTP/1.1" 200 174204 "-" "python-requests/2.32.5" 910099
167.94.138.186 - - [08/Jan/2026:01:50:51 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1086546
167.94.138.186 - - [08/Jan/2026:01:50:53 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 931
167.94.138.186 - - [08/Jan/2026:01:50:57 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 712
167.94.138.186 - - [08/Jan/2026:01:51:17 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 675
207.90.244.14 - - [08/Jan/2026:11:08:44 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 885656
207.90.244.14 - - [08/Jan/2026:11:08:46 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" 713
3.130.96.91 - - [08/Jan/2026:14:45:05 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 966623
3.130.96.91 - - [08/Jan/2026:14:46:30 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 975850
167.94.138.195 - - [08/Jan/2026:14:49:53 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2816345
167.94.138.195 - - [08/Jan/2026:14:49:54 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 1144
167.94.138.195 - - [08/Jan/2026:14:49:57 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 709
167.94.138.195 - - [08/Jan/2026:14:51:23 +0800] "GET /security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 711
220.196.160.117 - - [08/Jan/2026:14:56:14 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 352428
220.196.160.53 - - [08/Jan/2026:14:56:16 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 209803
220.196.160.53 - - [08/Jan/2026:14:56:16 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 3375
220.196.160.53 - - [08/Jan/2026:14:56:18 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 802
220.196.160.117 - - [08/Jan/2026:14:56:39 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 370031
204.76.203.215 - - [08/Jan/2026:15:17:46 +0800] "GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 933
199.45.155.89 - - [08/Jan/2026:15:24:19 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 1007924
199.45.155.89 - - [08/Jan/2026:15:26:00 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 4527
199.45.155.89 - - [08/Jan/2026:15:26:41 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 120133085
207.90.244.28 - - [09/Jan/2026:01:14:52 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 1282088
207.90.244.28 - - [09/Jan/2026:01:14:55 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" 894
167.94.138.197 - - [09/Jan/2026:03:51:11 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2042181
167.94.138.197 - - [09/Jan/2026:03:51:13 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 888
167.94.138.197 - - [09/Jan/2026:03:51:14 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 672
167.94.138.197 - - [09/Jan/2026:03:51:58 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 924
220.196.160.96 - - [09/Jan/2026:03:57:57 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 979
220.196.160.73 - - [09/Jan/2026:03:57:57 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 449226
118.212.121.253 - - [09/Jan/2026:04:23:05 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1" 497618
220.196.160.61 - - [09/Jan/2026:06:29:56 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 690149
180.101.245.253 - - [09/Jan/2026:06:29:58 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 258425
180.101.245.253 - - [09/Jan/2026:06:29:58 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 3308
180.101.245.253 - - [09/Jan/2026:06:30:00 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 931
106.55.244.169 - - [09/Jan/2026:11:43:40 +0800] "GET / HTTP/1.1" 200 174204 "-" "mozilla/5.0 (iphone; cpu iphone os 13_5_1 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148 micromessenger/7.0.15(0x17000f2b) nettype/4g language/zh_cn miniprogram" 481090
3.134.148.59 - - [09/Jan/2026:15:31:25 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 944028
3.134.148.59 - - [09/Jan/2026:15:32:49 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 900214
3.149.59.26 - - [09/Jan/2026:16:12:42 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1343161
206.168.34.48 - - [09/Jan/2026:16:49:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1968940
206.168.34.48 - - [09/Jan/2026:16:49:25 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 882
206.168.34.48 - - [09/Jan/2026:16:49:33 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 708
206.168.34.48 - - [09/Jan/2026:16:51:28 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 702
167.94.138.206 - - [10/Jan/2026:05:48:32 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 5093490
167.94.138.206 - - [10/Jan/2026:05:48:35 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 1195
167.94.138.206 - - [10/Jan/2026:05:48:37 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 902
167.94.138.206 - - [10/Jan/2026:05:49:24 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 888
106.55.251.49 - - [10/Jan/2026:13:06:27 +0800] "GET / HTTP/1.1" 200 174204 "-" "mozilla/5.0 (iphone; cpu iphone os 13_5_1 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148 micromessenger/7.0.15(0x17000f2b) nettype/4g language/zh_cn miniprogram" 490682
167.94.138.205 - - [10/Jan/2026:18:49:50 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 3652531
167.94.138.205 - - [10/Jan/2026:18:49:54 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 778
167.94.138.205 - - [10/Jan/2026:18:49:59 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 673
167.94.138.205 - - [10/Jan/2026:18:51:01 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1194
123.139.94.183 - - [10/Jan/2026:19:06:59 +0800] "GET / HTTP/1.1" 200 174204 "http://101.43.95.130:3006/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 460075
123.139.94.183 - - [10/Jan/2026:19:06:59 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 2838
123.139.94.183 - - [10/Jan/2026:19:07:20 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 1060
123.139.94.183 - - [10/Jan/2026:19:07:21 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 846
123.139.94.183 - - [10/Jan/2026:19:10:51 +0800] "POST / HTTP/1.1" 200 179537 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 19145288
123.139.94.183 - - [10/Jan/2026:19:10:51 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 939
123.139.94.183 - - [10/Jan/2026:19:10:52 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0" 807
40.77.167.184 - - [10/Jan/2026:23:59:08 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 776
52.167.144.202 - - [10/Jan/2026:23:59:14 +0800] "GET /expert_generate HTTP/1.1" 200 34276 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 252229
66.132.153.132 - - [11/Jan/2026:07:50:01 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1935591
66.132.153.132 - - [11/Jan/2026:07:50:02 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 717
66.132.153.132 - - [11/Jan/2026:07:50:04 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 698
66.132.153.132 - - [11/Jan/2026:07:50:24 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 800
91.230.168.80 - - [11/Jan/2026:10:35:00 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 1092265
91.230.168.184 - - [11/Jan/2026:10:37:14 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 783
207.90.244.14 - - [11/Jan/2026:17:12:56 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 910528
207.90.244.14 - - [11/Jan/2026:17:12:57 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" 772
167.94.138.54 - - [11/Jan/2026:20:49:19 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2105339
167.94.138.54 - - [11/Jan/2026:20:49:23 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 772
167.94.138.54 - - [11/Jan/2026:20:49:26 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 820
167.94.138.54 - - [11/Jan/2026:20:51:58 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 9874
167.94.138.54 - - [11/Jan/2026:20:52:01 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1031
167.94.146.63 - - [12/Jan/2026:04:48:08 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 681327
167.94.146.63 - - [12/Jan/2026:04:48:28 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1307431
167.94.146.63 - - [12/Jan/2026:04:48:30 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 722
167.94.146.63 - - [12/Jan/2026:04:48:30 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 686
167.94.146.63 - - [12/Jan/2026:04:49:37 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 979
110.177.176.217 - - [12/Jan/2026:04:49:48 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.064213590 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" 521649
206.168.34.222 - - [12/Jan/2026:08:39:57 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 1124618
206.168.34.222 - - [12/Jan/2026:08:40:21 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1815194
206.168.34.222 - - [12/Jan/2026:08:40:24 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 757
206.168.34.222 - - [12/Jan/2026:08:42:32 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 720
143.198.117.155 - - [12/Jan/2026:09:21:30 +0800] "GET / HTTP/1.0" 200 174204 "-" "-" 672405
195.184.76.143 - - [12/Jan/2026:12:10:15 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 1049432
91.230.168.173 - - [12/Jan/2026:12:12:32 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 787
66.132.153.119 - - [12/Jan/2026:16:18:15 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 7825
66.132.153.119 - - [12/Jan/2026:16:18:18 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 750
3.143.33.63 - - [12/Jan/2026:18:23:48 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1026361
3.143.33.63 - - [12/Jan/2026:18:25:31 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 965326
45.33.80.243 - - [12/Jan/2026:20:32:02 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" 949577
66.132.153.115 - - [12/Jan/2026:20:47:19 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 4611706
66.132.153.115 - - [12/Jan/2026:20:47:21 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 717
66.132.153.115 - - [12/Jan/2026:20:47:24 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 760
66.132.153.115 - - [12/Jan/2026:20:49:39 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 824
206.168.34.46 - - [13/Jan/2026:04:51:45 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 21829
206.168.34.46 - - [13/Jan/2026:04:51:47 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 745
167.94.138.162 - - [13/Jan/2026:09:48:50 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1865852
167.94.138.162 - - [13/Jan/2026:09:48:52 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 700
167.94.138.162 - - [13/Jan/2026:09:48:58 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 708
167.94.138.162 - - [13/Jan/2026:09:51:25 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 785
112.115.155.104 - - [13/Jan/2026:09:51:38 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Mobile Safari/537.36" 849545
112.4.101.43 - - [13/Jan/2026:11:02:48 +0800] "GET / HTTP/1.1" 200 174204 "-" "curl/7.29.0" 831453
106.75.65.221 - - [13/Jan/2026:11:04:33 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 9_1_2; Win64; x64) AppleWebKit/576.38 (KHTML, like Gecko) Chrome/99.0.2415 Safari/537.36" 536963
106.75.65.221 - - [13/Jan/2026:11:04:33 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Go-http-client/1.1" 754
106.75.65.221 - - [13/Jan/2026:11:04:33 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "-" "Go-http-client/1.1" 1608
106.75.65.221 - - [13/Jan/2026:11:04:33 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Go-http-client/1.1" 824
106.75.65.221 - - [13/Jan/2026:11:04:33 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Go-http-client/1.1" 830
167.94.138.195 - - [13/Jan/2026:16:08:30 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 782941
167.94.138.195 - - [13/Jan/2026:16:08:54 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1648562
167.94.138.195 - - [13/Jan/2026:16:09:05 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 695
167.94.138.195 - - [13/Jan/2026:16:09:06 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 791
167.94.138.195 - - [13/Jan/2026:16:09:36 +0800] "GET /security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 722
167.94.138.52 - - [13/Jan/2026:17:53:44 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 14792
162.142.125.199 - - [14/Jan/2026:04:52:51 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1767640
162.142.125.199 - - [14/Jan/2026:04:52:54 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 1031
162.142.125.199 - - [14/Jan/2026:04:52:55 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 986
162.142.125.199 - - [14/Jan/2026:04:53:45 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 679
206.168.34.47 - - [14/Jan/2026:06:54:40 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 11870
206.168.34.47 - - [14/Jan/2026:06:54:44 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 924
66.132.153.119 - - [14/Jan/2026:17:49:37 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1160905
66.132.153.119 - - [14/Jan/2026:17:49:39 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 733
66.132.153.119 - - [14/Jan/2026:17:49:40 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 912
66.132.153.119 - - [14/Jan/2026:17:50:00 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 912
3.130.96.91 - - [14/Jan/2026:19:10:58 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 991254
3.130.96.91 - - [14/Jan/2026:19:12:31 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 990968
206.168.34.41 - - [14/Jan/2026:19:50:49 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1159
206.168.34.41 - - [14/Jan/2026:19:50:51 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 729
162.142.125.198 - - [15/Jan/2026:06:56:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2152656
162.142.125.198 - - [15/Jan/2026:06:56:22 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 887
162.142.125.198 - - [15/Jan/2026:06:56:27 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 698
162.142.125.198 - - [15/Jan/2026:06:57:07 +0800] "GET /security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 882
167.94.138.118 - - [15/Jan/2026:08:51:50 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1057
167.94.138.118 - - [15/Jan/2026:08:52:14 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 692
167.94.138.56 - - [15/Jan/2026:19:51:43 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 3850643
167.94.138.56 - - [15/Jan/2026:19:51:50 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 947
167.94.138.56 - - [15/Jan/2026:19:51:52 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1243
167.94.138.56 - - [15/Jan/2026:19:54:16 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 850
167.94.138.171 - - [15/Jan/2026:21:49:48 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1013
167.94.138.171 - - [15/Jan/2026:21:49:51 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 764
162.142.125.44 - - [16/Jan/2026:08:52:17 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2166059
162.142.125.44 - - [16/Jan/2026:08:52:20 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 735
162.142.125.44 - - [16/Jan/2026:08:53:44 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 936
167.94.138.185 - - [16/Jan/2026:10:52:08 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 10867
167.94.138.185 - - [16/Jan/2026:10:52:09 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 956
206.168.34.58 - - [16/Jan/2026:20:45:53 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 628407
206.168.34.58 - - [16/Jan/2026:20:46:29 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2923496
206.168.34.58 - - [16/Jan/2026:20:46:35 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 702
206.168.34.58 - - [16/Jan/2026:20:46:38 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 756
206.168.34.58 - - [16/Jan/2026:20:47:21 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1172
206.168.34.58 - - [16/Jan/2026:20:47:24 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1030
66.132.153.119 - - [17/Jan/2026:09:50:04 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1356339
66.132.153.119 - - [17/Jan/2026:09:50:05 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 935
66.132.153.119 - - [17/Jan/2026:09:50:06 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 709
66.132.153.119 - - [17/Jan/2026:09:50:33 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 970
167.94.138.34 - - [17/Jan/2026:09:51:50 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 929
167.94.138.34 - - [17/Jan/2026:09:51:54 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 682
66.228.53.157 - - [17/Jan/2026:18:19:41 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" 972615
167.94.138.119 - - [17/Jan/2026:22:49:10 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 12393
167.94.138.119 - - [17/Jan/2026:22:49:15 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 941
167.94.138.119 - - [17/Jan/2026:22:49:24 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2762852
167.94.138.119 - - [17/Jan/2026:22:49:32 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 746
167.94.138.119 - - [17/Jan/2026:22:51:21 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 719
123.160.221.139 - - [18/Jan/2026:00:20:26 +0800] "GET / HTTP/1.1" 200 174204 "-" "curl/7.64.1" 404413
123.160.223.74 - - [18/Jan/2026:00:21:08 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 428102
123.160.223.72 - - [18/Jan/2026:00:21:09 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 427890
123.160.223.73 - - [18/Jan/2026:00:21:09 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 35438
123.160.223.73 - - [18/Jan/2026:00:21:09 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 1000
123.160.223.75 - - [18/Jan/2026:00:21:14 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 1229
123.160.223.75 - - [18/Jan/2026:00:21:14 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 296500
123.160.223.72 - - [18/Jan/2026:00:21:24 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 886
111.7.96.156 - - [18/Jan/2026:00:21:40 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 416025
111.7.96.156 - - [18/Jan/2026:00:21:41 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 300713
111.7.96.156 - - [18/Jan/2026:00:21:42 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 917
111.7.96.156 - - [18/Jan/2026:00:21:42 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 812
111.7.96.156 - - [18/Jan/2026:00:21:46 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 844
3.130.96.91 - - [18/Jan/2026:10:25:38 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 986563
3.130.96.91 - - [18/Jan/2026:10:27:32 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 923572
180.101.245.247 - - [18/Jan/2026:10:37:27 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 400615
220.196.160.65 - - [18/Jan/2026:10:37:28 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 354554
220.196.160.65 - - [18/Jan/2026:10:37:28 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 1779
220.196.160.65 - - [18/Jan/2026:10:37:30 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 749
195.184.76.28 - - [18/Jan/2026:10:49:53 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 1045682
91.230.168.124 - - [18/Jan/2026:10:52:12 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 891
3.130.96.91 - - [18/Jan/2026:11:03:28 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 995454
3.130.96.91 - - [18/Jan/2026:11:05:18 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 895720
206.168.34.40 - - [18/Jan/2026:11:53:03 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 8373
206.168.34.40 - - [18/Jan/2026:11:53:06 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 6930256
206.168.34.40 - - [18/Jan/2026:11:53:08 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 907
206.168.34.40 - - [18/Jan/2026:11:53:09 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 912
206.168.34.40 - - [18/Jan/2026:11:53:18 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 956
206.168.34.40 - - [18/Jan/2026:11:54:15 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 680
87.236.176.183 - - [18/Jan/2026:11:57:41 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)" 10101497
180.101.244.12 - - [18/Jan/2026:11:59:04 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 919
40.77.167.184 - - [18/Jan/2026:13:32:25 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 688
207.46.13.17 - - [18/Jan/2026:13:32:29 +0800] "GET /sitemap_index.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 718
207.90.244.28 - - [18/Jan/2026:15:56:54 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 1004521
207.90.244.28 - - [18/Jan/2026:15:56:58 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" 702
157.55.39.55 - - [18/Jan/2026:18:00:16 +0800] "GET /sitemap.xml.gz HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 3121
40.77.167.41 - - [18/Jan/2026:19:24:11 +0800] "GET /atom.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 3327
52.167.144.169 - - [18/Jan/2026:19:27:22 +0800] "GET /sitemap.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 679
52.167.144.142 - - [18/Jan/2026:19:58:55 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 3021
157.55.39.192 - - [18/Jan/2026:21:34:26 +0800] "GET /sitemaps.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 3194
167.94.138.203 - - [19/Jan/2026:00:50:56 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 9460
167.94.138.203 - - [19/Jan/2026:00:50:58 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 893
167.94.138.203 - - [19/Jan/2026:00:51:03 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2352489
167.94.138.203 - - [19/Jan/2026:00:51:08 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 683
167.94.138.203 - - [19/Jan/2026:00:51:09 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 706
167.94.138.203 - - [19/Jan/2026:00:51:44 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 905
220.196.160.51 - - [19/Jan/2026:00:56:50 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 363636
207.46.13.150 - - [19/Jan/2026:07:04:31 +0800] "GET /sitemap_index.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 3025
40.77.167.56 - - [19/Jan/2026:10:13:47 +0800] "GET /sitemap.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 876
40.77.167.48 - - [19/Jan/2026:11:09:58 +0800] "GET /atom.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 856
40.77.167.4 - - [19/Jan/2026:11:11:22 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 687
159.75.198.59 - - [19/Jan/2026:11:16:45 +0800] "GET / HTTP/1.1" 200 174204 "-" "mozilla/5.0 (iphone; cpu iphone os 13_5_1 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148 micromessenger/7.0.15(0x17000f2b) nettype/4g language/zh_cn miniprogram" 467004
207.46.13.116 - - [19/Jan/2026:11:34:14 +0800] "GET /sitemap.xml.gz HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 701
167.94.138.118 - - [19/Jan/2026:13:49:47 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 8981
167.94.138.118 - - [19/Jan/2026:13:49:50 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1920801
167.94.138.118 - - [19/Jan/2026:13:49:51 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 867
167.94.138.118 - - [19/Jan/2026:13:49:56 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 762
167.94.138.118 - - [19/Jan/2026:13:49:58 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 694
167.94.138.118 - - [19/Jan/2026:13:51:13 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 849
157.55.39.10 - - [19/Jan/2026:14:33:40 +0800] "GET /sitemap.xml.gz HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 881
157.55.39.13 - - [19/Jan/2026:15:06:52 +0800] "GET /sitemaps.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 723
34.140.135.10 - - [19/Jan/2026:15:51:34 +0800] "GET / HTTP/1.1" 200 174204 "-" "python-requests/2.32.5" 584522
87.236.176.107 - - [19/Jan/2026:23:26:15 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)" 7532501
129.211.162.110 - - [19/Jan/2026:23:36:50 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)" 345244
220.196.160.117 - - [19/Jan/2026:23:36:50 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)" 387037
180.101.244.15 - - [19/Jan/2026:23:36:52 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 263273
180.101.244.15 - - [19/Jan/2026:23:36:52 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 2951
180.101.244.15 - - [19/Jan/2026:23:36:56 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (iPhone; CPU iPhone OS 18_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Mobile/15E148 Safari/604.1" 769
207.46.13.128 - - [20/Jan/2026:02:12:56 +0800] "GET /sitemap_index.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 2912
52.167.144.213 - - [20/Jan/2026:02:42:52 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 751
162.142.125.197 - - [20/Jan/2026:02:52:23 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1000
162.142.125.197 - - [20/Jan/2026:02:52:26 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 650
162.142.125.197 - - [20/Jan/2026:02:52:35 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 10207186
162.142.125.197 - - [20/Jan/2026:02:52:43 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 1131
162.142.125.197 - - [20/Jan/2026:02:52:44 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 911
162.142.125.197 - - [20/Jan/2026:02:53:16 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1071
40.77.167.235 - - [20/Jan/2026:04:38:02 +0800] "GET /sitemap.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 738
157.55.39.10 - - [20/Jan/2026:04:49:35 +0800] "GET /sitemap_index.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 645
207.90.244.14 - - [20/Jan/2026:05:17:08 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 868618
207.90.244.14 - - [20/Jan/2026:05:17:10 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" 684
52.167.144.166 - - [20/Jan/2026:05:25:37 +0800] "GET /sitemap.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 708
40.77.167.150 - - [20/Jan/2026:08:19:04 +0800] "GET /sitemap.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 869
207.46.13.17 - - [20/Jan/2026:08:55:06 +0800] "GET /sitemap.xml.gz HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 709
40.77.167.57 - - [20/Jan/2026:09:19:45 +0800] "GET /atom.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 709
157.55.39.195 - - [20/Jan/2026:10:44:31 +0800] "GET /sitemaps.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 830
40.77.167.136 - - [20/Jan/2026:11:32:48 +0800] "GET /atom.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 693
3.149.59.26 - - [20/Jan/2026:12:08:14 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 908700
3.149.59.26 - - [20/Jan/2026:12:09:33 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 778923
157.55.39.59 - - [20/Jan/2026:13:04:28 +0800] "GET /sitemaps.xml HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 690
66.132.153.133 - - [20/Jan/2026:15:49:46 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 976
66.132.153.133 - - [20/Jan/2026:15:49:47 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 758
66.132.153.133 - - [20/Jan/2026:15:49:48 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2045942
66.132.153.133 - - [20/Jan/2026:15:49:51 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 977
66.132.153.133 - - [20/Jan/2026:15:49:51 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 713
66.132.153.133 - - [20/Jan/2026:15:50:11 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 742
34.77.70.250 - - [20/Jan/2026:20:03:37 +0800] "GET / HTTP/1.1" 200 174204 "-" "python-requests/2.32.5" 747269
162.142.125.122 - - [21/Jan/2026:04:50:58 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1037375
162.142.125.122 - - [21/Jan/2026:04:50:59 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 700
162.142.125.122 - - [21/Jan/2026:04:51:00 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 677
162.142.125.122 - - [21/Jan/2026:04:51:00 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1008
162.142.125.122 - - [21/Jan/2026:04:51:02 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 730
162.142.125.122 - - [21/Jan/2026:04:51:23 +0800] "GET /security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 730
91.230.168.20 - - [21/Jan/2026:08:03:10 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 1112068
91.230.168.168 - - [21/Jan/2026:08:05:24 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 874
3.143.33.63 - - [21/Jan/2026:12:49:42 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1023020
3.143.33.63 - - [21/Jan/2026:12:51:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 964612
199.45.154.114 - - [21/Jan/2026:13:11:59 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 718293
199.45.154.114 - - [21/Jan/2026:13:12:21 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1464105
199.45.154.114 - - [21/Jan/2026:13:12:22 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 813
199.45.154.114 - - [21/Jan/2026:13:12:23 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 920
199.45.154.114 - - [21/Jan/2026:13:12:43 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 697
87.236.176.234 - - [21/Jan/2026:14:17:03 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)" 1054254
162.142.125.37 - - [21/Jan/2026:17:50:51 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 15915
162.142.125.37 - - [21/Jan/2026:17:51:36 +0800] "GET /nv8oy6rdn_dxaz HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 910
66.228.53.174 - - [21/Jan/2026:18:27:16 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" 922093
111.7.96.147 - - [21/Jan/2026:21:04:43 +0800] "GET / HTTP/1.1" 200 174204 "-" "curl/7.64.1" 401737
123.160.223.72 - - [21/Jan/2026:21:05:19 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 457697
123.160.223.72 - - [21/Jan/2026:21:05:19 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 221139
123.160.223.72 - - [21/Jan/2026:21:05:19 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 4324
123.160.223.72 - - [21/Jan/2026:21:05:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 260731
123.160.223.73 - - [21/Jan/2026:21:05:20 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 1492
123.160.223.74 - - [21/Jan/2026:21:05:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 489095
123.160.223.74 - - [21/Jan/2026:21:05:20 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 958
123.160.223.75 - - [21/Jan/2026:21:05:21 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 1017
123.160.223.73 - - [21/Jan/2026:21:05:25 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 920
123.160.223.72 - - [21/Jan/2026:21:05:29 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 833
111.7.96.163 - - [21/Jan/2026:21:05:36 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 683149
111.7.96.163 - - [21/Jan/2026:21:05:39 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 787091
111.7.96.163 - - [21/Jan/2026:21:05:39 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 961
111.7.96.163 - - [21/Jan/2026:21:05:39 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://www.ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 799
111.7.96.163 - - [21/Jan/2026:21:05:41 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 834
66.132.153.123 - - [22/Jan/2026:01:48:14 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1869722
66.132.153.123 - - [22/Jan/2026:01:48:19 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 934
66.132.153.123 - - [22/Jan/2026:01:48:21 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 720
66.132.153.123 - - [22/Jan/2026:01:49:06 +0800] "GET /wiki HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 875
52.167.144.59 - - [22/Jan/2026:02:28:45 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 644
52.167.144.59 - - [22/Jan/2026:02:28:45 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 643
52.167.144.59 - - [22/Jan/2026:02:28:45 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 1138
40.77.167.76 - - [22/Jan/2026:02:28:48 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 3473
52.167.144.138 - - [22/Jan/2026:02:28:53 +0800] "GET /api/check-login HTTP/1.1" 200 35 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 601
157.55.39.62 - - [22/Jan/2026:02:28:58 +0800] "GET /poetry/favorites/list?page=1&per_page=10&search=&dynasty=&author= HTTP/1.1" 200 98 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 282989
167.94.138.178 - - [22/Jan/2026:06:50:41 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1315
167.94.138.178 - - [22/Jan/2026:06:50:42 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 879
167.94.138.178 - - [22/Jan/2026:06:50:59 +0800] "GET /qxh8y0w2g09rx8ptsw HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 735
207.90.244.28 - - [22/Jan/2026:07:25:43 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" 999854
207.90.244.28 - - [22/Jan/2026:07:25:46 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36" 738
3.134.148.59 - - [22/Jan/2026:14:14:20 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1261483
3.134.148.59 - - [22/Jan/2026:14:15:27 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 849320
167.94.138.182 - - [22/Jan/2026:14:49:30 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2096468
167.94.138.182 - - [22/Jan/2026:14:49:34 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 769
167.94.138.182 - - [22/Jan/2026:14:49:35 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 692
167.94.138.182 - - [22/Jan/2026:14:50:03 +0800] "GET /security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 677
199.45.154.153 - - [22/Jan/2026:16:28:00 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 807021
199.45.154.153 - - [22/Jan/2026:16:28:21 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1403790
199.45.154.153 - - [22/Jan/2026:16:28:23 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 686
199.45.154.153 - - [22/Jan/2026:16:28:25 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 764
199.45.154.153 - - [22/Jan/2026:16:28:46 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 702
52.167.144.59 - - [22/Jan/2026:16:45:41 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 728
157.55.39.55 - - [22/Jan/2026:16:45:46 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 221718
162.142.125.210 - - [22/Jan/2026:19:49:38 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 966
162.142.125.210 - - [22/Jan/2026:19:49:46 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 697
34.14.118.150 - - [22/Jan/2026:19:49:51 +0800] "GET / HTTP/1.1" 200 174204 "-" "python-requests/2.32.5" 522326
162.142.125.210 - - [22/Jan/2026:19:50:10 +0800] "GET /drnyd6vgzmw HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 826
40.77.167.144 - - [22/Jan/2026:22:16:37 +0800] "GET /poetry/favorites HTTP/1.1" 200 35389 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 221605
66.132.153.143 - - [23/Jan/2026:04:55:02 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1540457
66.132.153.143 - - [23/Jan/2026:04:55:03 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 774
66.132.153.143 - - [23/Jan/2026:04:55:04 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 649
66.132.153.143 - - [23/Jan/2026:04:55:29 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 916
66.132.153.142 - - [23/Jan/2026:08:49:14 +0800] "GET /login HTTP/1.1" 200 24330 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 11076
66.132.153.142 - - [23/Jan/2026:08:49:15 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 861
66.132.153.142 - - [23/Jan/2026:08:49:32 +0800] "GET /fa5omgz10lc HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1214
123.160.221.135 - - [23/Jan/2026:10:30:47 +0800] "GET / HTTP/1.1" 200 174204 "-" "curl/7.64.1" 458075
123.160.223.73 - - [23/Jan/2026:10:31:26 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 277496
123.160.223.74 - - [23/Jan/2026:10:31:27 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 224125
123.160.223.74 - - [23/Jan/2026:10:31:27 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 4945
123.160.223.74 - - [23/Jan/2026:10:31:28 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://ruilaizipj.com:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" 950
123.160.223.75 - - [23/Jan/2026:10:31:32 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 1172
111.7.106.107 - - [23/Jan/2026:10:31:37 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 412369
111.7.106.106 - - [23/Jan/2026:10:31:38 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 274466
111.7.106.107 - - [23/Jan/2026:10:31:38 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 1271
111.7.106.106 - - [23/Jan/2026:10:31:38 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" 1021
111.7.106.107 - - [23/Jan/2026:10:31:43 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 1142
3.137.73.221 - - [23/Jan/2026:16:41:06 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 963058
3.137.73.221 - - [23/Jan/2026:16:44:17 +0800] "GET / HTTP/1.1" 200 174204 "-" "cypex.ai/scanning Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 779586
40.77.167.219 - - [20/Feb/2026:09:34:30 +0800] "GET /robots.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 5661
40.77.167.136 - - [20/Feb/2026:09:34:39 +0800] "GET /poetry/ HTTP/1.1" 200 51440 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 241713
40.77.167.53 - - [20/Feb/2026:09:34:53 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 5689
52.167.144.198 - - [20/Feb/2026:09:34:59 +0800] "GET /api/check-login HTTP/1.1" 200 35 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36" 1078
36.43.192.243 - - [20/Feb/2026:09:36:51 +0800] "GET / HTTP/1.1" 200 174204 "http://101.43.95.130:3006/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 718120
36.43.192.243 - - [20/Feb/2026:09:36:51 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 5242
36.43.192.243 - - [20/Feb/2026:09:36:52 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 4535
36.43.192.243 - - [20/Feb/2026:09:36:52 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1606
36.43.192.243 - - [20/Feb/2026:09:37:02 +0800] "GET /login HTTP/1.1" 200 24330 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 14288
36.43.192.243 - - [20/Feb/2026:09:37:02 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1104
36.43.192.243 - - [20/Feb/2026:09:37:02 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 779
36.43.192.243 - - [20/Feb/2026:09:37:08 +0800] "POST /api/login HTTP/1.1" 200 174 "http://101.43.95.130:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 609459
36.43.192.243 - - [20/Feb/2026:09:37:11 +0800] "GET / HTTP/1.1" 200 174204 "http://101.43.95.130:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 714987
36.43.192.243 - - [20/Feb/2026:09:37:11 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1933
36.43.192.243 - - [20/Feb/2026:09:37:11 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1041
36.43.192.243 - - [20/Feb/2026:09:37:30 +0800] "GET /poetry/ HTTP/1.1" 200 51440 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 55128
36.43.192.243 - - [20/Feb/2026:09:37:30 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1384
36.43.192.243 - - [20/Feb/2026:09:37:30 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1084
36.43.192.243 - - [20/Feb/2026:09:39:16 +0800] "POST /poetry/analyze HTTP/1.1" 200 7999 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 21084658
36.43.192.243 - - [20/Feb/2026:09:39:16 +0800] "POST /poetry/favorites/check HTTP/1.1" 200 57 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 99998
36.43.192.243 - - [20/Feb/2026:09:42:25 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1055
36.43.192.243 - - [20/Feb/2026:09:43:04 +0800] "POST /poetry/analyze HTTP/1.1" 200 7331 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 18923968
36.43.192.243 - - [20/Feb/2026:09:43:05 +0800] "POST /poetry/favorites/check HTTP/1.1" 200 57 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 462379
36.43.192.243 - - [20/Feb/2026:09:44:33 +0800] "POST /poetry/favorites/add HTTP/1.1" 200 61 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 379825
36.43.192.243 - - [20/Feb/2026:09:44:47 +0800] "GET / HTTP/1.1" 200 174204 "http://101.43.95.130:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 4068229
36.43.192.243 - - [20/Feb/2026:09:44:48 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1037
36.43.192.243 - - [20/Feb/2026:09:44:48 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 924
36.43.192.243 - - [20/Feb/2026:09:44:52 +0800] "GET /poetry/favorites HTTP/1.1" 200 35389 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 116840
36.43.192.243 - - [20/Feb/2026:09:44:52 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1305
36.43.192.243 - - [20/Feb/2026:09:44:53 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 832
36.43.192.243 - - [20/Feb/2026:09:44:54 +0800] "GET /poetry/favorites/list?page=1&per_page=10&search=&dynasty=&author= HTTP/1.1" 200 317 "http://101.43.95.130:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 134705
36.43.192.243 - - [20/Feb/2026:09:45:01 +0800] "GET /poetry/favorites/2 HTTP/1.1" 200 7786 "http://101.43.95.130:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 103565
36.43.192.243 - - [20/Feb/2026:09:45:15 +0800] "GET / HTTP/1.1" 200 174204 "http://101.43.95.130:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 781900
36.43.192.243 - - [20/Feb/2026:09:45:15 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 958
36.43.192.243 - - [20/Feb/2026:09:45:16 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 842
127.0.0.1 - - [23/Feb/2026:12:23:31 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 660097
127.0.0.1 - - [23/Feb/2026:12:23:31 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5223
127.0.0.1 - - [23/Feb/2026:12:23:33 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5329
127.0.0.1 - - [23/Feb/2026:12:23:33 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1228
127.0.0.1 - - [23/Feb/2026:12:23:33 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1027
123.139.39.103 - - [23/Feb/2026:12:26:03 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 743473
123.139.39.103 - - [23/Feb/2026:12:26:03 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 5258
123.139.39.103 - - [23/Feb/2026:12:26:03 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1396
123.139.39.103 - - [23/Feb/2026:12:26:04 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36 Edg/144.0.0.0" 1095
127.0.0.1 - - [23/Feb/2026:12:34:37 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 59934
127.0.0.1 - - [23/Feb/2026:12:34:37 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1195
127.0.0.1 - - [23/Feb/2026:12:34:37 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1098
127.0.0.1 - - [23/Feb/2026:12:34:47 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 367635
127.0.0.1 - - [23/Feb/2026:12:34:48 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1850
127.0.0.1 - - [23/Feb/2026:12:34:48 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 915
127.0.0.1 - - [23/Feb/2026:12:35:15 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4596
127.0.0.1 - - [23/Feb/2026:12:35:15 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1486
127.0.0.1 - - [23/Feb/2026:12:35:15 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 999
127.0.0.1 - - [23/Feb/2026:12:36:01 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 5188 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16420358
127.0.0.1 - - [23/Feb/2026:12:38:04 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 551364
127.0.0.1 - - [23/Feb/2026:12:40:00 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1096
127.0.0.1 - - [23/Feb/2026:12:40:00 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1724
167.94.146.63 - - [23/Feb/2026:13:13:34 +0800] "GET / HTTP/1.1" 200 174204 "-" "-" 726738
167.94.146.63 - - [23/Feb/2026:13:13:54 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1412152
167.94.146.63 - - [23/Feb/2026:13:13:55 +0800] "PRI * HTTP/2.0" 404 207 "-" "-" 1011
167.94.146.63 - - [23/Feb/2026:13:13:56 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 672
167.94.146.63 - - [23/Feb/2026:13:14:18 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 776
127.0.0.1 - - [23/Feb/2026:14:18:40 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 411087
127.0.0.1 - - [23/Feb/2026:14:19:02 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 225573
127.0.0.1 - - [23/Feb/2026:14:19:02 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1633
127.0.0.1 - - [23/Feb/2026:14:19:02 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1026
127.0.0.1 - - [23/Feb/2026:14:19:08 +0800] "GET /login HTTP/1.1" 200 24330 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 7325
127.0.0.1 - - [23/Feb/2026:14:19:08 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 963
127.0.0.1 - - [23/Feb/2026:14:19:08 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1037
127.0.0.1 - - [23/Feb/2026:14:19:32 +0800] "POST /api/login HTTP/1.1" 200 174 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 260533
127.0.0.1 - - [23/Feb/2026:14:19:35 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 351628
127.0.0.1 - - [23/Feb/2026:14:19:35 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1397
127.0.0.1 - - [23/Feb/2026:14:19:35 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4877
127.0.0.1 - - [23/Feb/2026:14:19:40 +0800] "GET /favorites HTTP/1.1" 200 33843 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 23132
127.0.0.1 - - [23/Feb/2026:14:19:40 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1473
127.0.0.1 - - [23/Feb/2026:14:19:40 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 917
127.0.0.1 - - [23/Feb/2026:14:19:40 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 8445 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 272662
127.0.0.1 - - [23/Feb/2026:14:19:40 +0800] "GET /api/favorites/stats HTTP/1.1" 200 8488 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 309285
127.0.0.1 - - [23/Feb/2026:14:19:48 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1133
127.0.0.1 - - [23/Feb/2026:14:20:03 +0800] "GET /favorites HTTP/1.1" 200 33843 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4774
127.0.0.1 - - [23/Feb/2026:14:20:03 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1286
127.0.0.1 - - [23/Feb/2026:14:20:03 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 886
127.0.0.1 - - [23/Feb/2026:14:20:03 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 8445 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 130040
127.0.0.1 - - [23/Feb/2026:14:20:03 +0800] "GET /api/favorites/stats HTTP/1.1" 200 8488 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 483431
127.0.0.1 - - [23/Feb/2026:14:20:06 +0800] "GET /api/favorites/16 HTTP/1.1" 200 362 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 98022
127.0.0.1 - - [23/Feb/2026:14:20:12 +0800] "GET /api/favorites/16 HTTP/1.1" 200 362 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 96775
127.0.0.1 - - [23/Feb/2026:14:20:17 +0800] "GET /api/favorites/15 HTTP/1.1" 200 3862 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 96822
127.0.0.1 - - [23/Feb/2026:14:20:40 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 278631
127.0.0.1 - - [23/Feb/2026:14:20:40 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1097
127.0.0.1 - - [23/Feb/2026:14:20:40 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 829
127.0.0.1 - - [23/Feb/2026:14:20:50 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1232
127.0.0.1 - - [23/Feb/2026:14:20:50 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1032
127.0.0.1 - - [23/Feb/2026:14:20:50 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 882
127.0.0.1 - - [23/Feb/2026:14:21:16 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 214399
127.0.0.1 - - [23/Feb/2026:14:21:17 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1482
127.0.0.1 - - [23/Feb/2026:14:21:17 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 947
127.0.0.1 - - [23/Feb/2026:14:21:24 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1198
127.0.0.1 - - [23/Feb/2026:14:21:24 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1010
127.0.0.1 - - [23/Feb/2026:14:21:24 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 944
127.0.0.1 - - [23/Feb/2026:14:21:38 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 207744
127.0.0.1 - - [23/Feb/2026:14:21:38 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1207
127.0.0.1 - - [23/Feb/2026:14:21:38 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1206
127.0.0.1 - - [23/Feb/2026:14:23:58 +0800] "GET /poetry/favorites HTTP/1.1" 200 35389 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 24651
127.0.0.1 - - [23/Feb/2026:14:23:58 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1448
127.0.0.1 - - [23/Feb/2026:14:23:58 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1280
127.0.0.1 - - [23/Feb/2026:14:23:58 +0800] "GET /poetry/favorites/list?page=1&per_page=10&search=&dynasty=&author= HTTP/1.1" 200 317 "http://localhost:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 146313
127.0.0.1 - - [23/Feb/2026:14:24:06 +0800] "GET /poetry/ HTTP/1.1" 200 51440 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 9235
127.0.0.1 - - [23/Feb/2026:14:24:06 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1015
127.0.0.1 - - [23/Feb/2026:14:24:06 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 842
127.0.0.1 - - [23/Feb/2026:14:24:14 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1008
127.0.0.1 - - [23/Feb/2026:14:24:18 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1235
127.0.0.1 - - [23/Feb/2026:14:24:18 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 977
127.0.0.1 - - [23/Feb/2026:14:24:18 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 800
127.0.0.1 - - [23/Feb/2026:14:24:47 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 4999 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 15246130
127.0.0.1 - - [23/Feb/2026:14:24:54 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 357969
127.0.0.1 - - [23/Feb/2026:14:24:58 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 898
127.0.0.1 - - [23/Feb/2026:14:30:21 +0800] "GET /favorites HTTP/1.1" 200 33843 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 23734
127.0.0.1 - - [23/Feb/2026:14:30:21 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1199
127.0.0.1 - - [23/Feb/2026:14:30:21 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 825
127.0.0.1 - - [23/Feb/2026:14:30:22 +0800] "GET /api/favorites/stats HTTP/1.1" 200 8488 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 294623
127.0.0.1 - - [23/Feb/2026:14:30:22 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 8445 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 301702
127.0.0.1 - - [23/Feb/2026:14:30:26 +0800] "GET /history HTTP/1.1" 200 39375 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 8759
127.0.0.1 - - [23/Feb/2026:14:30:26 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1309
127.0.0.1 - - [23/Feb/2026:14:30:26 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1068
127.0.0.1 - - [23/Feb/2026:14:30:39 +0800] "GET /favorites HTTP/1.1" 200 33843 "http://localhost:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 6080
127.0.0.1 - - [23/Feb/2026:14:30:39 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1022
127.0.0.1 - - [23/Feb/2026:14:30:39 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1090
127.0.0.1 - - [23/Feb/2026:14:30:39 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 8445 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 131219
127.0.0.1 - - [23/Feb/2026:14:30:39 +0800] "GET /api/favorites/stats HTTP/1.1" 200 8488 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 278410
127.0.0.1 - - [23/Feb/2026:14:30:43 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 960
127.0.0.1 - - [23/Feb/2026:14:32:20 +0800] "GET /favorites HTTP/1.1" 200 33843 "http://localhost:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 25823
127.0.0.1 - - [23/Feb/2026:14:32:20 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1810
127.0.0.1 - - [23/Feb/2026:14:32:20 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1408
127.0.0.1 - - [23/Feb/2026:14:32:20 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 8445 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 151016
127.0.0.1 - - [23/Feb/2026:14:32:20 +0800] "GET /api/favorites/stats HTTP/1.1" 200 8488 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 324848
127.0.0.1 - - [23/Feb/2026:14:32:24 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 213037
127.0.0.1 - - [23/Feb/2026:14:32:24 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1188
127.0.0.1 - - [23/Feb/2026:14:32:24 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 858
127.0.0.1 - - [23/Feb/2026:14:32:27 +0800] "GET /meal-planning HTTP/1.1" 200 36681 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 8224
127.0.0.1 - - [23/Feb/2026:14:32:27 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1068
127.0.0.1 - - [23/Feb/2026:14:32:27 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 850
127.0.0.1 - - [23/Feb/2026:14:32:52 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 4932 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16592263
127.0.0.1 - - [23/Feb/2026:14:32:56 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 217336
127.0.0.1 - - [23/Feb/2026:14:32:59 +0800] "GET /meal-planning/history HTTP/1.1" 200 22501 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 10501
127.0.0.1 - - [23/Feb/2026:14:33:00 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 13106 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 290969
127.0.0.1 - - [23/Feb/2026:14:33:19 +0800] "GET /meal-planning/history HTTP/1.1" 200 22501 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1150
127.0.0.1 - - [23/Feb/2026:14:33:19 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 13106 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 132722
127.0.0.1 - - [23/Feb/2026:14:33:29 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 993
127.0.0.1 - - [23/Feb/2026:14:33:34 +0800] "GET /meal-planning/history HTTP/1.1" 200 22501 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 7334
127.0.0.1 - - [23/Feb/2026:14:33:34 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 13106 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 135510
127.0.0.1 - - [23/Feb/2026:14:36:09 +0800] "GET /meal-planning/history HTTP/1.1" 200 24394 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 11843
127.0.0.1 - - [23/Feb/2026:14:36:10 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 13106 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 280069
127.0.0.1 - - [23/Feb/2026:14:36:35 +0800] "GET /profile HTTP/1.1" 200 38369 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5742
127.0.0.1 - - [23/Feb/2026:14:36:35 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1113
127.0.0.1 - - [23/Feb/2026:14:36:35 +0800] "GET /static/images/default-avatar.png HTTP/1.1" 404 207 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1170
127.0.0.1 - - [23/Feb/2026:14:36:35 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 813
127.0.0.1 - - [23/Feb/2026:14:36:35 +0800] "GET /api/profile/stats HTTP/1.1" 200 105 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 187503
127.0.0.1 - - [23/Feb/2026:14:36:35 +0800] "GET /api/profile HTTP/1.1" 200 185 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 241247
127.0.0.1 - - [23/Feb/2026:14:36:43 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 917
127.0.0.1 - - [23/Feb/2026:14:36:48 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 213300
127.0.0.1 - - [23/Feb/2026:14:36:48 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1072
127.0.0.1 - - [23/Feb/2026:14:36:49 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1040
127.0.0.1 - - [23/Feb/2026:14:36:50 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1146
127.0.0.1 - - [23/Feb/2026:14:36:50 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1015
127.0.0.1 - - [23/Feb/2026:14:36:50 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 927
127.0.0.1 - - [23/Feb/2026:14:37:14 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1169
127.0.0.1 - - [23/Feb/2026:14:37:14 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 963
127.0.0.1 - - [23/Feb/2026:14:37:14 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 843
127.0.0.1 - - [23/Feb/2026:14:37:40 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 4788 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16169874
127.0.0.1 - - [23/Feb/2026:14:37:49 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 358538
127.0.0.1 - - [23/Feb/2026:14:38:00 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 896
127.0.0.1 - - [23/Feb/2026:14:38:09 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 218166
127.0.0.1 - - [23/Feb/2026:14:38:57 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 907
127.0.0.1 - - [23/Feb/2026:14:40:42 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 953
127.0.0.1 - - [23/Feb/2026:14:40:48 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 894
127.0.0.1 - - [23/Feb/2026:14:40:56 +0800] "GET /meal-planning HTTP/1.1" 200 36681 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5078
127.0.0.1 - - [23/Feb/2026:14:40:56 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1030
127.0.0.1 - - [23/Feb/2026:14:40:56 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 835
127.0.0.1 - - [23/Feb/2026:14:41:03 +0800] "GET /meal-planning/history HTTP/1.1" 200 24394 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 9828
127.0.0.1 - - [23/Feb/2026:14:41:03 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 22090 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 288643
127.0.0.1 - - [23/Feb/2026:14:41:12 +0800] "GET /meal-planning/history HTTP/1.1" 200 22501 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1163
127.0.0.1 - - [23/Feb/2026:14:41:12 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 22090 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 131981
127.0.0.1 - - [23/Feb/2026:14:41:34 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 212045
127.0.0.1 - - [23/Feb/2026:14:41:35 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 975
127.0.0.1 - - [23/Feb/2026:14:41:35 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 858
127.0.0.1 - - [23/Feb/2026:14:41:36 +0800] "GET /meal-planning HTTP/1.1" 200 36681 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4967
127.0.0.1 - - [23/Feb/2026:14:41:36 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1030
127.0.0.1 - - [23/Feb/2026:14:41:36 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1207
127.0.0.1 - - [23/Feb/2026:14:41:38 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 323259
127.0.0.1 - - [23/Feb/2026:14:41:38 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1253
127.0.0.1 - - [23/Feb/2026:14:41:38 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1097
127.0.0.1 - - [23/Feb/2026:14:41:39 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1172
127.0.0.1 - - [23/Feb/2026:14:41:39 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1298
127.0.0.1 - - [23/Feb/2026:14:41:39 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1014
127.0.0.1 - - [23/Feb/2026:14:41:42 +0800] "GET /meal-planning HTTP/1.1" 200 36681 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1354
127.0.0.1 - - [23/Feb/2026:14:41:42 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1145
127.0.0.1 - - [23/Feb/2026:14:41:42 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 832
127.0.0.1 - - [23/Feb/2026:14:41:57 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 274547
127.0.0.1 - - [23/Feb/2026:14:41:57 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 994
127.0.0.1 - - [23/Feb/2026:14:41:57 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 820
127.0.0.1 - - [23/Feb/2026:14:52:04 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 424191
127.0.0.1 - - [23/Feb/2026:14:52:04 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1448
127.0.0.1 - - [23/Feb/2026:14:52:04 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1515
127.0.0.1 - - [23/Feb/2026:14:52:06 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1902
127.0.0.1 - - [23/Feb/2026:14:52:06 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1587
127.0.0.1 - - [23/Feb/2026:14:52:06 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 851
127.0.0.1 - - [23/Feb/2026:14:52:31 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 4750 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16986978
127.0.0.1 - - [23/Feb/2026:14:52:39 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 368205
127.0.0.1 - - [23/Feb/2026:14:52:58 +0800] "GET /meal-planning HTTP/1.1" 200 36681 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1559
127.0.0.1 - - [23/Feb/2026:14:52:58 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 960
127.0.0.1 - - [23/Feb/2026:14:52:58 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 839
127.0.0.1 - - [23/Feb/2026:14:53:02 +0800] "GET /meal-planning/history HTTP/1.1" 200 41956 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 17690
127.0.0.1 - - [23/Feb/2026:14:53:02 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1028
127.0.0.1 - - [23/Feb/2026:14:53:02 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 870
127.0.0.1 - - [23/Feb/2026:14:53:02 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 26630 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 156257
127.0.0.1 - - [23/Feb/2026:14:53:33 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 340144
127.0.0.1 - - [23/Feb/2026:14:53:34 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1099
127.0.0.1 - - [23/Feb/2026:14:53:34 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1165
127.0.0.1 - - [23/Feb/2026:14:53:36 +0800] "GET /meal_planning_history HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 919
127.0.0.1 - - [23/Feb/2026:14:53:46 +0800] "GET /expert_generate HTTP/1.1" 200 34276 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5664
127.0.0.1 - - [23/Feb/2026:14:53:47 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/expert_generate" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 983
127.0.0.1 - - [23/Feb/2026:14:53:47 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/expert_generate" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 866
127.0.0.1 - - [23/Feb/2026:14:54:28 +0800] "GET /meal-planning HTTP/1.1" 200 36362 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1220
127.0.0.1 - - [23/Feb/2026:14:54:28 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1097
127.0.0.1 - - [23/Feb/2026:14:54:28 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 855
127.0.0.1 - - [23/Feb/2026:14:54:31 +0800] "GET /meal-planning HTTP/1.1" 200 36681 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1448
127.0.0.1 - - [23/Feb/2026:14:54:31 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1037
127.0.0.1 - - [23/Feb/2026:14:54:31 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1151
127.0.0.1 - - [23/Feb/2026:14:57:17 +0800] "GET / HTTP/1.1" 200 174204 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 425720
127.0.0.1 - - [23/Feb/2026:14:57:17 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1369
127.0.0.1 - - [23/Feb/2026:14:57:17 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1095
123.139.39.117 - - [23/Feb/2026:14:58:02 +0800] "GET / HTTP/1.1" 200 174204 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 432602
123.139.39.117 - - [23/Feb/2026:14:58:02 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1111
123.139.39.117 - - [23/Feb/2026:14:58:03 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 944
123.139.39.117 - - [23/Feb/2026:14:58:03 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 788
123.139.39.117 - - [23/Feb/2026:14:58:03 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 965
127.0.0.1 - - [23/Feb/2026:14:59:41 +0800] "GET / HTTP/1.1" 200 174966 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 665121
127.0.0.1 - - [23/Feb/2026:14:59:41 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1848
127.0.0.1 - - [23/Feb/2026:14:59:41 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1040
127.0.0.1 - - [23/Feb/2026:14:59:52 +0800] "GET /meal-planning/history HTTP/1.1" 200 41956 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 19615
127.0.0.1 - - [23/Feb/2026:14:59:52 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1106
127.0.0.1 - - [23/Feb/2026:14:59:52 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 6327
127.0.0.1 - - [23/Feb/2026:14:59:52 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 26630 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 500641
127.0.0.1 - - [23/Feb/2026:15:00:17 +0800] "GET /meal-planning HTTP/1.1" 200 37495 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5350
127.0.0.1 - - [23/Feb/2026:15:00:17 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1032
127.0.0.1 - - [23/Feb/2026:15:00:17 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 880
127.0.0.1 - - [23/Feb/2026:15:03:00 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 579755
127.0.0.1 - - [23/Feb/2026:15:03:00 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 2422
127.0.0.1 - - [23/Feb/2026:15:03:00 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1137
127.0.0.1 - - [23/Feb/2026:15:03:08 +0800] "GET /meal-planning/history HTTP/1.1" 200 41721 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 6110
127.0.0.1 - - [23/Feb/2026:15:03:09 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1490
127.0.0.1 - - [23/Feb/2026:15:03:09 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1149
127.0.0.1 - - [23/Feb/2026:15:03:09 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 26630 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 517384
127.0.0.1 - - [23/Feb/2026:15:03:20 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 266638
127.0.0.1 - - [23/Feb/2026:15:03:20 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1048
127.0.0.1 - - [23/Feb/2026:15:03:20 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 874
127.0.0.1 - - [23/Feb/2026:15:03:30 +0800] "GET /favorites HTTP/1.1" 200 33608 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4597
127.0.0.1 - - [23/Feb/2026:15:03:30 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1433
127.0.0.1 - - [23/Feb/2026:15:03:30 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 888
127.0.0.1 - - [23/Feb/2026:15:03:30 +0800] "GET /api/favorites/stats HTTP/1.1" 200 8488 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 166694
127.0.0.1 - - [23/Feb/2026:15:03:30 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 8445 "http://localhost:5002/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 425951
127.0.0.1 - - [23/Feb/2026:15:03:35 +0800] "GET /history HTTP/1.1" 200 39140 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16839
127.0.0.1 - - [23/Feb/2026:15:03:35 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 990
127.0.0.1 - - [23/Feb/2026:15:03:35 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 923
127.0.0.1 - - [23/Feb/2026:15:03:47 +0800] "GET /meal-planning HTTP/1.1" 200 36363 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4654
127.0.0.1 - - [23/Feb/2026:15:03:47 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1473
127.0.0.1 - - [23/Feb/2026:15:03:47 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 873
127.0.0.1 - - [23/Feb/2026:15:04:25 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 5017 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16468133
127.0.0.1 - - [23/Feb/2026:15:05:23 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 5345 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16424837
127.0.0.1 - - [23/Feb/2026:15:05:47 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 357406
127.0.0.1 - - [23/Feb/2026:15:06:45 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 235270
127.0.0.1 - - [23/Feb/2026:15:06:45 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1110
127.0.0.1 - - [23/Feb/2026:15:06:45 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 847
127.0.0.1 - - [23/Feb/2026:15:06:47 +0800] "GET /meal-planning/history HTTP/1.1" 200 41721 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5945
127.0.0.1 - - [23/Feb/2026:15:06:47 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1027
127.0.0.1 - - [23/Feb/2026:15:06:47 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 831
127.0.0.1 - - [23/Feb/2026:15:06:47 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 31772 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 161670
127.0.0.1 - - [23/Feb/2026:15:10:33 +0800] "GET /meal-planning/history HTTP/1.1" 200 41721 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1249
127.0.0.1 - - [23/Feb/2026:15:10:33 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1068
127.0.0.1 - - [23/Feb/2026:15:10:33 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 889
127.0.0.1 - - [23/Feb/2026:15:10:33 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 31772 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 162301
127.0.0.1 - - [23/Feb/2026:15:10:57 +0800] "GET /meal-planning/history HTTP/1.1" 200 43275 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 6139
127.0.0.1 - - [23/Feb/2026:15:10:57 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 992
127.0.0.1 - - [23/Feb/2026:15:10:57 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 946
127.0.0.1 - - [23/Feb/2026:15:10:57 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 31772 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 305225
127.0.0.1 - - [23/Feb/2026:15:12:04 +0800] "GET /meal-planning/history HTTP/1.1" 200 43040 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 20474
127.0.0.1 - - [23/Feb/2026:15:12:04 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5460
127.0.0.1 - - [23/Feb/2026:15:12:04 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 6165
127.0.0.1 - - [23/Feb/2026:15:12:05 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 31772 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 475390
127.0.0.1 - - [23/Feb/2026:15:12:09 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 312941
127.0.0.1 - - [23/Feb/2026:15:12:09 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1283
127.0.0.1 - - [23/Feb/2026:15:12:10 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1282
127.0.0.1 - - [23/Feb/2026:15:12:11 +0800] "GET /meal-planning HTTP/1.1" 200 36128 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 14677
127.0.0.1 - - [23/Feb/2026:15:12:11 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1023
127.0.0.1 - - [23/Feb/2026:15:12:11 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1194
127.0.0.1 - - [23/Feb/2026:15:12:47 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 5453 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16423730
127.0.0.1 - - [23/Feb/2026:15:14:01 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 577240
127.0.0.1 - - [23/Feb/2026:15:14:04 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 256950
127.0.0.1 - - [23/Feb/2026:15:14:04 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 2157
127.0.0.1 - - [23/Feb/2026:15:14:04 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1243
127.0.0.1 - - [23/Feb/2026:15:14:05 +0800] "GET /meal-planning/history HTTP/1.1" 200 43040 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1526
127.0.0.1 - - [23/Feb/2026:15:14:05 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1477
127.0.0.1 - - [23/Feb/2026:15:14:05 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1041
127.0.0.1 - - [23/Feb/2026:15:14:06 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 37094 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 147746
127.0.0.1 - - [23/Feb/2026:15:17:22 +0800] "GET /meal-planning/history HTTP/1.1" 200 44347 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 17763
127.0.0.1 - - [23/Feb/2026:15:17:22 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1483
127.0.0.1 - - [23/Feb/2026:15:17:22 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 992
127.0.0.1 - - [23/Feb/2026:15:17:22 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 37094 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 550981
127.0.0.1 - - [23/Feb/2026:15:17:26 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 286833
127.0.0.1 - - [23/Feb/2026:15:17:26 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1464
127.0.0.1 - - [23/Feb/2026:15:17:26 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1104
127.0.0.1 - - [23/Feb/2026:15:17:34 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4742
127.0.0.1 - - [23/Feb/2026:15:17:35 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1070
127.0.0.1 - - [23/Feb/2026:15:17:35 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 895
127.0.0.1 - - [23/Feb/2026:15:18:18 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 5291 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 17137042
127.0.0.1 - - [23/Feb/2026:15:18:26 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 239007
127.0.0.1 - - [23/Feb/2026:15:18:30 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 329862
127.0.0.1 - - [23/Feb/2026:15:18:31 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1057
127.0.0.1 - - [23/Feb/2026:15:18:31 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 982
127.0.0.1 - - [23/Feb/2026:15:18:32 +0800] "GET /meal-planning/history HTTP/1.1" 200 44347 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1274
127.0.0.1 - - [23/Feb/2026:15:18:32 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1068
127.0.0.1 - - [23/Feb/2026:15:18:32 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1011
127.0.0.1 - - [23/Feb/2026:15:18:32 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 41957 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 175879
127.0.0.1 - - [23/Feb/2026:15:20:44 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 234858
127.0.0.1 - - [23/Feb/2026:15:20:44 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1100
127.0.0.1 - - [23/Feb/2026:15:20:44 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 963
127.0.0.1 - - [23/Feb/2026:15:21:17 +0800] "POST /api/logout HTTP/1.1" 200 54 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 942
127.0.0.1 - - [23/Feb/2026:15:21:19 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 598782
127.0.0.1 - - [23/Feb/2026:15:21:19 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1359
127.0.0.1 - - [23/Feb/2026:15:21:19 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 810
127.0.0.1 - - [23/Feb/2026:15:21:20 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 236680
127.0.0.1 - - [23/Feb/2026:15:21:20 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 975
127.0.0.1 - - [23/Feb/2026:15:21:20 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 784
127.0.0.1 - - [23/Feb/2026:15:21:22 +0800] "GET /meal-planning/history HTTP/1.1" 200 44347 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 9018
127.0.0.1 - - [23/Feb/2026:15:21:22 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 932
127.0.0.1 - - [23/Feb/2026:15:21:22 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 876
127.0.0.1 - - [23/Feb/2026:15:21:23 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 17944 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 312904
127.0.0.1 - - [23/Feb/2026:15:21:33 +0800] "GET /meal-planning HTTP/1.1" 200 36128 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1155
127.0.0.1 - - [23/Feb/2026:15:21:34 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 994
127.0.0.1 - - [23/Feb/2026:15:21:34 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 921
127.0.0.1 - - [23/Feb/2026:15:21:37 +0800] "GET /poetry/favorites HTTP/1.1" 200 35154 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 7043
127.0.0.1 - - [23/Feb/2026:15:21:37 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 944
127.0.0.1 - - [23/Feb/2026:15:21:37 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 978
127.0.0.1 - - [23/Feb/2026:15:21:38 +0800] "GET /poetry/favorites/list?page=1&per_page=10&search=&dynasty=&author= HTTP/1.1" 200 98 "http://localhost:5002/poetry/favorites" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 141773
127.0.0.1 - - [23/Feb/2026:15:21:46 +0800] "GET /register HTTP/1.1" 200 27248 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4720
127.0.0.1 - - [23/Feb/2026:15:21:46 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/register" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 995
127.0.0.1 - - [23/Feb/2026:15:21:46 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/register" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 858
127.0.0.1 - - [23/Feb/2026:15:21:55 +0800] "GET /login HTTP/1.1" 200 24095 "http://localhost:5002/register" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 6228
127.0.0.1 - - [23/Feb/2026:15:21:56 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1300
127.0.0.1 - - [23/Feb/2026:15:21:56 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1143
127.0.0.1 - - [23/Feb/2026:15:21:57 +0800] "POST /api/login HTTP/1.1" 200 174 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 252811
127.0.0.1 - - [23/Feb/2026:15:21:59 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 242190
127.0.0.1 - - [23/Feb/2026:15:22:00 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1428
127.0.0.1 - - [23/Feb/2026:15:22:00 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1177
127.0.0.1 - - [23/Feb/2026:15:22:02 +0800] "GET /profile HTTP/1.1" 200 38134 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 8508
127.0.0.1 - - [23/Feb/2026:15:22:02 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1400
127.0.0.1 - - [23/Feb/2026:15:22:02 +0800] "GET /static/images/default-avatar.png HTTP/1.1" 404 207 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1219
127.0.0.1 - - [23/Feb/2026:15:22:02 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1219
127.0.0.1 - - [23/Feb/2026:15:22:02 +0800] "GET /api/profile HTTP/1.1" 200 185 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 106653
127.0.0.1 - - [23/Feb/2026:15:22:03 +0800] "GET /api/profile/stats HTTP/1.1" 200 105 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 217533
127.0.0.1 - - [23/Feb/2026:15:22:30 +0800] "PUT /api/profile HTTP/1.1" 200 66 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 132532
127.0.0.1 - - [23/Feb/2026:15:22:33 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 236314
127.0.0.1 - - [23/Feb/2026:15:22:33 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1094
127.0.0.1 - - [23/Feb/2026:15:22:33 +0800] "GET /api/check-login HTTP/1.1" 200 121 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1178
127.0.0.1 - - [23/Feb/2026:15:22:37 +0800] "POST /api/logout HTTP/1.1" 200 54 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 957
127.0.0.1 - - [23/Feb/2026:15:22:39 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 354543
127.0.0.1 - - [23/Feb/2026:15:22:39 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1047
127.0.0.1 - - [23/Feb/2026:15:22:39 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 805
127.0.0.1 - - [23/Feb/2026:15:22:41 +0800] "GET /login HTTP/1.1" 200 24095 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1127
127.0.0.1 - - [23/Feb/2026:15:22:41 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 978
127.0.0.1 - - [23/Feb/2026:15:22:41 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 838
127.0.0.1 - - [23/Feb/2026:15:22:46 +0800] "POST /api/login HTTP/1.1" 200 180 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 236865
127.0.0.1 - - [23/Feb/2026:15:22:49 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 213869
127.0.0.1 - - [23/Feb/2026:15:22:49 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1356
127.0.0.1 - - [23/Feb/2026:15:22:49 +0800] "GET /api/check-login HTTP/1.1" 200 121 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 844
127.0.0.1 - - [23/Feb/2026:15:23:01 +0800] "POST /api/logout HTTP/1.1" 200 54 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 917
127.0.0.1 - - [23/Feb/2026:15:23:04 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 569203
127.0.0.1 - - [23/Feb/2026:15:23:04 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1207
127.0.0.1 - - [23/Feb/2026:15:23:04 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 798
127.0.0.1 - - [23/Feb/2026:15:23:05 +0800] "GET /register HTTP/1.1" 200 27248 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 3797
127.0.0.1 - - [23/Feb/2026:15:23:05 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/register" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 956
127.0.0.1 - - [23/Feb/2026:15:23:05 +0800] "GET /api/check-login HTTP/1.1" 200 35 "http://localhost:5002/register" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 764
127.0.0.1 - - [23/Feb/2026:15:23:35 +0800] "POST /api/register HTTP/1.1" 200 85 "http://localhost:5002/register" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 250351
127.0.0.1 - - [23/Feb/2026:15:23:37 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/register" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 377944
127.0.0.1 - - [23/Feb/2026:15:23:37 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 997
127.0.0.1 - - [23/Feb/2026:15:23:38 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 861
127.0.0.1 - - [23/Feb/2026:15:23:41 +0800] "GET /meal-planning/history HTTP/1.1" 200 44347 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1171
127.0.0.1 - - [23/Feb/2026:15:23:41 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 965
127.0.0.1 - - [23/Feb/2026:15:23:41 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 874
127.0.0.1 - - [23/Feb/2026:15:23:41 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 129 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 136637
127.0.0.1 - - [23/Feb/2026:15:23:45 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 4732
127.0.0.1 - - [23/Feb/2026:15:23:45 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 999
127.0.0.1 - - [23/Feb/2026:15:23:45 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 908
127.0.0.1 - - [23/Feb/2026:15:24:24 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 5403 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16914269
127.0.0.1 - - [23/Feb/2026:15:24:40 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 214706
127.0.0.1 - - [23/Feb/2026:15:24:43 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 341174
127.0.0.1 - - [23/Feb/2026:15:24:44 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1369
127.0.0.1 - - [23/Feb/2026:15:24:44 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1279
127.0.0.1 - - [23/Feb/2026:15:24:45 +0800] "GET /meal-planning/history HTTP/1.1" 200 44347 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 7110
127.0.0.1 - - [23/Feb/2026:15:24:46 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1135
127.0.0.1 - - [23/Feb/2026:15:24:46 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 920
127.0.0.1 - - [23/Feb/2026:15:24:46 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 5543 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 133473
127.0.0.1 - - [23/Feb/2026:15:26:33 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 213724
127.0.0.1 - - [23/Feb/2026:15:26:33 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1418
127.0.0.1 - - [23/Feb/2026:15:26:33 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1184
127.0.0.1 - - [23/Feb/2026:15:27:12 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 18524
127.0.0.1 - - [23/Feb/2026:15:27:12 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 3332
127.0.0.1 - - [23/Feb/2026:15:27:12 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 869
127.0.0.1 - - [23/Feb/2026:15:29:15 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 355933
127.0.0.1 - - [23/Feb/2026:15:29:15 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1811
127.0.0.1 - - [23/Feb/2026:15:29:15 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 919
127.0.0.1 - - [23/Feb/2026:15:29:19 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 6235
127.0.0.1 - - [23/Feb/2026:15:29:20 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 994
127.0.0.1 - - [23/Feb/2026:15:29:20 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 888
127.0.0.1 - - [23/Feb/2026:15:30:19 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 5403 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 17057345
127.0.0.1 - - [23/Feb/2026:15:30:37 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 342967
127.0.0.1 - - [23/Feb/2026:15:31:16 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 5429 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16971851
127.0.0.1 - - [23/Feb/2026:15:31:46 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 140 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 334230
127.0.0.1 - - [23/Feb/2026:15:31:48 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 198173
127.0.0.1 - - [23/Feb/2026:15:31:48 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1800
127.0.0.1 - - [23/Feb/2026:15:31:48 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 911
127.0.0.1 - - [23/Feb/2026:15:31:49 +0800] "GET /meal-planning/history HTTP/1.1" 200 44347 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 10270
127.0.0.1 - - [23/Feb/2026:15:31:49 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 973
127.0.0.1 - - [23/Feb/2026:15:31:49 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 819
127.0.0.1 - - [23/Feb/2026:15:31:50 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 16399 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 240281
127.0.0.1 - - [23/Feb/2026:15:33:45 +0800] "GET /api/templates/%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91 HTTP/1.1" 200 18538 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 128140
127.0.0.1 - - [23/Feb/2026:17:15:10 +0800] "GET /meal-planning/history HTTP/1.1" 200 44347 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 18129
127.0.0.1 - - [23/Feb/2026:17:15:10 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1289
127.0.0.1 - - [23/Feb/2026:17:15:10 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 877
127.0.0.1 - - [23/Feb/2026:17:15:10 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 16399 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 291358
127.0.0.1 - - [23/Feb/2026:17:15:35 +0800] "GET /api/templates/%E5%86%85%E5%AE%B9%E5%88%9B%E4%BD%9C HTTP/1.1" 200 3561 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 119491
127.0.0.1 - - [23/Feb/2026:17:15:36 +0800] "GET /api/templates/%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91 HTTP/1.1" 200 9397 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 109708
127.0.0.1 - - [23/Feb/2026:17:16:25 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 8911
127.0.0.1 - - [23/Feb/2026:17:16:25 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1002
127.0.0.1 - - [23/Feb/2026:17:16:25 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 908
127.0.0.1 - - [23/Feb/2026:17:16:37 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1251
127.0.0.1 - - [23/Feb/2026:17:16:37 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1441
127.0.0.1 - - [23/Feb/2026:17:16:37 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 885
127.0.0.1 - - [23/Feb/2026:17:18:50 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 278068
127.0.0.1 - - [23/Feb/2026:17:18:50 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1796
127.0.0.1 - - [23/Feb/2026:17:18:51 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 857
127.0.0.1 - - [23/Feb/2026:17:19:03 +0800] "GET /api/templates/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96 HTTP/1.1" 200 1653 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 252494
127.0.0.1 - - [23/Feb/2026:17:19:17 +0800] "GET /api/templates/%E6%88%BF%E5%9C%B0%E4%BA%A7 HTTP/1.1" 200 750 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 103002
127.0.0.1 - - [23/Feb/2026:17:19:24 +0800] "GET /api/templates/%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91 HTTP/1.1" 200 9397 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 105260
127.0.0.1 - - [23/Feb/2026:17:20:13 +0800] "GET /api/templates/all HTTP/1.1" 200 217077 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 319577
127.0.0.1 - - [23/Feb/2026:17:20:13 +0800] "GET /api/templates/%E9%80%9A%E7%94%A8 HTTP/1.1" 200 1110 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 91887
127.0.0.1 - - [23/Feb/2026:17:20:32 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16076
127.0.0.1 - - [23/Feb/2026:17:20:32 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1838
127.0.0.1 - - [23/Feb/2026:17:20:33 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1272
127.0.0.1 - - [23/Feb/2026:17:20:40 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 221449
127.0.0.1 - - [23/Feb/2026:17:20:40 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1071
127.0.0.1 - - [23/Feb/2026:17:20:40 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 934
127.0.0.1 - - [23/Feb/2026:17:20:41 +0800] "GET /poetry/ HTTP/1.1" 200 51205 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16810
127.0.0.1 - - [23/Feb/2026:17:20:41 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1111
127.0.0.1 - - [23/Feb/2026:17:20:41 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1158
127.0.0.1 - - [23/Feb/2026:17:20:53 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/poetry/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 385513
127.0.0.1 - - [23/Feb/2026:17:20:53 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 2135
127.0.0.1 - - [23/Feb/2026:17:20:53 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 911
127.0.0.1 - - [23/Feb/2026:17:20:58 +0800] "GET /api/templates/all HTTP/1.1" 200 217077 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 180509
127.0.0.1 - - [23/Feb/2026:17:21:08 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1270
127.0.0.1 - - [23/Feb/2026:17:21:08 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 996
127.0.0.1 - - [23/Feb/2026:17:21:08 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 884
127.0.0.1 - - [23/Feb/2026:17:21:14 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 183763
127.0.0.1 - - [23/Feb/2026:17:21:14 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1159
127.0.0.1 - - [23/Feb/2026:17:21:14 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 848
127.0.0.1 - - [23/Feb/2026:17:21:33 +0800] "GET /api/templates/%E4%BA%A7%E5%93%81%E7%AE%A1%E7%90%86 HTTP/1.1" 200 9044 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 109104
127.0.0.1 - - [23/Feb/2026:17:22:18 +0800] "GET /meal-planning/history HTTP/1.1" 200 44347 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 17636
127.0.0.1 - - [23/Feb/2026:17:22:18 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 2146
127.0.0.1 - - [23/Feb/2026:17:22:18 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1183
127.0.0.1 - - [23/Feb/2026:17:22:18 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 16399 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 120199
127.0.0.1 - - [23/Feb/2026:17:23:09 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning/history" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 233063
127.0.0.1 - - [23/Feb/2026:17:23:09 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1300
127.0.0.1 - - [23/Feb/2026:17:23:09 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1301
127.0.0.1 - - [23/Feb/2026:17:23:46 +0800] "POST / HTTP/1.1" 200 180594 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 12177640
127.0.0.1 - - [23/Feb/2026:17:23:46 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 7831
127.0.0.1 - - [23/Feb/2026:17:23:46 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1373
127.0.0.1 - - [23/Feb/2026:17:25:25 +0800] "GET /meal-planning HTTP/1.1" 200 36392 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 16870
127.0.0.1 - - [23/Feb/2026:17:25:25 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1877
127.0.0.1 - - [23/Feb/2026:17:25:25 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1132
127.0.0.1 - - [23/Feb/2026:17:26:34 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 341273
127.0.0.1 - - [23/Feb/2026:17:26:34 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1877
127.0.0.1 - - [23/Feb/2026:17:26:34 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 873
127.0.0.1 - - [23/Feb/2026:17:37:49 +0800] "GET / HTTP/1.1" 200 174731 "http://localhost:5002/meal-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 393594
127.0.0.1 - - [23/Feb/2026:17:37:49 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1023
127.0.0.1 - - [23/Feb/2026:17:37:49 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1149
127.0.0.1 - - [23/Feb/2026:17:47:05 +0800] "GET / HTTP/1.1" 200 176259 "-" "curl/7.29.0" 623608
127.0.0.1 - - [23/Feb/2026:17:47:07 +0800] "GET / HTTP/1.1" 200 176259 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 205616
127.0.0.1 - - [23/Feb/2026:17:47:07 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1439
127.0.0.1 - - [23/Feb/2026:17:47:07 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 913
127.0.0.1 - - [23/Feb/2026:17:47:13 +0800] "GET /travel-planning HTTP/1.1" 200 28229 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 25292
127.0.0.1 - - [23/Feb/2026:17:47:14 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/travel-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1824
127.0.0.1 - - [23/Feb/2026:17:47:14 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/travel-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 941
127.0.0.1 - - [23/Feb/2026:17:47:21 +0800] "GET /weekly-report HTTP/1.1" 200 26450 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 3226
127.0.0.1 - - [23/Feb/2026:17:47:21 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/weekly-report" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 5301
127.0.0.1 - - [23/Feb/2026:17:47:21 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/weekly-report" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 907
127.0.0.1 - - [23/Feb/2026:17:47:44 +0800] "GET /travel-planning HTTP/1.1" 200 28229 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 26807
127.0.0.1 - - [23/Feb/2026:17:47:44 +0800] "GET /static/js/interactions.js HTTP/1.1" 404 207 "http://localhost:5002/travel-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 1671
127.0.0.1 - - [23/Feb/2026:17:47:44 +0800] "GET /api/check-login HTTP/1.1" 200 92 "http://localhost:5002/travel-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 940
127.0.0.1 - - [23/Feb/2026:17:48:26 +0800] "POST /api/travel-planning/generate HTTP/1.1" 200 7876 "http://localhost:5002/travel-planning" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:147.0) Gecko/20100101 Firefox/147.0" 22271992

View File

@@ -8571,3 +8571,449 @@ OSError: [Errno 5] Input/output error
[2025-12-21 02:04:34 +0800] [14451] [INFO] 工作进程 14451 已启动
[2025-12-21 02:04:34 +0800] [14451] [INFO] 工作进程 14451 初始化完成
[2025-12-21 04:01:05 +0800] [3537] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-30 17:49:34 +0800] [13500] [INFO] Starting gunicorn 21.2.0
[2025-12-30 17:49:34 +0800] [13500] [INFO] Gunicorn服务器启动中...
[2025-12-30 17:49:34 +0800] [13500] [INFO] Listening at: http://0.0.0.0:5002 (13500)
[2025-12-30 17:49:34 +0800] [13500] [INFO] Using worker: sync
[2025-12-30 17:49:34 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2025-12-30 17:49:34 +0800] [13874] [INFO] Booting worker with pid: 13874
[2025-12-30 17:49:34 +0800] [13874] [INFO] 工作进程 13874 已启动
[2025-12-30 17:49:34 +0800] [13874] [INFO] 工作进程 13874 初始化完成
[2025-12-30 17:49:34 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2025-12-30 17:49:34 +0800] [13875] [INFO] Booting worker with pid: 13875
[2025-12-30 17:49:34 +0800] [13875] [INFO] 工作进程 13875 已启动
[2025-12-30 17:49:34 +0800] [13875] [INFO] 工作进程 13875 初始化完成
[2025-12-30 17:49:34 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2025-12-30 17:49:34 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2025-12-30 17:49:34 +0800] [13876] [INFO] Booting worker with pid: 13876
[2025-12-30 17:49:34 +0800] [13876] [INFO] 工作进程 13876 已启动
[2025-12-30 17:49:34 +0800] [13876] [INFO] 工作进程 13876 初始化完成
[2025-12-30 17:49:34 +0800] [13877] [INFO] Booting worker with pid: 13877
[2025-12-30 17:49:34 +0800] [13877] [INFO] 工作进程 13877 已启动
[2025-12-30 17:49:34 +0800] [13877] [INFO] 工作进程 13877 初始化完成
[2025-12-30 17:49:34 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2025-12-30 17:49:34 +0800] [13878] [INFO] Booting worker with pid: 13878
[2025-12-30 17:49:34 +0800] [13878] [INFO] 工作进程 13878 已启动
[2025-12-30 17:49:34 +0800] [13878] [INFO] 工作进程 13878 初始化完成
[2025-12-30 18:58:18 +0800] [13876] [WARNING] Invalid request from ip=185.11.61.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-30 18:58:21 +0800] [13876] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-30 19:01:57 +0800] [13878] [WARNING] Invalid request from ip=185.11.61.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-30 19:02:19 +0800] [13877] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 00:44:42 +0800] [13877] [WARNING] Invalid request from ip=185.11.61.215: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 00:50:34 +0800] [13875] [WARNING] Invalid request from ip=185.11.61.203: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 00:52:48 +0800] [13878] [WARNING] Invalid request from ip=185.11.61.205: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 00:53:21 +0800] [13878] [WARNING] Invalid request from ip=185.11.61.202: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 00:54:37 +0800] [13876] [WARNING] Invalid request from ip=185.11.61.206: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:00:31 +0800] [13877] [WARNING] Invalid request from ip=185.11.61.207: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:02:12 +0800] [13874] [WARNING] Invalid request from ip=185.11.61.250: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:07:12 +0800] [13877] [WARNING] Invalid request from ip=185.11.61.209: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:10:56 +0800] [13874] [WARNING] Invalid request from ip=185.11.61.211: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:14:39 +0800] [13875] [WARNING] Invalid request from ip=185.11.61.212: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:21:24 +0800] [13874] [WARNING] Invalid request from ip=185.11.61.201: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:22:17 +0800] [13878] [WARNING] Invalid request from ip=185.11.61.214: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:23:40 +0800] [13875] [WARNING] Invalid request from ip=185.11.61.213: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 01:27:13 +0800] [13875] [WARNING] Invalid request from ip=185.11.61.210: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2025-12-31 04:32:32 +0800] [13878] [WARNING] Invalid request from ip=3.130.96.91: Invalid HTTP request line: 'SSH-2.0-Go'
[2025-12-31 09:04:40 +0800] [13877] [WARNING] Invalid request from ip=194.165.16.166: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-01 04:33:47 +0800] [13877] [WARNING] Invalid request from ip=3.137.73.221: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-01 22:47:51 +0800] [13875] [WARNING] Invalid request from ip=185.39.19.20: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-01 23:22:24 +0800] [13876] [WARNING] Invalid request from ip=91.238.181.95: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-01 23:59:33 +0800] [13877] [WARNING] Invalid request from ip=185.39.19.20: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 01:14:01 +0800] [13878] [WARNING] Invalid request from ip=185.11.61.209: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 03:42:17 +0800] [13874] [WARNING] Invalid request from ip=3.130.96.91: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-02 04:54:59 +0800] [13878] [WARNING] Invalid request from ip=3.130.96.91: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-02 07:06:13 +0800] [13876] [WARNING] Invalid request from ip=185.11.61.205: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 07:20:47 +0800] [13875] [WARNING] Invalid request from ip=185.11.61.203: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 07:22:33 +0800] [13876] [WARNING] Invalid request from ip=185.11.61.250: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 07:52:59 +0800] [13875] [WARNING] Invalid request from ip=185.11.61.215: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 07:54:49 +0800] [13878] [WARNING] Invalid request from ip=185.11.61.206: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 08:14:37 +0800] [13875] [WARNING] Invalid request from ip=185.11.61.210: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 08:28:53 +0800] [13874] [WARNING] Invalid request from ip=185.11.61.207: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 09:39:51 +0800] [13874] [WARNING] Invalid request from ip=3.137.73.221: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-02 13:35:32 +0800] [13876] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-02 14:10:27 +0800] [13878] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-03 03:39:35 +0800] [13874] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-03 04:52:41 +0800] [13875] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-03 09:45:31 +0800] [13874] [WARNING] Invalid request from ip=3.130.96.91: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-03 13:34:36 +0800] [13876] [WARNING] Invalid request from ip=45.227.254.156: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-03 21:00:06 +0800] [13500] [CRITICAL] WORKER TIMEOUT (pid:13875)
[2026-01-03 21:00:06 +0800] [13875] [INFO] 工作进程 13875 异常退出
[2026-01-03 21:00:06 +0800] [13875] [INFO] Worker exiting (pid: 13875)
[2026-01-03 21:00:07 +0800] [13500] [ERROR] Worker (pid:13875) exited with code 1
[2026-01-03 21:00:07 +0800] [13500] [ERROR] Worker (pid:13875) exited with code 1.
[2026-01-03 21:00:07 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2026-01-03 21:00:07 +0800] [14694] [INFO] Booting worker with pid: 14694
[2026-01-03 21:00:07 +0800] [14694] [INFO] 工作进程 14694 已启动
[2026-01-03 21:00:07 +0800] [14694] [INFO] 工作进程 14694 初始化完成
[2026-01-04 00:30:33 +0800] [14694] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-04 03:57:36 +0800] [13876] [WARNING] Invalid request from ip=212.73.148.22: Invalid HTTP Version: 'RTSP/1.0'
[2026-01-04 11:51:38 +0800] [13876] [WARNING] Invalid request from ip=3.132.23.201: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-05 02:44:51 +0800] [13878] [WARNING] Invalid request from ip=194.165.16.166: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-05 11:51:38 +0800] [13500] [CRITICAL] WORKER TIMEOUT (pid:13877)
[2026-01-05 11:51:38 +0800] [13877] [INFO] 工作进程 13877 异常退出
[2026-01-05 11:51:38 +0800] [13877] [INFO] Worker exiting (pid: 13877)
[2026-01-05 11:51:39 +0800] [13500] [ERROR] Worker (pid:13877) exited with code 1
[2026-01-05 11:51:39 +0800] [13500] [ERROR] Worker (pid:13877) exited with code 1.
[2026-01-05 11:51:39 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2026-01-05 11:51:39 +0800] [12565] [INFO] Booting worker with pid: 12565
[2026-01-05 11:51:39 +0800] [12565] [INFO] 工作进程 12565 已启动
[2026-01-05 11:51:39 +0800] [12565] [INFO] 工作进程 12565 初始化完成
[2026-01-05 11:58:07 +0800] [12565] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-05 12:11:11 +0800] [13876] [WARNING] Invalid request from ip=3.137.73.221: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-05 15:45:10 +0800] [13878] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-05 21:53:20 +0800] [12565] [WARNING] Invalid request from ip=92.255.57.41: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-05 23:16:52 +0800] [13878] [WARNING] Invalid request from ip=92.255.57.41: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-05 23:51:50 +0800] [13876] [WARNING] Invalid request from ip=146.190.175.109: Invalid HTTP request line: 'SSH-2.0-OpenSSH'
[2026-01-06 02:58:04 +0800] [12565] [WARNING] Invalid request from ip=193.32.162.101: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-06 08:21:44 +0800] [13878] [WARNING] Invalid request from ip=185.11.61.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-06 08:24:59 +0800] [12565] [WARNING] Invalid request from ip=193.32.162.109: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-06 08:32:18 +0800] [14694] [WARNING] Invalid request from ip=185.11.61.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-06 09:19:29 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-06 10:54:40 +0800] [14694] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-06 10:58:43 +0800] [13876] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-06 11:47:13 +0800] [12565] [WARNING] Invalid request from ip=88.214.25.121: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-06 11:49:50 +0800] [13876] [WARNING] Invalid request from ip=194.165.16.161: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-06 19:39:53 +0800] [13878] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-06 20:54:12 +0800] [13876] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 00:58:30 +0800] [13876] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 01:52:32 +0800] [13878] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 03:11:50 +0800] [13876] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 08:12:08 +0800] [12565] [WARNING] Invalid request from ip=77.90.185.9: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 09:28:07 +0800] [13878] [WARNING] Invalid request from ip=77.90.185.9: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 09:32:08 +0800] [13878] [WARNING] Invalid request from ip=178.159.37.70: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 11:06:09 +0800] [14694] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 11:29:49 +0800] [13878] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 12:16:04 +0800] [13878] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 13:09:18 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 13:40:37 +0800] [13878] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-07 13:59:54 +0800] [13876] [WARNING] Invalid request from ip=3.149.59.26: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-07 23:42:46 +0800] [13876] [WARNING] Invalid request from ip=92.255.57.41: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-08 01:02:21 +0800] [13878] [WARNING] Invalid request from ip=92.255.57.41: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-08 02:40:04 +0800] [13878] [WARNING] Invalid request from ip=91.238.181.94: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-08 03:24:35 +0800] [13874] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-08 07:47:17 +0800] [14694] [WARNING] Invalid request from ip=185.11.61.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-08 08:34:34 +0800] [13876] [WARNING] Invalid request from ip=185.11.61.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-08 09:38:31 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.41: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-08 11:07:32 +0800] [13876] [WARNING] Invalid request from ip=92.255.57.41: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-08 14:49:28 +0800] [12565] [WARNING] Invalid request from ip=3.130.96.91: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-08 15:26:41 +0800] [13500] [CRITICAL] WORKER TIMEOUT (pid:13878)
[2026-01-08 15:26:41 +0800] [13878] [INFO] 工作进程 13878 异常退出
[2026-01-08 15:26:41 +0800] [13878] [INFO] Worker exiting (pid: 13878)
[2026-01-08 15:26:41 +0800] [13500] [ERROR] Worker (pid:13878) exited with code 1
[2026-01-08 15:26:41 +0800] [13500] [ERROR] Worker (pid:13878) exited with code 1.
[2026-01-08 15:26:41 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2026-01-08 15:26:41 +0800] [609] [INFO] Booting worker with pid: 609
[2026-01-08 15:26:41 +0800] [609] [INFO] 工作进程 609 已启动
[2026-01-08 15:26:41 +0800] [609] [INFO] 工作进程 609 初始化完成
[2026-01-09 03:59:08 +0800] [14694] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-09 04:25:06 +0800] [13500] [CRITICAL] WORKER TIMEOUT (pid:13874)
[2026-01-09 04:25:06 +0800] [13874] [INFO] 工作进程 13874 异常退出
[2026-01-09 04:25:06 +0800] [13874] [INFO] Worker exiting (pid: 13874)
[2026-01-09 04:25:06 +0800] [13500] [ERROR] Worker (pid:13874) exited with code 1
[2026-01-09 04:25:06 +0800] [13500] [ERROR] Worker (pid:13874) exited with code 1.
[2026-01-09 04:25:06 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2026-01-09 04:25:06 +0800] [16449] [INFO] Booting worker with pid: 16449
[2026-01-09 04:25:06 +0800] [16449] [INFO] 工作进程 16449 已启动
[2026-01-09 04:25:06 +0800] [16449] [INFO] 工作进程 16449 初始化完成
[2026-01-09 14:05:19 +0800] [609] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-09 14:20:43 +0800] [13500] [CRITICAL] WORKER TIMEOUT (pid:16449)
[2026-01-09 14:20:43 +0800] [16449] [INFO] 工作进程 16449 异常退出
[2026-01-09 14:20:43 +0800] [16449] [INFO] Worker exiting (pid: 16449)
[2026-01-09 14:20:44 +0800] [13500] [ERROR] Worker (pid:16449) exited with code 1
[2026-01-09 14:20:44 +0800] [13500] [ERROR] Worker (pid:16449) exited with code 1.
[2026-01-09 14:20:44 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2026-01-09 14:20:44 +0800] [25028] [INFO] Booting worker with pid: 25028
[2026-01-09 14:20:44 +0800] [25028] [INFO] 工作进程 25028 已启动
[2026-01-09 14:20:44 +0800] [25028] [INFO] 工作进程 25028 初始化完成
[2026-01-09 15:33:51 +0800] [12565] [WARNING] Invalid request from ip=3.134.148.59: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-09 16:05:00 +0800] [13876] [WARNING] Invalid request from ip=194.165.16.162: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-09 19:37:24 +0800] [14694] [WARNING] Invalid request from ip=185.39.19.20: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-10 03:06:00 +0800] [25028] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-10 07:21:51 +0800] [609] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-10 07:46:45 +0800] [25028] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-10 09:11:31 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-10 11:02:57 +0800] [13876] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-10 15:04:03 +0800] [609] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-10 18:15:52 +0800] [25028] [WARNING] Invalid request from ip=3.143.33.63: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-11 00:15:04 +0800] [12565] [WARNING] Invalid request from ip=37.60.241.154: Invalid HTTP request line: 'SSH-2.0-OpenSSH'
[2026-01-11 05:57:46 +0800] [14694] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-11 07:44:03 +0800] [609] [WARNING] Invalid request from ip=91.238.181.92: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-12 04:04:56 +0800] [14694] [WARNING] Invalid request from ip=146.190.175.109: Invalid HTTP request line: 'SSH-2.0-OpenSSH'
[2026-01-12 09:21:29 +0800] [14694] [WARNING] Invalid request from ip=143.198.117.155: Invalid HTTP request line: ''
[2026-01-12 11:58:47 +0800] [609] [WARNING] Invalid request from ip=64.227.136.93: Invalid HTTP request line: ''
[2026-01-12 11:58:48 +0800] [609] [WARNING] Invalid request from ip=64.227.136.93: Invalid HTTP request line: ''
[2026-01-12 14:05:45 +0800] [25028] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-12 18:28:30 +0800] [25028] [WARNING] Invalid request from ip=3.143.33.63: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-12 21:41:05 +0800] [14694] [WARNING] Invalid request from ip=91.238.181.95: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-13 02:37:59 +0800] [25028] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-13 09:53:40 +0800] [13500] [CRITICAL] WORKER TIMEOUT (pid:12565)
[2026-01-13 09:53:40 +0800] [12565] [INFO] 工作进程 12565 异常退出
[2026-01-13 09:53:40 +0800] [12565] [INFO] Worker exiting (pid: 12565)
[2026-01-13 09:53:40 +0800] [13500] [ERROR] Worker (pid:12565) exited with code 1
[2026-01-13 09:53:40 +0800] [13500] [ERROR] Worker (pid:12565) exited with code 1.
[2026-01-13 09:53:40 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2026-01-13 09:53:40 +0800] [16439] [INFO] Booting worker with pid: 16439
[2026-01-13 09:53:40 +0800] [16439] [INFO] 工作进程 16439 已启动
[2026-01-13 09:53:40 +0800] [16439] [INFO] 工作进程 16439 初始化完成
[2026-01-13 13:48:03 +0800] [13876] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-13 18:43:00 +0800] [13876] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-14 02:51:16 +0800] [25028] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-14 03:53:47 +0800] [609] [WARNING] Invalid request from ip=2.57.122.104: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-14 09:39:50 +0800] [25028] [WARNING] Invalid request from ip=88.210.63.16: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-14 15:49:15 +0800] [13876] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-14 19:15:53 +0800] [609] [WARNING] Invalid request from ip=3.130.96.91: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-14 19:38:19 +0800] [16439] [WARNING] Invalid request from ip=185.11.61.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-15 02:07:24 +0800] [16439] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-15 06:47:57 +0800] [25028] [WARNING] Invalid request from ip=185.39.19.20: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-15 07:55:32 +0800] [25028] [WARNING] Invalid request from ip=185.39.19.20: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-15 08:36:02 +0800] [13876] [WARNING] Invalid request from ip=178.159.37.70: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-15 12:49:12 +0800] [25028] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-16 04:10:10 +0800] [13876] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-16 12:22:08 +0800] [25028] [WARNING] Invalid request from ip=88.214.25.124: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-16 21:59:02 +0800] [16439] [WARNING] Invalid request from ip=193.32.162.109: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-17 01:44:24 +0800] [13876] [WARNING] Invalid request from ip=193.32.162.101: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-17 05:16:05 +0800] [25028] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-17 13:08:15 +0800] [609] [WARNING] Invalid request from ip=79.124.59.86: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-18 00:16:09 +0800] [609] [WARNING] Invalid request from ip=194.165.16.162: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-18 11:08:55 +0800] [609] [WARNING] Invalid request from ip=3.130.96.91: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-18 16:06:03 +0800] [13876] [WARNING] Invalid request from ip=185.39.19.20: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-18 17:16:04 +0800] [25028] [WARNING] Invalid request from ip=185.39.19.20: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-19 09:58:53 +0800] [25028] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-19 11:06:52 +0800] [16439] [WARNING] Invalid request from ip=185.11.61.166: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-19 13:05:36 +0800] [13876] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-19 14:06:38 +0800] [25028] [WARNING] Invalid request from ip=185.11.61.166: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-19 19:26:32 +0800] [609] [WARNING] Invalid request from ip=194.165.16.165: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-20 08:42:44 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-20 11:04:23 +0800] [13876] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-20 12:12:30 +0800] [609] [WARNING] Invalid request from ip=3.149.59.26: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-20 12:41:15 +0800] [13876] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-20 13:40:09 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-21 05:10:41 +0800] [16439] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-21 07:02:17 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-21 12:55:04 +0800] [13876] [WARNING] Invalid request from ip=3.143.33.63: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-21 16:56:04 +0800] [609] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-21 18:41:15 +0800] [16439] [WARNING] Invalid request from ip=92.255.57.40: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-22 02:12:54 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-22 03:41:32 +0800] [14694] [WARNING] Invalid request from ip=92.255.57.42: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-22 04:01:48 +0800] [14694] [WARNING] Invalid request from ip=194.165.16.167: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-22 14:18:37 +0800] [13876] [WARNING] Invalid request from ip=3.134.148.59: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-01-23 04:00:14 +0800] [14694] [WARNING] Invalid request from ip=178.159.37.112: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-23 12:52:17 +0800] [25028] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-23 12:52:17 +0800] [16439] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-23 12:52:19 +0800] [14694] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-23 13:20:33 +0800] [13500] [CRITICAL] WORKER TIMEOUT (pid:16439)
[2026-01-23 13:20:33 +0800] [16439] [INFO] 工作进程 16439 异常退出
[2026-01-23 13:20:33 +0800] [16439] [INFO] Worker exiting (pid: 16439)
[2026-01-23 13:20:34 +0800] [13500] [ERROR] Worker (pid:16439) exited with code 1
[2026-01-23 13:20:34 +0800] [13500] [ERROR] Worker (pid:16439) exited with code 1.
[2026-01-23 13:20:34 +0800] [13500] [INFO] 工作进程 [booting] 即将启动
[2026-01-23 13:20:34 +0800] [6699] [INFO] Booting worker with pid: 6699
[2026-01-23 13:20:34 +0800] [6699] [INFO] 工作进程 6699 已启动
[2026-01-23 13:20:34 +0800] [6699] [INFO] 工作进程 6699 初始化完成
[2026-01-23 13:54:32 +0800] [14694] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-23 13:54:32 +0800] [609] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-23 13:54:33 +0800] [609] [WARNING] Invalid request from ip=185.11.61.44: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-01-23 16:48:19 +0800] [609] [WARNING] Invalid request from ip=3.137.73.221: Invalid HTTP request line: 'SSH-2.0-Go'
[2026-02-20 09:32:51 +0800] [28741] [INFO] Starting gunicorn 21.2.0
[2026-02-20 09:32:51 +0800] [28741] [INFO] Gunicorn服务器启动中...
[2026-02-20 09:32:51 +0800] [28741] [INFO] Listening at: http://0.0.0.0:5002 (28741)
[2026-02-20 09:32:51 +0800] [28741] [INFO] Using worker: sync
[2026-02-20 09:32:51 +0800] [28741] [INFO] 工作进程 [booting] 即将启动
[2026-02-20 09:32:51 +0800] [29223] [INFO] Booting worker with pid: 29223
[2026-02-20 09:32:51 +0800] [29223] [INFO] 工作进程 29223 已启动
[2026-02-20 09:32:51 +0800] [29223] [INFO] 工作进程 29223 初始化完成
[2026-02-20 09:32:51 +0800] [28741] [INFO] 工作进程 [booting] 即将启动
[2026-02-20 09:32:51 +0800] [29224] [INFO] Booting worker with pid: 29224
[2026-02-20 09:32:51 +0800] [29224] [INFO] 工作进程 29224 已启动
[2026-02-20 09:32:51 +0800] [29224] [INFO] 工作进程 29224 初始化完成
[2026-02-20 09:32:51 +0800] [28741] [INFO] 工作进程 [booting] 即将启动
[2026-02-20 09:32:51 +0800] [29225] [INFO] Booting worker with pid: 29225
[2026-02-20 09:32:51 +0800] [29225] [INFO] 工作进程 29225 已启动
[2026-02-20 09:32:51 +0800] [29225] [INFO] 工作进程 29225 初始化完成
[2026-02-20 09:32:51 +0800] [28741] [INFO] 工作进程 [booting] 即将启动
[2026-02-20 09:32:51 +0800] [29226] [INFO] Booting worker with pid: 29226
[2026-02-20 09:32:51 +0800] [29226] [INFO] 工作进程 29226 已启动
[2026-02-20 09:32:51 +0800] [29226] [INFO] 工作进程 29226 初始化完成
[2026-02-20 09:32:51 +0800] [28741] [INFO] 工作进程 [booting] 即将启动
[2026-02-20 09:32:51 +0800] [29227] [INFO] Booting worker with pid: 29227
[2026-02-20 09:32:51 +0800] [29227] [INFO] 工作进程 29227 已启动
[2026-02-20 09:32:51 +0800] [29227] [INFO] 工作进程 29227 初始化完成
[2026-02-20 12:46:57 +0800] [29223] [INFO] Worker exiting (pid: 29223)
[2026-02-20 12:46:57 +0800] [28741] [INFO] Handling signal: term
[2026-02-20 12:46:57 +0800] [29224] [INFO] Worker exiting (pid: 29224)
[2026-02-20 12:46:57 +0800] [29227] [INFO] Worker exiting (pid: 29227)
[2026-02-20 12:46:57 +0800] [29225] [INFO] Worker exiting (pid: 29225)
[2026-02-20 12:46:57 +0800] [29226] [INFO] Worker exiting (pid: 29226)
[2026-02-20 12:46:57 +0800] [28741] [ERROR] Worker (pid:29223) was sent SIGTERM!
[2026-02-20 12:46:58 +0800] [28741] [INFO] Shutting down: Master
[2026-02-23 12:23:21 +0800] [13260] [INFO] Starting gunicorn 21.2.0
[2026-02-23 12:23:21 +0800] [13260] [INFO] Gunicorn服务器启动中...
[2026-02-23 12:23:21 +0800] [13260] [INFO] Listening at: http://0.0.0.0:5002 (13260)
[2026-02-23 12:23:21 +0800] [13260] [INFO] Using worker: sync
[2026-02-23 12:23:21 +0800] [13260] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 12:23:21 +0800] [13556] [INFO] Booting worker with pid: 13556
[2026-02-23 12:23:21 +0800] [13556] [INFO] 工作进程 13556 已启动
[2026-02-23 12:23:21 +0800] [13556] [INFO] 工作进程 13556 初始化完成
[2026-02-23 12:23:21 +0800] [13260] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 12:23:21 +0800] [13557] [INFO] Booting worker with pid: 13557
[2026-02-23 12:23:21 +0800] [13557] [INFO] 工作进程 13557 已启动
[2026-02-23 12:23:21 +0800] [13557] [INFO] 工作进程 13557 初始化完成
[2026-02-23 12:23:21 +0800] [13260] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 12:23:21 +0800] [13558] [INFO] Booting worker with pid: 13558
[2026-02-23 12:23:21 +0800] [13558] [INFO] 工作进程 13558 已启动
[2026-02-23 12:23:21 +0800] [13558] [INFO] 工作进程 13558 初始化完成
[2026-02-23 12:23:21 +0800] [13260] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 12:23:21 +0800] [13559] [INFO] Booting worker with pid: 13559
[2026-02-23 12:23:21 +0800] [13559] [INFO] 工作进程 13559 已启动
[2026-02-23 12:23:21 +0800] [13559] [INFO] 工作进程 13559 初始化完成
[2026-02-23 12:23:21 +0800] [13260] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 12:23:21 +0800] [13564] [INFO] Booting worker with pid: 13564
[2026-02-23 12:23:21 +0800] [13564] [INFO] 工作进程 13564 已启动
[2026-02-23 12:23:21 +0800] [13564] [INFO] 工作进程 13564 初始化完成
[2026-02-23 13:15:24 +0800] [13260] [CRITICAL] WORKER TIMEOUT (pid:13558)
[2026-02-23 13:15:24 +0800] [13558] [INFO] 工作进程 13558 异常退出
[2026-02-23 13:15:24 +0800] [13558] [INFO] Worker exiting (pid: 13558)
[2026-02-23 13:15:25 +0800] [13260] [ERROR] Worker (pid:13558) exited with code 1
[2026-02-23 13:15:25 +0800] [13260] [ERROR] Worker (pid:13558) exited with code 1.
[2026-02-23 13:15:25 +0800] [13260] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 13:15:25 +0800] [29468] [INFO] Booting worker with pid: 29468
[2026-02-23 13:15:25 +0800] [29468] [INFO] 工作进程 29468 已启动
[2026-02-23 13:15:25 +0800] [29468] [INFO] 工作进程 29468 初始化完成
[2026-02-23 14:58:43 +0800] [13564] [INFO] Worker exiting (pid: 13564)
[2026-02-23 14:58:43 +0800] [13260] [INFO] Handling signal: term
[2026-02-23 14:58:43 +0800] [13557] [INFO] Worker exiting (pid: 13557)
[2026-02-23 14:58:43 +0800] [13556] [INFO] Worker exiting (pid: 13556)
[2026-02-23 14:58:43 +0800] [13559] [INFO] Worker exiting (pid: 13559)
[2026-02-23 14:58:43 +0800] [29468] [INFO] Worker exiting (pid: 29468)
[2026-02-23 14:58:44 +0800] [13260] [ERROR] Worker (pid:13557) was sent SIGTERM!
[2026-02-23 14:58:44 +0800] [13260] [ERROR] Worker (pid:13564) was sent SIGTERM!
[2026-02-23 14:58:44 +0800] [13260] [INFO] Shutting down: Master
[2026-02-23 14:59:28 +0800] [26526] [INFO] Starting gunicorn 21.2.0
[2026-02-23 14:59:28 +0800] [26526] [INFO] Gunicorn服务器启动中...
[2026-02-23 14:59:28 +0800] [26526] [INFO] Listening at: http://0.0.0.0:5002 (26526)
[2026-02-23 14:59:28 +0800] [26526] [INFO] Using worker: sync
[2026-02-23 14:59:28 +0800] [26526] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 14:59:28 +0800] [26653] [INFO] Booting worker with pid: 26653
[2026-02-23 14:59:28 +0800] [26653] [INFO] 工作进程 26653 已启动
[2026-02-23 14:59:28 +0800] [26653] [INFO] 工作进程 26653 初始化完成
[2026-02-23 14:59:28 +0800] [26526] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 14:59:28 +0800] [26654] [INFO] Booting worker with pid: 26654
[2026-02-23 14:59:28 +0800] [26654] [INFO] 工作进程 26654 已启动
[2026-02-23 14:59:29 +0800] [26654] [INFO] 工作进程 26654 初始化完成
[2026-02-23 14:59:29 +0800] [26526] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 14:59:29 +0800] [26670] [INFO] Booting worker with pid: 26670
[2026-02-23 14:59:29 +0800] [26670] [INFO] 工作进程 26670 已启动
[2026-02-23 14:59:29 +0800] [26670] [INFO] 工作进程 26670 初始化完成
[2026-02-23 14:59:29 +0800] [26526] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 14:59:29 +0800] [26672] [INFO] Booting worker with pid: 26672
[2026-02-23 14:59:29 +0800] [26672] [INFO] 工作进程 26672 已启动
[2026-02-23 14:59:29 +0800] [26672] [INFO] 工作进程 26672 初始化完成
[2026-02-23 14:59:29 +0800] [26526] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 14:59:29 +0800] [26673] [INFO] Booting worker with pid: 26673
[2026-02-23 14:59:29 +0800] [26673] [INFO] 工作进程 26673 已启动
[2026-02-23 14:59:29 +0800] [26673] [INFO] 工作进程 26673 初始化完成
[2026-02-23 15:11:07 +0800] [26672] [INFO] Worker exiting (pid: 26672)
[2026-02-23 15:11:07 +0800] [26670] [INFO] Worker exiting (pid: 26670)
[2026-02-23 15:11:07 +0800] [26654] [INFO] Worker exiting (pid: 26654)
[2026-02-23 15:11:07 +0800] [26673] [INFO] Worker exiting (pid: 26673)
[2026-02-23 15:11:07 +0800] [26653] [INFO] Worker exiting (pid: 26653)
[2026-02-23 15:11:07 +0800] [26526] [INFO] Handling signal: term
[2026-02-23 15:11:07 +0800] [26526] [ERROR] Worker (pid:26653) was sent SIGTERM!
[2026-02-23 15:11:07 +0800] [26526] [ERROR] Worker (pid:26672) was sent SIGTERM!
[2026-02-23 15:11:07 +0800] [26526] [ERROR] Worker (pid:26673) was sent SIGTERM!
[2026-02-23 15:11:07 +0800] [26526] [ERROR] Worker (pid:26654) was sent SIGTERM!
[2026-02-23 15:11:07 +0800] [26526] [ERROR] Worker (pid:26670) was sent SIGTERM!
[2026-02-23 15:11:07 +0800] [26526] [INFO] Shutting down: Master
[2026-02-23 15:11:39 +0800] [24824] [INFO] Starting gunicorn 21.2.0
[2026-02-23 15:11:39 +0800] [24824] [INFO] Gunicorn服务器启动中...
[2026-02-23 15:11:39 +0800] [24824] [INFO] Listening at: http://0.0.0.0:5002 (24824)
[2026-02-23 15:11:39 +0800] [24824] [INFO] Using worker: sync
[2026-02-23 15:11:39 +0800] [24824] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 15:11:39 +0800] [25103] [INFO] Booting worker with pid: 25103
[2026-02-23 15:11:39 +0800] [25103] [INFO] 工作进程 25103 已启动
[2026-02-23 15:11:39 +0800] [25103] [INFO] 工作进程 25103 初始化完成
[2026-02-23 15:11:39 +0800] [24824] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 15:11:39 +0800] [25104] [INFO] Booting worker with pid: 25104
[2026-02-23 15:11:39 +0800] [25104] [INFO] 工作进程 25104 已启动
[2026-02-23 15:11:39 +0800] [25104] [INFO] 工作进程 25104 初始化完成
[2026-02-23 15:11:39 +0800] [24824] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 15:11:39 +0800] [25105] [INFO] Booting worker with pid: 25105
[2026-02-23 15:11:39 +0800] [25105] [INFO] 工作进程 25105 已启动
[2026-02-23 15:11:39 +0800] [25105] [INFO] 工作进程 25105 初始化完成
[2026-02-23 15:11:39 +0800] [24824] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 15:11:39 +0800] [25106] [INFO] Booting worker with pid: 25106
[2026-02-23 15:11:39 +0800] [25106] [INFO] 工作进程 25106 已启动
[2026-02-23 15:11:39 +0800] [25106] [INFO] 工作进程 25106 初始化完成
[2026-02-23 15:11:39 +0800] [24824] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 15:11:39 +0800] [25107] [INFO] Booting worker with pid: 25107
[2026-02-23 15:11:39 +0800] [25107] [INFO] 工作进程 25107 已启动
[2026-02-23 15:11:39 +0800] [25107] [INFO] 工作进程 25107 初始化完成
[2026-02-23 15:28:53 +0800] [25104] [WARNING] Invalid request from ip=47.92.238.253: Invalid HTTP request line: ''
[2026-02-23 16:33:16 +0800] [25104] [WARNING] Invalid request from ip=194.165.16.166: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr'
[2026-02-23 17:38:13 +0800] [25103] [INFO] Worker exiting (pid: 25103)
[2026-02-23 17:38:13 +0800] [24824] [INFO] Handling signal: term
[2026-02-23 17:38:13 +0800] [25107] [INFO] Worker exiting (pid: 25107)
[2026-02-23 17:38:13 +0800] [25104] [INFO] Worker exiting (pid: 25104)
[2026-02-23 17:38:13 +0800] [25105] [INFO] Worker exiting (pid: 25105)
[2026-02-23 17:38:13 +0800] [24824] [ERROR] Worker (pid:25103) was sent SIGTERM!
[2026-02-23 17:38:20 +0800] [25106] [INFO] Worker exiting (pid: 25106)
[2026-02-23 17:38:21 +0800] [24824] [INFO] Shutting down: Master
[2026-02-23 17:39:44 +0800] [17264] [INFO] Starting gunicorn 21.2.0
[2026-02-23 17:39:44 +0800] [17264] [INFO] Gunicorn服务器启动中...
[2026-02-23 17:39:44 +0800] [17264] [INFO] Listening at: http://0.0.0.0:5002 (17264)
[2026-02-23 17:39:44 +0800] [17264] [INFO] Using worker: sync
[2026-02-23 17:39:44 +0800] [17264] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:39:44 +0800] [17365] [INFO] Booting worker with pid: 17365
[2026-02-23 17:39:44 +0800] [17365] [INFO] 工作进程 17365 已启动
[2026-02-23 17:39:44 +0800] [17365] [INFO] 工作进程 17365 初始化完成
[2026-02-23 17:39:44 +0800] [17264] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:39:44 +0800] [17366] [INFO] Booting worker with pid: 17366
[2026-02-23 17:39:44 +0800] [17366] [INFO] 工作进程 17366 已启动
[2026-02-23 17:39:44 +0800] [17366] [INFO] 工作进程 17366 初始化完成
[2026-02-23 17:39:45 +0800] [17264] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:39:45 +0800] [17376] [INFO] Booting worker with pid: 17376
[2026-02-23 17:39:45 +0800] [17376] [INFO] 工作进程 17376 已启动
[2026-02-23 17:39:45 +0800] [17376] [INFO] 工作进程 17376 初始化完成
[2026-02-23 17:39:45 +0800] [17264] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:39:45 +0800] [17395] [INFO] Booting worker with pid: 17395
[2026-02-23 17:39:45 +0800] [17395] [INFO] 工作进程 17395 已启动
[2026-02-23 17:39:45 +0800] [17395] [INFO] 工作进程 17395 初始化完成
[2026-02-23 17:39:45 +0800] [17264] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:39:45 +0800] [17402] [INFO] Booting worker with pid: 17402
[2026-02-23 17:39:45 +0800] [17402] [INFO] 工作进程 17402 已启动
[2026-02-23 17:39:45 +0800] [17402] [INFO] 工作进程 17402 初始化完成
[2026-02-23 17:41:12 +0800] [17376] [INFO] Worker exiting (pid: 17376)
[2026-02-23 17:41:12 +0800] [17395] [INFO] Worker exiting (pid: 17395)
[2026-02-23 17:41:12 +0800] [17365] [INFO] Worker exiting (pid: 17365)
[2026-02-23 17:41:12 +0800] [17264] [INFO] Handling signal: term
[2026-02-23 17:41:12 +0800] [17366] [INFO] Worker exiting (pid: 17366)
[2026-02-23 17:41:12 +0800] [17402] [INFO] Worker exiting (pid: 17402)
[2026-02-23 17:41:12 +0800] [17264] [ERROR] Worker (pid:17376) was sent SIGTERM!
[2026-02-23 17:41:12 +0800] [17264] [ERROR] Worker (pid:17395) was sent SIGTERM!
[2026-02-23 17:41:12 +0800] [17264] [ERROR] Worker (pid:17366) was sent SIGTERM!
[2026-02-23 17:41:12 +0800] [17264] [ERROR] Worker (pid:17365) was sent SIGTERM!
[2026-02-23 17:41:12 +0800] [17264] [INFO] Shutting down: Master
[2026-02-23 17:43:34 +0800] [26873] [INFO] Starting gunicorn 21.2.0
[2026-02-23 17:43:34 +0800] [26873] [INFO] Gunicorn服务器启动中...
[2026-02-23 17:43:34 +0800] [26873] [INFO] Listening at: http://0.0.0.0:5002 (26873)
[2026-02-23 17:43:34 +0800] [26873] [INFO] Using worker: sync
[2026-02-23 17:43:34 +0800] [26873] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:43:34 +0800] [27022] [INFO] Booting worker with pid: 27022
[2026-02-23 17:43:34 +0800] [27022] [INFO] 工作进程 27022 已启动
[2026-02-23 17:43:34 +0800] [27022] [INFO] 工作进程 27022 初始化完成
[2026-02-23 17:43:34 +0800] [26873] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:43:34 +0800] [27023] [INFO] Booting worker with pid: 27023
[2026-02-23 17:43:34 +0800] [27023] [INFO] 工作进程 27023 已启动
[2026-02-23 17:43:34 +0800] [27023] [INFO] 工作进程 27023 初始化完成
[2026-02-23 17:43:34 +0800] [26873] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:43:34 +0800] [27024] [INFO] Booting worker with pid: 27024
[2026-02-23 17:43:34 +0800] [27024] [INFO] 工作进程 27024 已启动
[2026-02-23 17:43:34 +0800] [27024] [INFO] 工作进程 27024 初始化完成
[2026-02-23 17:43:34 +0800] [26873] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:43:34 +0800] [27025] [INFO] Booting worker with pid: 27025
[2026-02-23 17:43:34 +0800] [27025] [INFO] 工作进程 27025 已启动
[2026-02-23 17:43:34 +0800] [27025] [INFO] 工作进程 27025 初始化完成
[2026-02-23 17:43:34 +0800] [26873] [INFO] 工作进程 [booting] 即将启动
[2026-02-23 17:43:34 +0800] [27026] [INFO] Booting worker with pid: 27026
[2026-02-23 17:43:34 +0800] [27026] [INFO] 工作进程 27026 已启动
[2026-02-23 17:43:34 +0800] [27026] [INFO] 工作进程 27026 初始化完成

View File

@@ -64,6 +64,13 @@ def create_app(config_class=None):
from src.flask_prompt_master.routes.history_routes import history_bp
app.register_blueprint(history_bp)
# 注册智能周报生成蓝图
from src.flask_prompt_master.routes.weekly_report import weekly_report_bp
app.register_blueprint(weekly_report_bp)
# 注册旅行攻略规划蓝图
from src.flask_prompt_master.routes.travel_planning import travel_planning_bp
app.register_blueprint(travel_planning_bp)
# 初始化后台管理
from src.flask_prompt_master.admin import init_admin

View File

@@ -21,6 +21,19 @@ client = OpenAI(
base_url='https://api.deepseek.com/v1'
)
def _get_meal_plan_user_id():
"""统一获取当前用户ID已登录用 session未登录用默认用户保证保存与列表/详情/删除使用同一身份。"""
user_id = session.get('user_id')
if user_id is not None:
return user_id
try:
default_user = User.query.filter_by(login_name='admin').first()
return default_user.uid if default_user else 1
except Exception as e:
logger.warning(f"获取默认用户失败: {e}")
return 1
def generate_meal_plan(region_type, diner_count, meal_type, hometown, preferences, dietary_restrictions, budget):
"""
使用AI模型生成饭菜规划
@@ -40,29 +53,31 @@ def generate_meal_plan(region_type, diner_count, meal_type, hometown, preference
try:
logger.info("开始生成饭菜规划")
# 构建系统提示词(参考新代码结构
# 构建系统提示词(输出结构化格式,便于历史页查阅
system_prompt = f"""你是一位专业的{region_type}智能饭菜清单规划师和营养搭配专家。
背景信息:需要制定科学的饭菜清单方案,包括根据家乡风俗习惯推荐、个人喜好匹配、就餐人数适配、详细做法说明等全方位用餐指导。
请按以下**固定结构**输出 Markdown便于用户查阅
约束条件:
- 确保营养均衡
- 符合个人喜好
- 控制预算成本
- 考虑饮食禁忌
- 体现家乡特色
**一、菜品推荐与搭配思路**
用一段话说明本餐的搭配思路(结合家乡风味、人数、预算等)。
输出格式markdown格式包含菜品名称、食材清单、制作步骤、营养信息、预算估算等详细信息。"""
**二、推荐菜品详情**
每道菜单独成块,格式如下:
- 用 **加粗标题** 写菜品名(如:**1. 肉夹馍(经典主食)**
- **菜品特色**:一句话或要点
- **食材清单**:列表写出食材与用量、预估价格(如:五花肉 300g (18元)
- **制作步骤**:编号步骤
- **营养信息**:简要说明
- **预算估算**单道菜金额29元
**三、总预算与营养总结**
- **总预算**:总金额与简要说明
- **碳水化合物/蛋白质/维生素与纤维/脂肪**:各一句话
- **过敏信息**:如有需提示
约束:营养均衡、符合个人喜好与禁忌、控制预算、体现家乡特色。"""
# 构建用户提示词(简化版本,避免超时)
user_prompt = f"""{diner_count}人制定{meal_type}饭菜清单,家乡{hometown},喜好{preferences},禁忌{dietary_restrictions},预算{budget}元。
请提供:
1. 2道推荐菜品
2. 主要食材
3. 简要步骤
要求:营养均衡,符合预算。"""
user_prompt = f"""{diner_count}人制定{meal_type}饭菜清单。家乡:{hometown}。喜好:{preferences}。禁忌:{dietary_restrictions}。预算:{budget}元。请按「一、二、三」结构输出,每道菜包含菜品特色、食材清单、制作步骤、营养信息、预算估算。"""
# 构建消息
messages = [
@@ -77,7 +92,7 @@ def generate_meal_plan(region_type, diner_count, meal_type, hometown, preference
model="deepseek-chat",
messages=messages,
temperature=0.7,
max_tokens=800, # 适中的token数量
max_tokens=1000, # 适中的token数量
timeout=30 # 适中的超时时间
)
@@ -183,17 +198,8 @@ def save_meal_plan():
'message': '饭菜规划内容不能为空'
})
# 获取用户ID从session或默认用户
user_id = session.get('user_id')
if not user_id:
# 如果没有登录用户使用默认用户ID
try:
default_user = User.query.filter_by(login_name='admin').first()
user_id = default_user.uid if default_user else 1
except Exception as e:
logger.warning(f"获取默认用户失败: {e}")
user_id = 1
user_id = _get_meal_plan_user_id()
# 创建饭菜规划记录
meal_plan = MealPlan(
user_id=user_id,
@@ -234,17 +240,8 @@ def save_meal_plan():
def get_meal_plans():
"""获取用户的饭菜规划列表"""
try:
# 获取用户ID
user_id = session.get('user_id')
if not user_id:
# 如果没有登录用户使用默认用户ID
try:
default_user = User.query.filter_by(login_name='admin').first()
user_id = default_user.uid if default_user else 1
except Exception as e:
logger.warning(f"获取默认用户失败: {e}")
user_id = 1
user_id = _get_meal_plan_user_id()
# 获取分页参数
page = request.args.get('page', 1, type=int)
per_page = request.args.get('per_page', 10, type=int)
@@ -296,16 +293,8 @@ def get_meal_plans():
def get_meal_plan_detail(plan_id):
"""获取饭菜规划详情"""
try:
# 获取用户ID
user_id = session.get('user_id')
if not user_id:
try:
default_user = User.query.filter_by(login_name='admin').first()
user_id = default_user.uid if default_user else 1
except Exception as e:
logger.warning(f"获取默认用户失败: {e}")
user_id = 1
user_id = _get_meal_plan_user_id()
# 查询饭菜规划
meal_plan = MealPlan.query.filter_by(id=plan_id, user_id=user_id).first()
@@ -343,16 +332,8 @@ def get_meal_plan_detail(plan_id):
def delete_meal_plan(plan_id):
"""删除饭菜规划"""
try:
# 获取用户ID
user_id = session.get('user_id')
if not user_id:
try:
default_user = User.query.filter_by(login_name='admin').first()
user_id = default_user.uid if default_user else 1
except Exception as e:
logger.warning(f"获取默认用户失败: {e}")
user_id = 1
user_id = _get_meal_plan_user_id()
# 查询饭菜规划
meal_plan = MealPlan.query.filter_by(id=plan_id, user_id=user_id).first()

View File

@@ -0,0 +1,78 @@
# -*- coding: utf-8 -*-
"""
旅行攻略规划功能路由
"""
from flask import Blueprint, render_template, request, jsonify
from openai import OpenAI
import logging
import os
logger = logging.getLogger(__name__)
travel_planning_bp = Blueprint('travel_planning', __name__)
client = OpenAI(
api_key=os.environ.get('LLM_API_KEY') or 'sk-fdf7cc1c73504e628ec0119b7e11b8cc',
base_url=os.environ.get('LLM_API_URL') or 'https://api.deepseek.com/v1'
)
def _generate_travel_plan(destination: str, days: str, people: str, preferences: str, budget: str) -> str:
"""调用 LLM 生成旅行攻略。"""
system_prompt = """你是一位专业的旅行规划师,擅长根据目的地、天数和偏好生成实用、可执行的旅行攻略。
请按以下 **Markdown 结构** 输出,便于用户查阅:
**一、行程概览**
用一段话概括本次行程(目的地、天数、主题或风格)。
**二、每日行程**
按天组织,每天包含:
- **第 X 天**:上午 / 下午 / 晚上 分别推荐景点或活动,并注明交通与注意事项。
- 每项可附带简要说明、建议时长、门票或费用提示。
**三、实用信息**
- **交通**:往返及当地交通建议
- **住宿**:区域或类型建议
- **美食**:当地特色或推荐
- **预算参考**:大致区间与节省建议
- **注意事项**:天气、证件、安全等
要求:内容具体可执行、符合预算与偏好、兼顾经典与体验。"""
user_prompt = f"""目的地:{destination}。出行天数:{days}。人数:{people}。偏好或备注:{preferences}。预算:{budget}。请生成一份旅行攻略。"""
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}
]
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
temperature=0.6,
max_tokens=2000,
timeout=50
)
return response.choices[0].message.content
@travel_planning_bp.route('/travel-planning', methods=['GET'])
def travel_page():
"""旅行攻略规划页面"""
return render_template('travel_planning.html')
@travel_planning_bp.route('/api/travel-planning/generate', methods=['POST'])
def generate_travel_api():
"""生成旅行攻略 API"""
try:
data = request.get_json() or {}
destination = (data.get('destination') or '').strip()
if not destination:
return jsonify({'success': False, 'message': '请填写目的地'})
days = data.get('days', '3')
people = data.get('people', '2')
preferences = (data.get('preferences') or '').strip()
budget = (data.get('budget') or '中等').strip()
result = _generate_travel_plan(destination, days, people, preferences, budget)
return jsonify({'success': True, 'data': {'plan': result}})
except Exception as e:
logger.exception('旅行攻略生成失败')
return jsonify({'success': False, 'message': str(e) or '生成失败,请重试'})

View File

@@ -0,0 +1,63 @@
# -*- coding: utf-8 -*-
"""
智能周报/日报生成功能路由
"""
from flask import Blueprint, render_template, request, jsonify
from openai import OpenAI
import logging
import os
logger = logging.getLogger(__name__)
weekly_report_bp = Blueprint('weekly_report', __name__)
client = OpenAI(
api_key=os.environ.get('LLM_API_KEY') or 'sk-fdf7cc1c73504e628ec0119b7e11b8cc',
base_url=os.environ.get('LLM_API_URL') or 'https://api.deepseek.com/v1'
)
def _generate_report(report_type: str, content: str) -> str:
"""调用 LLM 生成周报/日报。"""
type_name = "周报" if report_type == "weekly" else "日报"
system_prompt = f"""你是一位专业的职场写作助手,擅长将零散的工作要点整理成规范、简洁的{type_name}
要求:
1. 根据用户输入的工作要点或流水记录,归纳成结构清晰的{type_name}
2. 使用 Markdown 格式:一级标题为「一、本周/今日工作完成情况」等,二级标题区分模块,列表项简明扼要。
3. 可适当补充「二、下周/明日计划」「三、问题与风险」等小节(若用户未提供则简要生成)。
4. 语气正式、条理清楚,便于直接复制到飞书/钉钉/邮件。"""
user_prompt = f"""请将以下内容整理成一份{type_name}\n\n{content}"""
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}
]
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
temperature=0.5,
max_tokens=1500,
timeout=45
)
return response.choices[0].message.content
@weekly_report_bp.route('/weekly-report', methods=['GET'])
def report_page():
"""智能周报生成页面"""
return render_template('weekly_report.html')
@weekly_report_bp.route('/api/weekly-report/generate', methods=['POST'])
def generate_report_api():
"""生成周报/日报 API"""
try:
data = request.get_json() or {}
report_type = data.get('report_type', 'weekly') # weekly | daily
content = (data.get('content') or '').strip()
if not content:
return jsonify({'success': False, 'message': '请填写工作要点或内容'})
result = _generate_report(report_type, content)
return jsonify({'success': True, 'data': {'report': result, 'report_type': report_type}})
except Exception as e:
logger.exception('周报生成失败')
return jsonify({'success': False, 'message': str(e) or '生成失败,请重试'})

View File

@@ -502,9 +502,6 @@
<li><a class="dropdown-item" href="/favorites">
<i class="fas fa-heart me-2"></i>我的收藏
</a></li>
<li><a class="dropdown-item" href="/meal_planning_history">
<i class="fas fa-calendar-alt me-2"></i>我的规划
</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item text-danger" href="#" onclick="logout()">
<i class="fas fa-sign-out-alt me-2"></i>退出登录

View File

@@ -96,6 +96,17 @@
</div>
</a>
<a href="{{ url_for('meal_planning.meal_planning_history') }}" class="featured-card">
<div class="featured-icon">
<i class="fas fa-calendar-alt"></i>
</div>
<div class="featured-content">
<h4>我的饭菜规划</h4>
<p>查看和管理已保存的饭菜规划历史</p>
<span class="featured-badge">历史</span>
</div>
</a>
<a href="{{ url_for('poetry.poetry_page') }}" class="featured-card">
<div class="featured-icon">
<i class="fas fa-feather-alt"></i>
@@ -118,6 +129,28 @@
</div>
</a>
<a href="{{ url_for('weekly_report.report_page') }}" class="featured-card">
<div class="featured-icon">
<i class="fas fa-file-alt"></i>
</div>
<div class="featured-content">
<h4>智能周报生成</h4>
<p>输入工作要点,一键生成规范周报/日报</p>
<span class="featured-badge">办公</span>
</div>
</a>
<a href="{{ url_for('travel_planning.travel_page') }}" class="featured-card">
<div class="featured-icon">
<i class="fas fa-plane-departure"></i>
</div>
<div class="featured-content">
<h4>旅行攻略规划</h4>
<p>根据目的地与天数AI 生成行程与实用建议</p>
<span class="featured-badge">出行</span>
</div>
</a>
<div class="featured-card coming-soon">
<div class="featured-icon">
<i class="fas fa-plus"></i>
@@ -763,14 +796,26 @@
}
.featured-card:nth-child(2) .featured-icon {
background: linear-gradient(135deg, #4ecdc4, #44a08d);
background: linear-gradient(135deg, #ffb74d, #ff9800);
}
.featured-card:nth-child(3) .featured-icon {
background: linear-gradient(135deg, #f093fb, #f5576c);
background: linear-gradient(135deg, #4ecdc4, #44a08d);
}
.featured-card:nth-child(4) .featured-icon {
background: linear-gradient(135deg, #f093fb, #f5576c);
}
.featured-card:nth-child(5) .featured-icon {
background: linear-gradient(135deg, #4776e6, #8e54e9);
}
.featured-card:nth-child(6) .featured-icon {
background: linear-gradient(135deg, #11998e, #38ef7d);
}
.featured-card:nth-child(7) .featured-icon {
background: linear-gradient(135deg, #a8edea, #fed6e3);
color: #666;
}
@@ -809,16 +854,31 @@
}
.featured-card:nth-child(2) .featured-badge {
background: #4ecdc4;
background: #ff9800;
color: white;
}
.featured-card:nth-child(3) .featured-badge {
background: #f093fb;
background: #4ecdc4;
color: white;
}
.featured-card:nth-child(4) .featured-badge {
background: #f093fb;
color: white;
}
.featured-card:nth-child(5) .featured-badge {
background: #4776e6;
color: white;
}
.featured-card:nth-child(6) .featured-badge {
background: #11998e;
color: white;
}
.featured-card:nth-child(7) .featured-badge {
background: #e0e0e0;
color: #666;
}

View File

@@ -305,6 +305,7 @@ document.addEventListener('DOMContentLoaded', function() {
const copyBtn = document.getElementById('copyBtn');
const saveBtn = document.getElementById('saveBtn');
const loadingModal = new bootstrap.Modal(document.getElementById('loadingModal'));
let lastGeneratedMarkdown = ''; // 保存原始 Markdown便于历史页正确渲染
// 表单提交处理
form.addEventListener('submit', function(e) {
@@ -339,6 +340,7 @@ document.addEventListener('DOMContentLoaded', function() {
generateBtn.disabled = false;
if (result.success) {
lastGeneratedMarkdown = result.data.meal_plan || '';
displayResult(result.data.meal_plan);
copyBtn.style.display = 'inline-block';
saveBtn.style.display = 'inline-block';
@@ -389,9 +391,9 @@ document.addEventListener('DOMContentLoaded', function() {
});
});
// 保存功能
// 保存功能(优先保存原始 Markdown历史页才能正确分段、加粗显示
saveBtn.addEventListener('click', function() {
const content = resultContainer.querySelector('.meal-plan-content').textContent;
const content = lastGeneratedMarkdown || resultContainer.querySelector('.meal-plan-content').textContent;
// 获取当前表单参数
const formData = {
@@ -447,6 +449,7 @@ document.addEventListener('DOMContentLoaded', function() {
}
}, 5000);
}
});
</script>
{% endblock %}

View File

@@ -1,59 +1,25 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>我的饭菜规划 - 提示词大师</title>
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Font Awesome -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
<style>
{% extends "base.html" %}
{% block title %}我的饭菜规划{% endblock %}
{% block extra_css %}
<style>
:root {
--primary-color: #667eea;
--secondary-color: #764ba2;
--success-color: #28a745;
--danger-color: #dc3545;
--warning-color: #ffc107;
--info-color: #17a2b8;
--light-color: #f8f9fa;
--dark-color: #343a40;
--meal-primary: #667eea;
--meal-secondary: #764ba2;
--meal-success: #28a745;
--meal-danger: #dc3545;
--meal-warning: #ffc107;
--meal-info: #17a2b8;
--meal-light: #f8f9fa;
--meal-dark: #343a40;
}
body {
font-family: 'Inter', sans-serif;
.meal-history-page {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
padding-bottom: 2rem;
}
.navbar {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.navbar-brand {
font-weight: 600;
color: white !important;
}
.nav-link {
color: rgba(255,255,255,0.9) !important;
font-weight: 500;
transition: all 0.3s ease;
}
.nav-link:hover {
color: white !important;
transform: translateY(-1px);
}
.main-container {
.meal-history-page .main-container {
max-width: 1200px;
margin: 0 auto;
padding: 2rem 1rem;
@@ -65,11 +31,11 @@
padding: 2rem;
margin-bottom: 2rem;
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
border-left: 5px solid var(--primary-color);
border-left: 5px solid var(--meal-primary);
}
.page-title {
color: var(--dark-color);
color: var(--meal-dark);
font-weight: 600;
margin-bottom: 0.5rem;
}
@@ -95,7 +61,7 @@
}
.plan-header {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
background: linear-gradient(135deg, var(--meal-primary) 0%, var(--meal-secondary) 100%);
color: white;
padding: 1.5rem;
border-radius: 15px 15px 0 0;
@@ -124,15 +90,15 @@
}
.param-item {
background: var(--light-color);
background: var(--meal-light);
padding: 0.75rem;
border-radius: 8px;
border-left: 3px solid var(--primary-color);
border-left: 3px solid var(--meal-primary);
}
.param-label {
font-weight: 600;
color: var(--dark-color);
color: var(--meal-dark);
font-size: 0.9rem;
margin-bottom: 0.25rem;
}
@@ -146,11 +112,11 @@
background: #f8f9fa;
border-radius: 10px;
padding: 1.5rem;
border-left: 4px solid var(--success-color);
border-left: 4px solid var(--meal-success);
}
.plan-content h6 {
color: var(--success-color);
color: var(--meal-success);
font-weight: 600;
margin-bottom: 1rem;
}
@@ -167,6 +133,85 @@
line-height: 1.6;
}
/* 饭菜规划内容:与生成页一致的结构化格式,方便查阅 */
.plan-content-md {
background: #fafbfc;
border-radius: 10px;
padding: 1.5rem 1.75rem;
border: 1px solid #e9ecef;
font-family: 'Inter', 'PingFang SC', sans-serif;
font-size: 0.9375rem;
line-height: 1.75;
color: #333;
}
/* 总标题(如:陕西西安风味双人晚餐清单) */
.plan-content-md h1 {
font-size: 1.25rem;
font-weight: 700;
color: var(--meal-dark);
margin: 0 0 1.25rem 0;
padding-bottom: 0.75rem;
border-bottom: 2px solid var(--meal-primary);
}
/* 一级小节(一、二、三) */
.plan-content-md h2 {
font-size: 1.1rem;
font-weight: 600;
color: var(--meal-dark);
margin: 1.25rem 0 0.6rem 0;
}
.plan-content-md h2:first-of-type { margin-top: 0; }
/* 菜品标题1. 肉夹馍 2. 酸辣土豆丝) */
.plan-content-md h3, .plan-content-md h4 {
font-size: 1rem;
font-weight: 600;
color: #2c3e50;
margin: 1rem 0 0.4rem 0;
}
.plan-content-md p {
margin: 0 0 0.6rem 0;
color: #444;
font-size: 0.9rem;
}
.plan-content-md p:last-child { margin-bottom: 0; }
/* 标签式小标题:菜品特色、食材清单、制作步骤、营养信息、预算估算 */
.plan-content-md strong {
color: #1a1a1a;
font-weight: 600;
font-size: 0.9rem;
}
.plan-content-md ul, .plan-content-md ol {
margin: 0.35rem 0 0.85rem 0;
padding-left: 1.5rem;
}
.plan-content-md li {
margin-bottom: 0.35rem;
color: #444;
}
.plan-content-md ol li { margin-bottom: 0.5rem; }
.plan-content-md code {
background: #eee;
padding: 0.15rem 0.4rem;
border-radius: 4px;
font-size: 0.85em;
}
.plan-content-md pre {
white-space: pre-wrap;
word-wrap: break-word;
margin: 0.5rem 0;
background: #f5f5f5;
padding: 0.75rem;
border-radius: 6px;
font-size: 0.875rem;
}
/* 每道菜区块视觉分隔(便于区分菜品详情) */
.plan-content-md h3 + ul,
.plan-content-md h4 + ul,
.plan-content-md h3 + ol,
.plan-content-md h4 + ol {
margin-bottom: 1rem;
}
.plan-actions {
padding: 1rem 1.5rem;
background: #f8f9fa;
@@ -182,24 +227,24 @@
border-radius: 6px;
}
.btn-outline-primary {
border-color: var(--primary-color);
color: var(--primary-color);
.meal-history-page .btn-outline-primary {
border-color: var(--meal-primary);
color: var(--meal-primary);
}
.btn-outline-primary:hover {
background-color: var(--primary-color);
border-color: var(--primary-color);
.meal-history-page .btn-outline-primary:hover {
background-color: var(--meal-primary);
border-color: var(--meal-primary);
}
.btn-outline-danger {
border-color: var(--danger-color);
color: var(--danger-color);
.meal-history-page .btn-outline-danger {
border-color: var(--meal-danger);
color: var(--meal-danger);
}
.btn-outline-danger:hover {
background-color: var(--danger-color);
border-color: var(--danger-color);
.meal-history-page .btn-outline-danger:hover {
background-color: var(--meal-danger);
border-color: var(--meal-danger);
}
.empty-state {
@@ -242,22 +287,22 @@
margin-top: 2rem;
}
.page-link {
.meal-history-page .page-link {
border-radius: 8px;
margin: 0 0.25rem;
border: 1px solid #dee2e6;
color: var(--primary-color);
color: var(--meal-primary);
}
.page-link:hover {
background-color: var(--primary-color);
border-color: var(--primary-color);
.meal-history-page .page-link:hover {
background-color: var(--meal-primary);
border-color: var(--meal-primary);
color: white;
}
.page-item.active .page-link {
background-color: var(--primary-color);
border-color: var(--primary-color);
.meal-history-page .page-item.active .page-link {
background-color: var(--meal-primary);
border-color: var(--meal-primary);
}
.alert {
@@ -272,21 +317,21 @@
border-radius: 6px;
}
.badge-primary {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
.meal-history-page .badge-primary {
background: linear-gradient(135deg, var(--meal-primary) 0%, var(--meal-secondary) 100%);
}
.badge-success {
background-color: var(--success-color);
.meal-history-page .badge-success {
background-color: var(--meal-success);
}
.badge-info {
background-color: var(--info-color);
.meal-history-page .badge-info {
background-color: var(--meal-info);
}
.badge-warning {
background-color: var(--warning-color);
color: var(--dark-color);
.meal-history-page .badge-warning {
background-color: var(--meal-warning);
color: var(--meal-dark);
}
@media (max-width: 768px) {
@@ -306,61 +351,15 @@
flex-direction: column;
}
.plan-actions .btn {
.meal-history-page .plan-actions .btn {
width: 100%;
}
}
</style>
</head>
<body>
<!-- 导航栏 -->
<nav class="navbar navbar-expand-lg navbar-dark">
<div class="container">
<a class="navbar-brand" href="{{ url_for('main.index') }}">
<i class="fas fa-magic me-2"></i>
提示词大师
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a href="{{ url_for('main.index') }}" class="nav-link">
<i class="fas fa-plus"></i>
生成提示词
</a>
</li>
<li class="nav-item">
<a href="{{ url_for('meal_planning.meal_planning_page') }}" class="nav-link">
<i class="fas fa-utensils"></i>
饭菜规划
</a>
</li>
<li class="nav-item">
<a href="{{ url_for('meal_planning.meal_planning_history') }}" class="nav-link active">
<i class="fas fa-history"></i>
我的规划
</a>
</li>
<li class="nav-item">
<a href="{{ url_for('favorites.favorites_page') }}" class="nav-link">
<i class="fas fa-heart"></i>
我的收藏
</a>
</li>
<li class="nav-item">
<a href="{{ url_for('auth.profile_page') }}" class="nav-link">
<i class="fas fa-user"></i>
个人资料
</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- 主要内容 -->
</style>
{% endblock %}
{% block content %}
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<div class="meal-history-page">
<div class="main-container">
<!-- 页面标题 -->
<div class="page-header">
@@ -402,6 +401,7 @@
</ul>
</nav>
</div>
</div>
<!-- 确认删除模态框 -->
<div class="modal fade" id="deleteModal" tabindex="-1">
@@ -422,13 +422,11 @@
</div>
</div>
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>
<script>
let currentPage = 1;
let totalPages = 1;
let deletePlanId = null;
let currentPlans = []; // 当前页规划列表,供复制等使用
// 页面加载完成后获取数据
document.addEventListener('DOMContentLoaded', function() {
@@ -445,10 +443,11 @@
hideAllStates();
if (data.success) {
if (data.data.plans.length === 0) {
currentPlans = data.data.plans || [];
if (currentPlans.length === 0) {
showEmptyState();
} else {
showPlansList(data.data.plans);
showPlansList(currentPlans);
showPagination(data.data.pagination);
}
} else {
@@ -524,7 +523,7 @@
</div>
<div class="plan-content">
<h6><i class="fas fa-list-ul me-2"></i>饭菜规划内容</h6>
<pre>${plan.meal_plan_content}</pre>
<div class="plan-content-md"></div>
</div>
</div>
<div class="plan-actions">
@@ -538,9 +537,39 @@
</button>
</div>
`;
// 使用 Markdown 渲染饭菜规划内容;若为纯文本则先转为结构化再渲染
const mdEl = card.querySelector('.plan-content-md');
if (mdEl && plan.meal_plan_content) {
const raw = plan.meal_plan_content;
const hasMarkdown = /#{1,3}\s|\*\*[^*]+\*\*|^\s*[-*]\s/m.test(raw);
const toRender = hasMarkdown ? raw : plainTextToMarkdown(raw);
mdEl.innerHTML = typeof marked !== 'undefined'
? marked.parse(toRender)
: toRender.replace(/\n/g, '<br>');
}
return card;
}
// 将纯文本转为类 Markdown便于历史页分段、加粗显示兼容旧数据
function plainTextToMarkdown(text) {
if (!text || !text.trim()) return text;
let s = text
.replace(/\r\n/g, '\n')
.replace(/\r/g, '\n');
// 一级小节:一、二、三、
s = s.replace(/\n(一、[^\n]+)/g, '\n## $1');
s = s.replace(/\n(二、[^\n]+)/g, '\n## $1');
s = s.replace(/\n(三、[^\n]+)/g, '\n## $1');
// 菜品标题1. 肉夹馍 (经典主食)
s = s.replace(/\n(\d+\.\s+[^\n]+)/g, '\n### $1');
// 常见标签加粗
['菜品特色', '食材清单', '制作步骤', '营养信息', '预算估算', '总预算', '碳水化合物', '蛋白质', '维生素与纤维', '脂肪', '过敏信息'].forEach(function (label) {
const re = new RegExp('([\\s\\n])(' + label + '[:])', 'g');
s = s.replace(re, '$1**$2** ');
});
return s;
}
// 显示分页
function showPagination(pagination) {
const paginationNav = document.getElementById('pagination');
@@ -579,10 +608,18 @@
paginationNav.style.display = 'block';
}
// 复制规划内容
// 复制规划内容到剪贴板
function copyPlan(planId) {
// 这里可以实现复制功能,暂时显示提示
showAlert('复制功能开发中...', 'info');
const plan = currentPlans.find(p => p.id === planId);
if (!plan || !plan.meal_plan_content) {
showAlert('无法获取规划内容', 'danger');
return;
}
navigator.clipboard.writeText(plan.meal_plan_content).then(() => {
showAlert('已复制到剪贴板', 'success');
}).catch(() => {
showAlert('复制失败,请手动选择复制', 'danger');
});
}
// 删除规划
@@ -667,5 +704,4 @@
});
}
</script>
</body>
</html>
{% endblock %}

View File

@@ -0,0 +1,154 @@
{% extends "base.html" %}
{% block title %}旅行攻略规划 - 提示词大师{% endblock %}
{% block content %}
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="page-header">
<h1 class="page-title"><i class="fas fa-plane-departure"></i> 旅行攻略规划</h1>
<p class="page-subtitle">根据目的地与天数AI 生成行程与实用建议</p>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="card">
<div class="card-header"><h5 class="card-title"><i class="fas fa-map-marked-alt"></i> 规划参数</h5></div>
<div class="card-body">
<form id="travelForm">
<div class="mb-3">
<label class="form-label">目的地 <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="destination" name="destination" required placeholder="如:成都、云南、日本关西">
</div>
<div class="mb-3">
<label class="form-label">出行天数</label>
<select class="form-select" id="days" name="days">
<option value="1">1 天</option>
<option value="2">2 天</option>
<option value="3" selected>3 天</option>
<option value="5">5 天</option>
<option value="7">7 天</option>
<option value="10">10 天</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">人数</label>
<select class="form-select" id="people" name="people">
<option value="1">1 人</option>
<option value="2" selected>2 人</option>
<option value="3">3 人</option>
<option value="4">4 人</option>
<option value="5+">5 人以上</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">偏好或备注</label>
<textarea class="form-control" id="preferences" name="preferences" rows="3" placeholder="如:亲子游、美食为主、喜欢自然风光"></textarea>
</div>
<div class="mb-3">
<label class="form-label">预算</label>
<select class="form-select" id="budget" name="budget">
<option value="经济">经济型</option>
<option value="中等" selected>中等</option>
<option value="宽松">宽松</option>
</select>
</div>
<div class="d-grid">
<button type="submit" class="btn btn-primary btn-lg" id="generateBtn">
<i class="fas fa-magic"></i> 生成旅行攻略
</button>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-8">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="card-title mb-0"><i class="fas fa-route"></i> 攻略结果</h5>
<button class="btn btn-sm btn-outline-primary" id="copyBtn" style="display: none;"><i class="fas fa-copy"></i> 复制</button>
</div>
<div class="card-body">
<div id="resultContainer">
<div class="text-center text-muted py-5">
<i class="fas fa-plane-departure fa-3x mb-3"></i>
<p>填写目的地与天数,点击「生成旅行攻略」开始</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="loadingModal" tabindex="-1" data-bs-backdrop="static">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body text-center py-4">
<div class="spinner-border text-primary mb-3"></div>
<h5>正在生成旅行攻略...</h5>
</div>
</div>
</div>
</div>
<style>
.page-header { background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%); color: white; padding: 2rem; border-radius: 10px; margin-bottom: 2rem; }
.page-title { font-size: 1.75rem; margin-bottom: 0.5rem; }
.page-subtitle { opacity: 0.9; margin: 0; }
.card { border: none; box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075); border-radius: 10px; }
.card-header { background: #f8f9fa; border-radius: 10px 10px 0 0; padding: 1rem 1.5rem; }
.travel-content h1,.travel-content h2,.travel-content h3 { color: #495057; margin-top: 1rem; margin-bottom: 0.5rem; }
.travel-content ul,.travel-content ol { padding-left: 1.5rem; }
.travel-content { background: #f0fdf4; border-radius: 8px; padding: 1.5rem; border-left: 4px solid #11998e; }
#resultContainer { min-height: 300px; }
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
var form = document.getElementById('travelForm');
var generateBtn = document.getElementById('generateBtn');
var resultContainer = document.getElementById('resultContainer');
var copyBtn = document.getElementById('copyBtn');
var loadingModal = new bootstrap.Modal(document.getElementById('loadingModal'));
function md2html(t) {
return (t || '').replace(/^### (.*)$/gim,'<h3>$1</h3>').replace(/^## (.*)$/gim,'<h2>$1</h2>').replace(/^# (.*)$/gim,'<h1>$1</h1>')
.replace(/\*\*(.*?)\*\*/g,'<strong>$1</strong>').replace(/^\* (.*)$/gim,'<li>$1</li>').replace(/^\d+\. (.*)$/gim,'<li>$1</li>')
.replace(/\n\n/g,'</p><p>').replace(/\n/g,'<br>');
}
form.addEventListener('submit', function(e) {
e.preventDefault();
var destination = document.getElementById('destination').value.trim();
if (!destination) { alert('请填写目的地'); return; }
loadingModal.show();
generateBtn.disabled = true;
fetch('/api/travel-planning/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
destination: destination,
days: document.getElementById('days').value,
people: document.getElementById('people').value,
preferences: document.getElementById('preferences').value.trim(),
budget: document.getElementById('budget').value
})
}).then(function(r){ return r.json(); }).then(function(res) {
loadingModal.hide();
generateBtn.disabled = false;
if (res.success) {
resultContainer.innerHTML = '<div class="travel-content">' + md2html(res.data.plan) + '</div>';
copyBtn.style.display = 'inline-block';
} else {
resultContainer.innerHTML = '<div class="alert alert-danger">' + (res.message || '生成失败') + '</div>';
}
}).catch(function() {
loadingModal.hide();
generateBtn.disabled = false;
resultContainer.innerHTML = '<div class="alert alert-danger">网络错误,请重试</div>';
});
});
copyBtn.addEventListener('click', function() {
var el = resultContainer.querySelector('.travel-content');
if (!el) return;
navigator.clipboard.writeText(el.innerText).then(function(){ alert('已复制到剪贴板'); }).catch(function(){ alert('复制失败'); });
});
});
</script>
{% endblock %}

View File

@@ -0,0 +1,124 @@
{% extends "base.html" %}
{% block title %}智能周报生成 - 提示词大师{% endblock %}
{% block content %}
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="page-header">
<h1 class="page-title"><i class="fas fa-file-alt"></i> 智能周报生成</h1>
<p class="page-subtitle">输入工作要点,一键生成规范周报/日报</p>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<div class="card">
<div class="card-header"><h5 class="card-title"><i class="fas fa-cog"></i> 生成参数</h5></div>
<div class="card-body">
<form id="reportForm">
<div class="mb-3">
<label class="form-label">报告类型</label>
<select class="form-select" id="reportType" name="report_type">
<option value="weekly">周报</option>
<option value="daily">日报</option>
</select>
</div>
<div class="mb-3">
<label class="form-label">工作要点或内容 <span class="text-danger">*</span></label>
<textarea class="form-control" id="content" name="content" rows="10" required
placeholder="请粘贴或输入本周/今日的工作内容要点,例如:&#10;- 完成需求评审&#10;- 开发登录模块&#10;- 修复若干 bug"></textarea>
</div>
<div class="d-grid">
<button type="submit" class="btn btn-primary btn-lg" id="generateBtn">
<i class="fas fa-magic"></i> 生成报告
</button>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-8">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="card-title mb-0"><i class="fas fa-clipboard-list"></i> 生成结果</h5>
<button class="btn btn-sm btn-outline-primary" id="copyBtn" style="display: none;"><i class="fas fa-copy"></i> 复制</button>
</div>
<div class="card-body">
<div id="resultContainer">
<div class="text-center text-muted py-5">
<i class="fas fa-file-alt fa-3x mb-3"></i>
<p>选择报告类型并填写工作要点,点击「生成」开始</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="loadingModal" tabindex="-1" data-bs-backdrop="static">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body text-center py-4">
<div class="spinner-border text-primary mb-3"></div>
<h5>正在生成报告...</h5>
</div>
</div>
</div>
</div>
<style>
.page-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 2rem; border-radius: 10px; margin-bottom: 2rem; }
.page-title { font-size: 1.75rem; margin-bottom: 0.5rem; }
.page-subtitle { opacity: 0.9; margin: 0; }
.card { border: none; box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075); border-radius: 10px; }
.card-header { background: #f8f9fa; border-radius: 10px 10px 0 0; padding: 1rem 1.5rem; }
.report-content h1,.report-content h2,.report-content h3 { color: #495057; margin-top: 1rem; margin-bottom: 0.5rem; }
.report-content ul,.report-content ol { padding-left: 1.5rem; }
.report-content { background: #f8f9fa; border-radius: 8px; padding: 1.5rem; border-left: 4px solid #667eea; }
#resultContainer { min-height: 300px; }
</style>
<script>
document.addEventListener('DOMContentLoaded', function() {
var form = document.getElementById('reportForm');
var generateBtn = document.getElementById('generateBtn');
var resultContainer = document.getElementById('resultContainer');
var copyBtn = document.getElementById('copyBtn');
var loadingModal = new bootstrap.Modal(document.getElementById('loadingModal'));
function md2html(t) {
return (t || '').replace(/^### (.*)$/gim,'<h3>$1</h3>').replace(/^## (.*)$/gim,'<h2>$1</h2>').replace(/^# (.*)$/gim,'<h1>$1</h1>')
.replace(/\*\*(.*?)\*\*/g,'<strong>$1</strong>').replace(/^\* (.*)$/gim,'<li>$1</li>').replace(/^\d+\. (.*)$/gim,'<li>$1</li>')
.replace(/\n\n/g,'</p><p>').replace(/\n/g,'<br>');
}
form.addEventListener('submit', function(e) {
e.preventDefault();
var content = document.getElementById('content').value.trim();
if (!content) { alert('请填写工作要点'); return; }
var reportType = document.getElementById('reportType').value;
loadingModal.show();
generateBtn.disabled = true;
fetch('/api/weekly-report/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ report_type: reportType, content: content })
}).then(function(r){ return r.json(); }).then(function(res) {
loadingModal.hide();
generateBtn.disabled = false;
if (res.success) {
resultContainer.innerHTML = '<div class="report-content">' + md2html(res.data.report) + '</div>';
copyBtn.style.display = 'inline-block';
} else {
resultContainer.innerHTML = '<div class="alert alert-danger">' + (res.message || '生成失败') + '</div>';
}
}).catch(function() {
loadingModal.hide();
generateBtn.disabled = false;
resultContainer.innerHTML = '<div class="alert alert-danger">网络错误,请重试</div>';
});
});
copyBtn.addEventListener('click', function() {
var el = resultContainer.querySelector('.report-content');
if (!el) return;
navigator.clipboard.writeText(el.innerText).then(function(){ alert('已复制到剪贴板'); }).catch(function(){ alert('复制失败'); });
});
});
</script>
{% endblock %}