WebSync 是一个基于 Flask 和 React 的文件同步和共享系统。
- 文件上传、下载和管理
- 文件实时同步和更新
- 用户权限管理
- 文件共享功能
- 剪贴板同步
- WebSocket 实时通知
- JSON 格式化工具
- 支持 JSON 美化和压缩
- 语法高亮显示
- 转义字符处理
- 一键复制结果
- 正则表达式测试工具
- 实时匹配和高亮显示
- 匹配结果统计和位置显示
- 正则分组提取和展示
- 支持多种匹配模式(g、i、m、s、u、y)
- Grok 调试工具
- 内置常用 Grok 模式
- 支持自定义模式
- 实时匹配预览
- 字段提取和分组展示
- 快速模式选择
- Python 3.8+
- Node.js 14+
- SQLite3
- 安装依赖:
cd backend
pip install -r requirements.txt
- 配置环境变量(可选):
创建
.env
文件并设置以下配置:
UPLOAD_FOLDER=uploads
SYNC_FOLDER=sync
SQLALCHEMY_DATABASE_URI=sqlite:///websync.db
JWT_SECRET_KEY=your-secret-key
JWT_ACCESS_TOKEN_EXPIRES=86400
- 启动后端服务:
python app.py
后端服务将在 http://127.0.0.1:5002 上运行
- 安装依赖:
cd frontend
npm install
- 启动开发服务器:
npm start
或者构建并启动生产服务器:
npm run build
npm run serve
前端服务将在 http://localhost:3000 上运行
为了方便 Windows 用户使用,我们提供了一键启动和停止服务的脚本:
-
启动服务:
- 双击运行
start_service.bat
- 脚本会自动检查并安装必要的依赖
- 服务将在后台运行,可以关闭命令行窗口
- 浏览器会自动打开应用页面
- 双击运行
-
停止服务:
- 双击运行
stop_service.bat
- 脚本会自动停止所有相关服务
- 双击运行
注意事项:
- 首次运行时会自动安装依赖,可能需要较长时间
- 确保已安装 Python 3.8+ 和 Node.js 14+
- 如果遇到权限问题,请以管理员身份运行脚本
- 支持文件上传、下载和删除
- 可以设置文件为公开或私有
- 支持与其他用户共享文件
- 实时同步文件更新状态
- 支持文本、代码和图片的同步
- 内容自动加密存储
- 支持代码语法高亮
- 一键复制功能
- 支持 JSON 格式化(美化)和压缩
- 自动语法检查和错误提示
- 语法高亮显示
- 可选择是否保留转义字符
- 支持一键复制格式化结果
- 实时匹配预览,直观显示匹配结果
- 支持多种匹配模式(全局、忽略大小写等)
- 匹配结果高亮显示,不同匹配使用不同颜色
- 详细的匹配信息(位置、长度)
- 正则分组提取和可视化展示
- 一键复制匹配结果
- 内置丰富的 Grok 模式库
- 支持添加和管理自定义模式
- 实时匹配预览和结果展示
- 字段提取和分组可视化
- 快速选择和插入 Grok 模式
- 一键复制匹配结果
- 支持常用日志格式解析
- 用户创建和删除
- 角色权限管理
- 存储空间限制设置
- 密码重置功能
-
WebSocket 配置:
- 后端使用 Flask-SocketIO 提供 WebSocket 服务
- 前端通过 socket.io-client 连接到 WebSocket 服务
- 确保防火墙允许 WebSocket 连接(端口 5002)
-
安全配置:
- 生产环境中修改 JWT 密钥
- 配置适当的 CORS 策略
- 使用 HTTPS 进行安全通信
-
文件存储:
- 确保上传目录具有适当的写入权限
- 定期备份数据库和上传的文件
- 管理员账户:
- 邮箱:[email protected]
- 密码:admin123
- 新增 Grok 调试工具
- 添加内置 Grok 模式库
- 支持自定义模式管理
- 实时匹配预览功能
- 字段提取和分组展示
- 快速模式选择功能
- 优化工具界面布局
- 改进用户体验
- 新增正则表达式测试工具
- 添加实时匹配预览功能
- 支持正则分组提取
- 匹配结果高亮显示
- 详细的匹配信息统计
- 优化工具界面布局
- 改进用户体验
- 修复剪贴板功能问题
- 优化复制功能,添加备用复制方案
- 修复生产环境下图片预览功能
- 改进错误处理机制
- 新增 JSON 格式化工具
- 支持 JSON 美化和压缩功能
- 添加语法高亮显示
- 支持转义字符处理选项
- 集成到主界面标签页
- 优化用户界面交互体验
- 改进错误提示信息
- 添加 WebSocket 支持,实现文件列表实时更新
- 优化文件上传和删除的通知机制
- 改进错误处理和日志记录
- 初始版本发布
- 基本的文件同步和共享功能
- 用户管理系统