Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

24m08b #37

Merged
merged 18 commits into from
Sep 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 7 additions & 1 deletion .idea/Lithium.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 18 additions & 2 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
Max Qian <[email protected]>
# Authors

Lithium server and Hydrogen drivers were written by numerous volunteers across the globe.
The following individuals have contributed to the development of this project:

## Core Developers

- **Max Qian** <[email protected]>
- Lead developer, primary maintainer

## Contributors

## Special Thanks

- **Volunteers**:
- Lithium server and Hydrogen drivers were written by numerous volunteers across the globe. Thank you all for your contributions and support.

## Historical Contributors

We extend our gratitude to everyone who has contributed to this project. Your contributions are invaluable.
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,6 @@ set(device_module
${lithium_src_dir}/device/manager.cpp

${lithium_src_dir}/device/template/device.cpp
${lithium_src_dir}/device/template/camera.cpp
)

set(script_module
Expand Down
95 changes: 47 additions & 48 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -2,83 +2,82 @@

## OpenAPT 更新日志

### 23w01a
### 版本 23w01a

- 更新了大部分代码,但仍有很长的路要走!
- 进行了大规模代码更新,项目仍在持续改进中。

### 23w01b
### 版本 23w01b

- 添加了 Dear Imgui 作为图形用户界面库
- 尝试创建模块并改进加载器
- 添加崩溃报告和一些基本工具
- 改进任务管理器
- 集成了 Dear Imgui 图形用户界面库。
- 开始创建模块并改进加载器功能。
- 引入了崩溃报告功能及其他基础工具。
- 优化了任务管理器。

### 23w01c
### 版本 23w01c

- 改进了任务管理器和模块加载器
- 尝试修复线程管理器的错误但未成功
- 添加更多测试
- 改进了任务管理器和模块加载器
- 尝试修复线程管理器中的错误,部分修复成功。
- 增加了更多的测试用例以提升稳定性。

### 23w02a
### 版本 23w02a

- 使用 clang-tidy 清理了所有文件,以提高代码质量和可读性
- 实现了一个成就系统,用于玩家跟踪和获得游戏内的成就
- 添加了客户端网页,并为未来的在线功能做准备
- 使用 clang-tidy 进行了全面的代码清理,提高了代码质量和可读性
- 实现了玩家成就系统,用于跟踪和奖励游戏内成就
- 添加了客户端网页,为未来的在线功能做了准备

### 23w02b
### 版本 23w02b

- 重新组织了文件目录
- 添加了动态编译和加载代码的功能。目前不支持 clang。
- 重新组织了文件目录结构以提高项目的管理性
- 实现了动态编译和加载代码的功能,目前不支持 clang。
- 添加了默认成就。
- 添加了证书以防止版权问题
- 引入了版权保护证书

### 23w03a
### 版本 23w03a

- 大更新但未完成
- 实施了大规模更新,部分功能尚未完成。

### 23w03b
### 版本 23w03b

- 大更新但未完成
- 进行了进一步的大规模更新,功能仍在开发中。

### 23w04a
### 版本 23w04a

- 大型服务器更新和黑化更新
- 进行了大型服务器更新和黑化主题更新。

## Lithium 更新日志

### 24w01a
### 版本 24w01a

- 添加 Lithium Web 客户端
- 添加了 Lithium Web 客户端功能。

### 24m05a 模块与割裂更新
### 版本 24m05a 模块与割裂更新

#### 更新周期

2024-05-01 至 2024-05-31
- **开始日期**: 2024-05-01
- **结束日期**: 2024-05-31

#### 更新概要

本次更新主要是细化了框架布局,将部分模块分离、优化了部分功能。
本次更新主要集中于框架的细化,模块的分离以及功能的优化。具体更新内容如下:

#### 分离模块
#### 模块分离

C++:
**C++ 模块**:
- `lithium.webserver`:Web 服务器主体,基于 Oatpp,统一 HTTP 和 WebSocket 接口。
- `lithium.config`:配置模块,基于 JSON 文件,用于内置依赖项的配置。
- `lithium.image`:图像处理模块,基于 OpenCV 和 Cimg,提供内置接口和可执行文件版本。
- `lithium.indiserver`:INDI 服务器,模拟 INDIWeb 接口。
- `atom.algorithm`:算法模块,为内置依赖项。
- `atom.io`:I/O 模块。
- `atom.sysinfo`:系统信息模块,提供跨平台支持。
- `atom.system`:系统功能封装。
- `atom.utils`:工具模块。

- lithium.webserver:Web 服务器主体,基于 Oatpp,统一 HTTP 和 WebSocket 接口
- lithium.config:配置模块,基于 JSON 文件,为内置依赖项
- lithium.image:图像处理模块,基于 OpenCV 和 Cimg,分为内置接口和可执行文件版本
- lithium.indiserver:INDI 服务器,模仿 INDIWeb 接口
- atom.algorithm:算法模块,为内置依赖项
- atom.io:I/O 模块
- atom.sysinfo:系统信息模块,跨平台支持
- atom.system:系统功能封装
- atom.utils:工具模块
**Python 模块**:
- `lithium.pyastro`:天文组件,重写并优化了 LightAPT 功能。
- `lithium.pytools`:基于 Python 的各种工具,包括脚手架等工具。

Python:
#### 更新说明

- lithium.pyastro:天文组件,对 LightAPT 功能的重写与优化
- lithium.pytools:基于 Python 的各种工具,包括脚手架之类的

#### 说明

模块更新主要是将一些功能分离出来,方便后续开发。而割裂更新主要是针对一些功能,例如图像处理模块,将 C++ 版本分离出来,同时本体框架将作为通用框架,而不是专门为天文设计的。
模块的分离和优化主要目的是为了提升后续开发的灵活性和模块化。图像处理模块的分离将 C++ 版本与本体框架分开,使框架更具通用性,而不仅仅针对天文应用进行设计。
16 changes: 16 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,19 @@
- Ensure all code follows the project's coding standards and guidelines.
- Use the issue tracker for reporting bugs and tracking progress on larger tasks.
- Regularly review and update this TODO list to reflect the current state of the project.

## Daily Schedule

### 2024-08-23

- [ ] Complete INDI server management and device connection under Linux
- [ ] Get a list of all available drivers
- [ ] Start and stop the server according to the configuration
- [ ] Get all connected devices
- [ ] Connect and easily operate specific devices
- [ ] Complete the corresponding required server interface

- [ ] Complete PHD2 navigation star interface
- [ ] Analyze all ASIAIR navigation interfaces and supplement them as needed
- [ ] Support managing PHD2 processes, including starting, stopping, and retrieving locations
- [ ] PHD2 module is encapsulated as a module and supports enabling automatic loading
116 changes: 116 additions & 0 deletions config/script/check.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
{
"danger_patterns": [
{
"pattern": "\\brm\\s+-rf\\b",
"reason": "Potentially destructive operation"
},
{
"pattern": "\\bsudo\\b",
"reason": "Elevated permissions, dangerous"
},
{
"pattern": "\\bmkfs\\b",
"reason": "Filesystem creation, dangerous operation"
},
{
"pattern": "\\|",
"reason": "Pipeline usage might lead to unintended consequences"
},
{
"pattern": "2>&1\\s*>\\s*/dev/null",
"reason": "Redirection might hide errors"
},
{
"pattern": "\\bkill\\s+-9\\b",
"reason": "Forcefully killing processes, consider using safer signal"
},
{
"pattern": "eval\\s+",
"reason": "Using eval can lead to security vulnerabilities"
},
{
"pattern": "\\bshutdown\\b",
"reason": "Potentially shuts down or restarts the system"
},
{
"pattern": "\\bdd\\s+iflag=fullblock",
"reason": "Low-level data copying can lead to data loss or corruption"
},
{
"pattern": "\\bchmod\\s+([0-7]{3,4}|[ugoa]+\\+?)\\s+[^/].*",
"reason": "Changing file permissions may lead to security issues"
},
{
"pattern": "\\bchown\\s+[^:]+:[^/]+\\s+[^/].*",
"reason": "Changing file ownership may lead to access issues"
},
{
"pattern": "\\bssh\\s+root@[^\\s]+",
"reason": "SSH access as root user can be risky"
},
{
"pattern": "\\bwget\\s+[^\\s]+",
"reason": "Downloading files might lead to unintended consequences"
},
{
"pattern": "\\bcurl\\s+[^\\s]+",
"reason": "Fetching data from the internet can be risky"
}
],
"sensitive_patterns": [
{
"pattern": "password\\s*=\\s*['\"].*['\"]",
"reason": "Possible plaintext password"
},
{
"pattern": "AWS_SECRET_ACCESS_KEY",
"reason": "AWS secret key detected"
},
{
"pattern": "GITHUB_TOKEN",
"reason": "GitHub token detected"
},
{
"pattern": "PRIVATE_KEY",
"reason": "Private key detected"
},
{
"pattern": "DB_PASSWORD\\s*=\\s*['\"].*['\"]",
"reason": "Database password detected"
},
{
"pattern": "SECRET_KEY\\s*=\\s*['\"].*['\"]",
"reason": "Application secret key detected"
},
{
"pattern": "API_KEY\\s*=\\s*['\"].*['\"]",
"reason": "API key detected"
},
{
"pattern": "TOKEN\\s*=\\s*['\"].*['\"]",
"reason": "Authorization token detected"
},
{
"pattern": "PASSWORD\\s*=\\s*['\"].*['\"]",
"reason": "Password detected"
}
],
"environment_patterns": [
{
"pattern": "\\$\\{?\\w+\\}?",
"reason": "Environment variable dependency detected"
},
{
"pattern": "\\$\\{[^\\}]+\\}",
"reason": "Environment variable with braces detected"
},
{
"pattern": "\\$\\w+",
"reason": "Environment variable placeholder detected"
},
{
"pattern": "\\${HOME|USER|SHELL|PATH}",
"reason": "Common environment variables detected"
}
]
}
Loading
Loading