Commit Graph

3684 Commits

Author SHA1 Message Date
devhaozi 10ca20f3aa chore(l10n): update pot files 2026-02-11 17:56:40 +00:00
耗子 89a55ca518 fix: lint 2026-02-12 01:33:12 +08:00
耗子 d743bef697 fix: ufw 2026-02-12 00:28:24 +08:00
耗子 50fe450d64 fix: ufw 2026-02-12 00:24:52 +08:00
耗子 74259f833c fix: 添加单测 2026-02-11 23:57:50 +08:00
耗子 ca8e36351e fix: 合并防火墙规则 2026-02-11 23:30:38 +08:00
耗子 d01a2374f5 fix: 合并防火墙规则 2026-02-11 23:21:33 +08:00
耗子 f4885c55f9 Merge remote-tracking branch 'origin/main' 2026-02-11 23:16:06 +08:00
耗子 7e8de43776 fix: ufw 2026-02-11 23:16:02 +08:00
renovate[bot] 4ded231b1c chore(deps): Update pnpm to v10.29.3 (#1372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-11 23:06:27 +08:00
耗子 20a0080b1e fix: build 2026-02-11 23:03:45 +08:00
耗子 d2b30f211f chore: 移除h3支持,QoS麻了 2026-02-11 22:39:33 +08:00
耗子 83311409ae fix: lint 2026-02-11 21:59:29 +08:00
devhaozi 515ed686fb chore(l10n): update pot files 2026-02-11 13:20:08 +00:00
耗子 975c0d7321 fix: lint 2026-02-11 21:05:36 +08:00
耗子 0bdf1d6058 feat: UI优化 2026-02-11 21:02:58 +08:00
耗子 c5d62a46ab feat: UI优化 2026-02-11 20:38:08 +08:00
耗子 2dd6f0d9f0 feat: 文件管理支持多标签页 2026-02-11 20:12:10 +08:00
耗子 de5d76bff6 feat: 添加启用ipv6转发 2026-02-11 19:37:20 +08:00
耗子 e3742e61d8 Merge remote-tracking branch 'origin/main' 2026-02-11 19:28:55 +08:00
耗子 72c31a14b2 feat: 防火墙,SSH日志, close #1366 #1364 2026-02-11 19:28:51 +08:00
devhaozi 205d95a591 chore: update mocks 2026-02-11 11:13:50 +00:00
耗子 4df5038f91 feat: 数据库管理优化, close #1365 2026-02-11 19:12:43 +08:00
github-actions[bot] da023c5faa New Crowdin translations by GitHub Action (#1370)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-02-11 03:33:13 +08:00
devhaozi e6c13330d8 chore(l10n): update pot files 2026-02-10 19:26:21 +00:00
github-actions[bot] bda95465f8 New Crowdin translations by GitHub Action (#1369)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-02-11 03:22:56 +08:00
devhaozi c3074249f0 chore(l10n): update pot files 2026-02-10 19:08:29 +00:00
耗子 6388bcfa37 fix: migrate 2026-02-11 03:05:27 +08:00
耗子 281f35dfa1 fix: migrate 2026-02-11 03:01:49 +08:00
耗子 5d189172ca fix: migrate 2026-02-11 02:44:32 +08:00
耗子 aa23066fe5 feat: update resty to v3 2026-02-11 02:20:00 +08:00
耗子 c3313845a6 fix: lint 2026-02-11 01:44:15 +08:00
耗子 85f86f51db fix: 添加数据库用户迁移 2026-02-11 01:28:38 +08:00
耗子 374996498f fix: lint 2026-02-11 01:17:05 +08:00
耗子 a17b9d4936 Merge remote-tracking branch 'origin/main' 2026-02-10 23:00:24 +08:00
耗子 c226091c6e fix: lint 2026-02-10 23:00:20 +08:00
renovate[bot] 8902dade39 chore(deps): Update dependency @types/node to v24.10.13 (#1368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-10 22:56:54 +08:00
renovate[bot] 5f9696f214 chore(deps): Update module github.com/lib/pq to v1.11.2 (#1363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-10 22:52:00 +08:00
耗子 7155e7c7cb feat: 首页添加Top5进程显示 2026-02-10 22:35:29 +08:00
耗子 c56b4e00d9 feat: 监控添加Top进程记录 2026-02-10 21:55:11 +08:00
耗子 f7bf8b01cc feat: 工具箱新增网络视图 2026-02-10 21:07:05 +08:00
耗子 b7e1bd8824 feat: 新增便签小工具 2026-02-10 20:44:51 +08:00
耗子 d9b6813060 feat: 支持dotnet 2026-02-10 20:22:08 +08:00
耗子 10a816f7f7 feat: 支持dotnet 2026-02-10 20:08:26 +08:00
耗子 68e4016538 fix: lint 2026-02-10 18:08:18 +08:00
renovate[bot] 338b9cc73b chore(deps): Update dependency @vueuse/core to v14.2.1 (#1361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-10 08:57:55 +00:00
耗子 b27ced4b92 fix: lint 2026-02-10 03:32:57 +08:00
github-actions[bot] 36fb9e76fc New Crowdin translations by GitHub Action (#1360)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-02-10 03:25:07 +08:00
devhaozi 5f7df1ef9a chore(l10n): update pot files 2026-02-09 19:12:46 +00:00
Copilot 7da411b2f3 feat: 工具箱-迁移功能 (Toolbox Migration) (#1358)
* Initial plan

* feat: add migration backend service, routes and Wire injection

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* feat: add migration frontend - API, WebSocket, MigrationView and tab integration

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* refactor: move migration types to pkg/types, fix code review issues

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* chore: final cleanup

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* feat: add refresh button on migration pre-check step

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* feat: add SSH key exchange for rsync authentication

Generate temporary ED25519 key pair before migration, deploy public
key to remote via POST /api/toolbox_migration/ssh_key, use -i flag
in all rsync/ssh commands, cleanup key from both sides after migration.

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: lint

* fix: lint

* fix: align migration code with actual codebase patterns

- Project service name: use project name directly (not ace-project-xxx)
- MySQL dump: use MYSQL_PWD env var (not -p flag), remove --socket
- PostgreSQL dump: use PGPASSWORD env var with pg_dump -h 127.0.0.1 -U postgres
- PostgreSQL import: use PGPASSWORD with psql -h 127.0.0.1 -U postgres
- MySQL import: use MYSQL_PWD on remote
- Website create API: use correct listens/domains/type fields
- Project create API: use root_dir/exec_start/user fields
- Database create API: pass server_id properly
- Site directory: use filepath.Join(app.Root, "sites") instead of hardcoded path
- maskPassword: handle MYSQL_PWD/PGPASSWORD env var format

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: add PHP version and proxy backend to website create API body

PHP sites now include the php version number, and reverse proxy sites
include the backend address from Proxies[0].Pass. This matches the
WebsiteCreate validation rules (requiredIf:Type,php / requiredIf:Type,proxy).

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* refactor: replace map[string]any with typed request structs for all remote API calls

Use request.WebsiteCreate, request.DatabaseCreate, request.ProjectCreate,
and request.ToolboxMigrationSSHKey instead of ad-hoc map[string]any.
This ensures all required/validated fields are properly typed and present.

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: website list empty and database migration items stuck in running status

1. Website list: pass "all" to websiteRepo.List() instead of "" — empty
   string was treated as a type filter matching nothing.

2. Database status: result was stored with name "aaa (mysql)" but
   failResult/succeedResult looked up by "aaa" — name mismatch meant
   status was never updated from "running". Use displayName consistently.

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: use acepanel CLI to get remote DB passwords, show success text in results

1. Remote DB import: use `acepanel setting get mysql_root_password` and
   `acepanel setting get postgres_password` on the remote server via SSH
   instead of guessing file paths. The $() is escaped so it executes on
   the remote side, not locally.

2. Migration results: successful items now show "Migration succeeded"
   text alongside the completion timestamp instead of a bare date.

Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>

* fix: lint

* refactor: 不基于rsync的迁移

* fix: lint

* fix: lint

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: devhaozi <115467771+devhaozi@users.noreply.github.com>
Co-authored-by: 耗子 <haozi@loli.email>
2026-02-10 02:51:03 +08:00