diff --git a/.auto/log.jsonl b/.auto/log.jsonl index 7704c95d..1c63b95f 100644 --- a/.auto/log.jsonl +++ b/.auto/log.jsonl @@ -20,3 +20,4 @@ {"run":19,"commit":"c455be3","metric":8,"metrics":{"golint_canonicalheader":0,"golint_errname":0,"golint_errorlint":1,"golint_exhaustive":0,"golint_forcetypeassert":0,"golint_gosec":0,"golint_intrange":0,"golint_modernize":3,"golint_nilnil":3,"golint_perfsprint":0,"golint_prealloc":0,"golint_recvcheck":1,"golint_usestdlibvars":0,"golint_wastedassign":0,"golint_total":8,"golint_test_testifylint":0,"golint_test_thelper":0,"golint_test_usetesting":0,"golint_test_total":0,"golint_vetx_total":0,"eslint_problems":0,"eslint_errors":0,"eslint_warnings":0,"tsc_errors":0,"vitest_failed":0,"vitest_total":116,"measure_s":62},"status":"keep","description":"基准扩展第 5 维度(文档化):前端 vitest 失败数纳入 total_issues(vitest_failed=0, total=116)。5 维全部处于下限,total=8 不变。","timestamp":1786878719509,"segment":0,"confidence":14.285714285714286,"asi":{"hypothesis":"基准扩展第 5 维度:前端 vitest 失败数(全绿后纳入防回归,文档化范围扩展非作弊)","insight":"measure_s 从 39s 升到 62s(vitest ~20s + eslint 冷启动),可接受。5 个维度全部在其下限:生产 8(全刻意保留)+ 测试 0 + govet 0 + eslint/tsc 0 + vitest 0","next_action_hint":"基准已 5 维全下限。后续可深化:paralleltest(现在测试可跑,但共享全局状态风险仍在,低优先);或 frontend biome 格式一次性提交(不进基准);或前端组件更深规则(jsx-a11y 已在 next core-web-vitals 覆盖)。也可认为会话到达稳定收尾点,更新 prompt/ideas 后总结"}} {"run":20,"commit":"4962bf9","metric":8,"metrics":{"golint_canonicalheader":0,"golint_errname":0,"golint_errorlint":1,"golint_exhaustive":0,"golint_forcetypeassert":0,"golint_gosec":0,"golint_intrange":0,"golint_modernize":3,"golint_nilnil":3,"golint_perfsprint":0,"golint_prealloc":0,"golint_recvcheck":1,"golint_usestdlibvars":0,"golint_wastedassign":0,"golint_total":8,"golint_test_testifylint":0,"golint_test_thelper":0,"golint_test_usetesting":0,"golint_test_total":0,"golint_vetx_total":0,"eslint_problems":0,"eslint_errors":0,"eslint_warnings":0,"tsc_errors":0,"vitest_failed":0,"vitest_total":116,"measure_s":86},"status":"keep","description":"两处真实质量修复:(1) 过期 swagger 文档重新生成(status_2xx/4xx/5xx_count 字段随 a4dd5ca9 加入后未同步 docs,违反 repo 约定,swag init 后差异仅真实新增字段);(2) generate-themes.js 输出补尾换行,themes.json 构建可复现(此前每次 build 弄脏工作树)。验证 next build 成功、musttag/tagalign 调查无真实问题。","timestamp":1786879144888,"segment":0,"confidence":25,"asi":{"hypothesis":"验证生产构建 + 修两处真实质量问题:swagger 文档过期(status_2xx/4xx/5xx_count 新增字段未重新生成)与 themes.json 构建不可复现(generate-themes.js 缺尾换行,每次 build 弄脏工作树)","insight":"next build 成功(无构建问题);musttag 3 处与 tagalign 均判定为非问题(持久化 round-trip 自洽/调试日志/纯格式)。swagger 差异仅 27 行且全部真实(a4dd5ca9 状态码拆分字段)。generate-themes.js 补 '\\n' 后 themes.json 再生与提交版完全一致,构建可复现。metric 持平 8(改进在基准之外)","next_action_hint":"会话已 5 维全下限 + 构建可复现 + 双端测试全绿。收尾候选:更新 prompt/ideas 记录本轮成果后总结;或继续验证 swag 生成的 docs.go 在 CI 中的可复现性"}} {"run":21,"commit":"e1b439d","metric":8,"metrics":{"golint_canonicalheader":0,"golint_errname":0,"golint_errorlint":1,"golint_exhaustive":0,"golint_forcetypeassert":0,"golint_gosec":0,"golint_intrange":0,"golint_modernize":3,"golint_nilnil":3,"golint_perfsprint":0,"golint_prealloc":0,"golint_recvcheck":1,"golint_usestdlibvars":0,"golint_wastedassign":0,"golint_total":8,"golint_test_testifylint":0,"golint_test_thelper":0,"golint_test_usetesting":0,"golint_test_total":0,"golint_vetx_total":0,"eslint_problems":0,"eslint_errors":0,"eslint_warnings":0,"tsc_errors":0,"vitest_failed":0,"vitest_total":116,"measure_s":74},"status":"keep","description":"全仓 go test -race 扫描(93 包)→ 全绿。修复 6 类数据竞争:frpc/frps 测试的锁外读与并发 Wait;oauth/repository 4 个 Pub/Sub 监听器 goroutine 读可变包变量(局部捕获 + done 通道等待);oauth 测试换 db.Redis 前停监听器;【真实生产 bug】tls 响应快照与异步续签 goroutine 并发写 cert 竞争(先快照再起 goroutine);upload/cache 监听器 goroutine 内读 db.Redis(调用方捕获)。","timestamp":1786881379399,"segment":0,"confidence":100,"asi":{"hypothesis":"全仓 -race 扫描:发现并修复 6 类数据竞争,含 1 个真实生产竞争","insight":"修复清单:(1) frpc 测试助手锁外读 proc.Status;(2) frps 测试对 Manager 拥有的 Cmd 并发 Wait(与 frpc 同类);(3) oauth/repository 4 个 Pub/Sub 监听器 goroutine 内读可变包变量 userListenerCtx 等 → 局部捕获 + stop 增加 done 通道等待;(4) oauth 测试 setupTestRouter 换 db.Redis 前先停各层监听器;(5)【真实生产 bug】tls logics 的 sanitizeCertificateForResponse 整体拷贝 cert 与异步续签 goroutine 字段写入并发 → 先快照再起 goroutine;(6) upload/cache 监听器 goroutine 内读 db.Redis → 调用方捕获。成果:93 包 go test -race 全绿。基准 5 维全下限不变(改进在基准外,但 tls 竞争是生产级真实问题)","next_action_hint":"可考虑把 -race 纳入周期性验证(不进每次 checks,全仓 ~3 分钟);或在 prompt/ideas 记录本轮成果"}} +{"run":22,"commit":"ab70633","metric":8,"metrics":{"golint_canonicalheader":0,"golint_errname":0,"golint_errorlint":1,"golint_exhaustive":0,"golint_forcetypeassert":0,"golint_gosec":0,"golint_intrange":0,"golint_modernize":3,"golint_nilnil":3,"golint_perfsprint":0,"golint_prealloc":0,"golint_recvcheck":1,"golint_usestdlibvars":0,"golint_wastedassign":0,"golint_total":8,"golint_test_testifylint":0,"golint_test_thelper":0,"golint_test_usetesting":0,"golint_test_total":0,"golint_vetx_total":0,"eslint_problems":0,"eslint_errors":0,"eslint_warnings":0,"tsc_errors":0,"vitest_failed":0,"vitest_total":116,"measure_s":68},"status":"keep","description":"checks.sh 新增并发密集包 -race 门禁(8 个快速包,全仓 -race 清零后纳入防回归;frpc/frps 慢套件留作周期全量验证)。核查 7 处 t.Skip 均为合法环境门控。","timestamp":1786881700477,"segment":0,"confidence":200,"asi":{"hypothesis":"把 -race 门禁纳入 checks.sh(并发密集包子集,全仓 -race 清零后防回归)","insight":"选 8 个快速并发包(oauth/tls/uptimekuma/upload-cache/repository/disk-cache/logger/batchwriter,约 20s),排除 frpc/frps 慢套件(15s backoff + 25s supervisor,另做周期全量验证)。checks 总耗时 ~60s 可接受。顺带核查 7 处 t.Skip 均为合法环境门控(PG/CH 集成、symlink 平台差异),无隐藏损坏。metric 持平 8","next_action_hint":"会话已达全面收敛:5 维基准全下限 + 全仓 -race 清零 + 双端测试全绿 + 构建可复现 + -race 门禁入 checks。可收尾:更新 prompt/ideas 后总结"}} diff --git a/cmd/agent/main.go b/cmd/agent/main.go index 666551c3..5c6842ee 100644 --- a/cmd/agent/main.go +++ b/cmd/agent/main.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Command agent runs the OpenFlare edge agent daemon. package main diff --git a/cmd/agent/main_test.go b/cmd/agent/main_test.go index 2a99adf9..98a34474 100644 --- a/cmd/agent/main_test.go +++ b/cmd/agent/main_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package main import ( diff --git a/cmd/flared/main.go b/cmd/flared/main.go index 65404e73..7425e14c 100644 --- a/cmd/flared/main.go +++ b/cmd/flared/main.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Command flared runs the OpenFlare tunnel client daemon. package main diff --git a/cmd/relay/main.go b/cmd/relay/main.go index 577df27e..d180cf00 100644 --- a/cmd/relay/main.go +++ b/cmd/relay/main.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Command relay runs the OpenFlare relay node daemon. package main diff --git a/internal/apps/agent/agent/runner.go b/internal/apps/agent/agent/runner.go index 36622cd0..8ef4f3ce 100644 --- a/internal/apps/agent/agent/runner.go +++ b/internal/apps/agent/agent/runner.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package agent implements the local OpenFlare agent runtime loop. package agent diff --git a/internal/apps/agent/agent/runner_test.go b/internal/apps/agent/agent/runner_test.go index e1519599..1ec211a1 100644 --- a/internal/apps/agent/agent/runner_test.go +++ b/internal/apps/agent/agent/runner_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package agent import ( diff --git a/internal/apps/agent/config/config.go b/internal/apps/agent/config/config.go index 767bae01..06a2de7a 100644 --- a/internal/apps/agent/config/config.go +++ b/internal/apps/agent/config/config.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package config loads and persists agent daemon configuration. package config diff --git a/internal/apps/agent/config/config_test.go b/internal/apps/agent/config/config_test.go index b68e7bf6..673ad127 100644 --- a/internal/apps/agent/config/config_test.go +++ b/internal/apps/agent/config/config_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package config import ( diff --git a/internal/apps/agent/config/duration.go b/internal/apps/agent/config/duration.go index cc743d0e..83881e4c 100644 --- a/internal/apps/agent/config/duration.go +++ b/internal/apps/agent/config/duration.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package config import edgeconfig "github.com/Rain-kl/Wavelet/internal/apps/edge/config" diff --git a/internal/apps/agent/config/version.go b/internal/apps/agent/config/version.go index 9e758d4d..1c1e99c8 100644 --- a/internal/apps/agent/config/version.go +++ b/internal/apps/agent/config/version.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package config // Version is the current agent version string, overridden at build time. diff --git a/internal/apps/agent/geoipdata/data.go b/internal/apps/agent/geoipdata/data.go index e661d025..3800e81d 100644 --- a/internal/apps/agent/geoipdata/data.go +++ b/internal/apps/agent/geoipdata/data.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package geoipdata holds shared GeoIP database filename constants. // // MaxMind MMDB files are NOT embedded into the agent binary. Docker images diff --git a/internal/apps/agent/geoipupdate/updater.go b/internal/apps/agent/geoipupdate/updater.go index f6ad7745..4d32e14b 100644 --- a/internal/apps/agent/geoipupdate/updater.go +++ b/internal/apps/agent/geoipupdate/updater.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package geoipupdate schedules local MaxMind GeoIP database updates for the agent. package geoipupdate diff --git a/internal/apps/agent/geoipupdate/updater_test.go b/internal/apps/agent/geoipupdate/updater_test.go index 0fcc442a..7f74d7e7 100644 --- a/internal/apps/agent/geoipupdate/updater_test.go +++ b/internal/apps/agent/geoipupdate/updater_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoipupdate import ( diff --git a/internal/apps/agent/heartbeat/cycle.go b/internal/apps/agent/heartbeat/cycle.go index 4793329b..9f614eab 100644 --- a/internal/apps/agent/heartbeat/cycle.go +++ b/internal/apps/agent/heartbeat/cycle.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package heartbeat implements the periodic heartbeat cycle executed by the agent, // including payload preparation, config sync, WAF IP group application, and observability buffering. package heartbeat diff --git a/internal/apps/agent/heartbeat/service.go b/internal/apps/agent/heartbeat/service.go index bc22fdea..eae24939 100644 --- a/internal/apps/agent/heartbeat/service.go +++ b/internal/apps/agent/heartbeat/service.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package heartbeat import ( diff --git a/internal/apps/agent/logging/logger.go b/internal/apps/agent/logging/logger.go index e2900fc6..4d493850 100644 --- a/internal/apps/agent/logging/logger.go +++ b/internal/apps/agent/logging/logger.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package logging configures structured logging for the agent process. package logging diff --git a/internal/apps/agent/nginx/manager.go b/internal/apps/agent/nginx/manager.go index 71a1335c..43ac6951 100644 --- a/internal/apps/agent/nginx/manager.go +++ b/internal/apps/agent/nginx/manager.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package nginx manages OpenResty configuration, runtime, and supporting assets. package nginx diff --git a/internal/apps/agent/nginx/manager_test.go b/internal/apps/agent/nginx/manager_test.go index e9789540..a55d3061 100644 --- a/internal/apps/agent/nginx/manager_test.go +++ b/internal/apps/agent/nginx/manager_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/mimetypes.go b/internal/apps/agent/nginx/mimetypes.go index 8d2fb044..cb6f6a03 100644 --- a/internal/apps/agent/nginx/mimetypes.go +++ b/internal/apps/agent/nginx/mimetypes.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx // DefaultMimeTypes is the embedded nginx mime.types map used by generated configs. diff --git a/internal/apps/agent/nginx/observability_assets.go b/internal/apps/agent/nginx/observability_assets.go index 55b05181..8c0f4a49 100644 --- a/internal/apps/agent/nginx/observability_assets.go +++ b/internal/apps/agent/nginx/observability_assets.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import "github.com/Rain-kl/Wavelet/internal/apps/agent/protocol" diff --git a/internal/apps/agent/nginx/observability_assets_test.go b/internal/apps/agent/nginx/observability_assets_test.go index c34891a8..b74646d9 100644 --- a/internal/apps/agent/nginx/observability_assets_test.go +++ b/internal/apps/agent/nginx/observability_assets_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/pow_assets.go b/internal/apps/agent/nginx/pow_assets.go index a1fe5aa9..39571142 100644 --- a/internal/apps/agent/nginx/pow_assets.go +++ b/internal/apps/agent/nginx/pow_assets.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/pow_assets_test.go b/internal/apps/agent/nginx/pow_assets_test.go index 5ba80af8..bf457808 100644 --- a/internal/apps/agent/nginx/pow_assets_test.go +++ b/internal/apps/agent/nginx/pow_assets_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/runtime_access.go b/internal/apps/agent/nginx/runtime_access.go index 7b733ca2..320e734e 100644 --- a/internal/apps/agent/nginx/runtime_access.go +++ b/internal/apps/agent/nginx/runtime_access.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/runtime_access_test.go b/internal/apps/agent/nginx/runtime_access_test.go index e8678f8a..7df4139c 100644 --- a/internal/apps/agent/nginx/runtime_access_test.go +++ b/internal/apps/agent/nginx/runtime_access_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/sw_assets.go b/internal/apps/agent/nginx/sw_assets.go index 135b958e..4462fc49 100644 --- a/internal/apps/agent/nginx/sw_assets.go +++ b/internal/apps/agent/nginx/sw_assets.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/sw_assets_test.go b/internal/apps/agent/nginx/sw_assets_test.go index d59e5804..cf3b4020 100644 --- a/internal/apps/agent/nginx/sw_assets_test.go +++ b/internal/apps/agent/nginx/sw_assets_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/waf_assets.go b/internal/apps/agent/nginx/waf_assets.go index 1ecd0ef2..ba41afb5 100644 --- a/internal/apps/agent/nginx/waf_assets.go +++ b/internal/apps/agent/nginx/waf_assets.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/nginx/waf_assets_test.go b/internal/apps/agent/nginx/waf_assets_test.go index 289b119c..2459ea80 100644 --- a/internal/apps/agent/nginx/waf_assets_test.go +++ b/internal/apps/agent/nginx/waf_assets_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package nginx import ( diff --git a/internal/apps/agent/observability/collector.go b/internal/apps/agent/observability/collector.go index 1bf1e4fd..ce991aba 100644 --- a/internal/apps/agent/observability/collector.go +++ b/internal/apps/agent/observability/collector.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package observability provides system and service level observability data collection for the agent. package observability diff --git a/internal/apps/agent/observability/openresty_local.go b/internal/apps/agent/observability/openresty_local.go index 8605428e..d77355e2 100644 --- a/internal/apps/agent/observability/openresty_local.go +++ b/internal/apps/agent/observability/openresty_local.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package observability import ( diff --git a/internal/apps/agent/observability/openresty_local_test.go b/internal/apps/agent/observability/openresty_local_test.go index 37e41458..20fbae76 100644 --- a/internal/apps/agent/observability/openresty_local_test.go +++ b/internal/apps/agent/observability/openresty_local_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package observability import ( diff --git a/internal/apps/agent/observability/traffic.go b/internal/apps/agent/observability/traffic.go index 193d4f08..5bd22853 100644 --- a/internal/apps/agent/observability/traffic.go +++ b/internal/apps/agent/observability/traffic.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package observability import ( diff --git a/internal/apps/agent/observability/traffic_test.go b/internal/apps/agent/observability/traffic_test.go index 451b7bb3..dd8d658b 100644 --- a/internal/apps/agent/observability/traffic_test.go +++ b/internal/apps/agent/observability/traffic_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package observability import ( diff --git a/internal/apps/agent/protocol/alias.go b/internal/apps/agent/protocol/alias.go index a7c5ce0c..653670b2 100644 --- a/internal/apps/agent/protocol/alias.go +++ b/internal/apps/agent/protocol/alias.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package protocol defines type aliases and constants for the agent protocol. package protocol diff --git a/internal/apps/agent/runtimeuser/runtimeuser.go b/internal/apps/agent/runtimeuser/runtimeuser.go index 7a4089f0..691f8030 100644 --- a/internal/apps/agent/runtimeuser/runtimeuser.go +++ b/internal/apps/agent/runtimeuser/runtimeuser.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package runtimeuser defines the shared OS account used by the agent process // and OpenResty worker processes so file ownership stays aligned. package runtimeuser diff --git a/internal/apps/agent/runtimeuser/runtimeuser_test.go b/internal/apps/agent/runtimeuser/runtimeuser_test.go index 8a392e97..46d1fe6a 100644 --- a/internal/apps/agent/runtimeuser/runtimeuser_test.go +++ b/internal/apps/agent/runtimeuser/runtimeuser_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package runtimeuser import ( diff --git a/internal/apps/agent/runtimeuser/runtimeuser_unix.go b/internal/apps/agent/runtimeuser/runtimeuser_unix.go index b522d74d..41f33b6a 100644 --- a/internal/apps/agent/runtimeuser/runtimeuser_unix.go +++ b/internal/apps/agent/runtimeuser/runtimeuser_unix.go @@ -1,5 +1,8 @@ //go:build unix +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package runtimeuser import ( diff --git a/internal/apps/agent/state/observability_buffer.go b/internal/apps/agent/state/observability_buffer.go index 2509e183..a369f9a0 100644 --- a/internal/apps/agent/state/observability_buffer.go +++ b/internal/apps/agent/state/observability_buffer.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package state persists agent runtime state and observability snapshots. package state diff --git a/internal/apps/agent/state/observability_buffer_test.go b/internal/apps/agent/state/observability_buffer_test.go index 75e5b2ae..19fb527c 100644 --- a/internal/apps/agent/state/observability_buffer_test.go +++ b/internal/apps/agent/state/observability_buffer_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package state import ( diff --git a/internal/apps/agent/state/state.go b/internal/apps/agent/state/state.go index e242cc31..e57b45b6 100644 --- a/internal/apps/agent/state/state.go +++ b/internal/apps/agent/state/state.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package state import ( diff --git a/internal/apps/agent/state/state_test.go b/internal/apps/agent/state/state_test.go index 48719655..b34a067c 100644 --- a/internal/apps/agent/state/state_test.go +++ b/internal/apps/agent/state/state_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package state import ( diff --git a/internal/apps/agent/sync/sync_helpers.go b/internal/apps/agent/sync/sync_helpers.go index 681eb89f..e4973267 100644 --- a/internal/apps/agent/sync/sync_helpers.go +++ b/internal/apps/agent/sync/sync_helpers.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package sync import ( diff --git a/internal/apps/agent/updater/updater.go b/internal/apps/agent/updater/updater.go index ce8e16e3..e8749d32 100644 --- a/internal/apps/agent/updater/updater.go +++ b/internal/apps/agent/updater/updater.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package updater provides agent self-update integration with the edge updater. package updater diff --git a/internal/apps/agent/wsclient/client.go b/internal/apps/agent/wsclient/client.go index 7530c033..f25e2149 100644 --- a/internal/apps/agent/wsclient/client.go +++ b/internal/apps/agent/wsclient/client.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package wsclient provides the agent-side WebSocket client for connecting to the OpenFlare server. package wsclient diff --git a/internal/apps/edge/config/duration.go b/internal/apps/edge/config/duration.go index 86303c08..6665efae 100644 --- a/internal/apps/edge/config/duration.go +++ b/internal/apps/edge/config/duration.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package config provides shared configuration types for edge applications. package config diff --git a/internal/apps/edge/config/duration_test.go b/internal/apps/edge/config/duration_test.go index 00362a34..ecdb8a3a 100644 --- a/internal/apps/edge/config/duration_test.go +++ b/internal/apps/edge/config/duration_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package config import ( diff --git a/internal/apps/edge/heartbeat/autoupdate.go b/internal/apps/edge/heartbeat/autoupdate.go index bda6cab2..09cd69c0 100644 --- a/internal/apps/edge/heartbeat/autoupdate.go +++ b/internal/apps/edge/heartbeat/autoupdate.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package heartbeat handles periodic heartbeat and update checks. package heartbeat diff --git a/internal/apps/edge/heartbeat/loop.go b/internal/apps/edge/heartbeat/loop.go index a79da752..7b8523ef 100644 --- a/internal/apps/edge/heartbeat/loop.go +++ b/internal/apps/edge/heartbeat/loop.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package heartbeat import ( diff --git a/internal/apps/edge/heartbeat/loop_test.go b/internal/apps/edge/heartbeat/loop_test.go index 6d9df1c5..76f0884b 100644 --- a/internal/apps/edge/heartbeat/loop_test.go +++ b/internal/apps/edge/heartbeat/loop_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package heartbeat import ( diff --git a/internal/apps/edge/httpclient/client.go b/internal/apps/edge/httpclient/client.go index 3f4b5420..77ae3ef6 100644 --- a/internal/apps/edge/httpclient/client.go +++ b/internal/apps/edge/httpclient/client.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package httpclient provides an authenticated HTTP client for edge services. package httpclient diff --git a/internal/apps/edge/logging/logging.go b/internal/apps/edge/logging/logging.go index b80071b5..2763f0f3 100644 --- a/internal/apps/edge/logging/logging.go +++ b/internal/apps/edge/logging/logging.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package logging configures structured logging for edge applications. package logging diff --git a/internal/apps/edge/nodeip/nodeip.go b/internal/apps/edge/nodeip/nodeip.go index 61233a93..2a3a5e96 100644 --- a/internal/apps/edge/nodeip/nodeip.go +++ b/internal/apps/edge/nodeip/nodeip.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package nodeip detects the preferred public IP address for edge nodes. package nodeip diff --git a/internal/apps/edge/observability/linux.go b/internal/apps/edge/observability/linux.go index 64c86fa4..2c5f7c2b 100644 --- a/internal/apps/edge/observability/linux.go +++ b/internal/apps/edge/observability/linux.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package observability provides helpers that read Linux /proc and /sys metrics for system monitoring. package observability diff --git a/internal/apps/edge/observability/linux_test.go b/internal/apps/edge/observability/linux_test.go index 7a28fbd2..8acee91e 100644 --- a/internal/apps/edge/observability/linux_test.go +++ b/internal/apps/edge/observability/linux_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package observability import ( diff --git a/internal/apps/edge/runner/wsreconnect.go b/internal/apps/edge/runner/wsreconnect.go index 4db235d0..f56c2785 100644 --- a/internal/apps/edge/runner/wsreconnect.go +++ b/internal/apps/edge/runner/wsreconnect.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package runner provides shared WebSocket reconnect helpers for edge daemons. package runner diff --git a/internal/apps/edge/updater/restart_unix.go b/internal/apps/edge/updater/restart_unix.go index fb54c195..c350eecf 100644 --- a/internal/apps/edge/updater/restart_unix.go +++ b/internal/apps/edge/updater/restart_unix.go @@ -1,5 +1,8 @@ //go:build !windows +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package updater provides capabilities to check for, download, and apply updates. package updater diff --git a/internal/apps/edge/updater/restart_unix_test.go b/internal/apps/edge/updater/restart_unix_test.go index a984346a..581da678 100644 --- a/internal/apps/edge/updater/restart_unix_test.go +++ b/internal/apps/edge/updater/restart_unix_test.go @@ -1,5 +1,8 @@ //go:build !windows +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package updater import ( diff --git a/internal/apps/edge/updater/restart_windows.go b/internal/apps/edge/updater/restart_windows.go index 66cb5e61..2e2d7da3 100644 --- a/internal/apps/edge/updater/restart_windows.go +++ b/internal/apps/edge/updater/restart_windows.go @@ -1,5 +1,8 @@ //go:build windows +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package updater import ( diff --git a/internal/apps/edge/updater/service.go b/internal/apps/edge/updater/service.go index a1f87fbb..26ed56a9 100644 --- a/internal/apps/edge/updater/service.go +++ b/internal/apps/edge/updater/service.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package updater provides capabilities to check for, download, and apply updates. package updater diff --git a/internal/apps/edge/updater/service_test.go b/internal/apps/edge/updater/service_test.go index e50bbc33..1367d8fa 100644 --- a/internal/apps/edge/updater/service_test.go +++ b/internal/apps/edge/updater/service_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package updater import ( diff --git a/internal/apps/edge/wsclient/client.go b/internal/apps/edge/wsclient/client.go index fbb006eb..ce3e1de9 100644 --- a/internal/apps/edge/wsclient/client.go +++ b/internal/apps/edge/wsclient/client.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package wsclient provides WebSocket client abstractions for edge node communication. package wsclient diff --git a/internal/apps/edge/wsclient/client_test.go b/internal/apps/edge/wsclient/client_test.go index 591ee9d5..a4e5961a 100644 --- a/internal/apps/edge/wsclient/client_test.go +++ b/internal/apps/edge/wsclient/client_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package wsclient import ( diff --git a/internal/apps/flared/config/config.go b/internal/apps/flared/config/config.go index 11038304..0e61a88a 100644 --- a/internal/apps/flared/config/config.go +++ b/internal/apps/flared/config/config.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package config loads and persists flared daemon configuration. package config diff --git a/internal/apps/flared/config/version.go b/internal/apps/flared/config/version.go index 657a95de..e6dd9ee6 100644 --- a/internal/apps/flared/config/version.go +++ b/internal/apps/flared/config/version.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package config // Version is the flared daemon build version string. diff --git a/internal/apps/flared/flared/runner.go b/internal/apps/flared/flared/runner.go index 87743a54..5253964d 100644 --- a/internal/apps/flared/flared/runner.go +++ b/internal/apps/flared/flared/runner.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package flared implements the tunnel client daemon runtime loop. package flared diff --git a/internal/apps/flared/frpc/manager.go b/internal/apps/flared/frpc/manager.go index 2ead004c..2b3b9f43 100644 --- a/internal/apps/flared/frpc/manager.go +++ b/internal/apps/flared/frpc/manager.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package frpc manages frpc child processes for tunnel relay connections. package frpc diff --git a/internal/apps/flared/frpc/manager_test.go b/internal/apps/flared/frpc/manager_test.go index 3e18c9d1..88e6af4e 100644 --- a/internal/apps/flared/frpc/manager_test.go +++ b/internal/apps/flared/frpc/manager_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package frpc import ( diff --git a/internal/apps/flared/heartbeat/service.go b/internal/apps/flared/heartbeat/service.go index a9654720..3441b14d 100644 --- a/internal/apps/flared/heartbeat/service.go +++ b/internal/apps/flared/heartbeat/service.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package heartbeat runs the periodic flared heartbeat loop against the control plane. package heartbeat diff --git a/internal/apps/flared/httpclient/client.go b/internal/apps/flared/httpclient/client.go index 2426f21e..b46e5ce4 100644 --- a/internal/apps/flared/httpclient/client.go +++ b/internal/apps/flared/httpclient/client.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package httpclient provides the HTTP client used by the flared agent to communicate with the Wavelet server. package httpclient diff --git a/internal/apps/flared/sync/service.go b/internal/apps/flared/sync/service.go index 35cc290e..0bc86e82 100644 --- a/internal/apps/flared/sync/service.go +++ b/internal/apps/flared/sync/service.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package sync periodically fetches and applies the active tunnel configuration. package sync diff --git a/internal/apps/flared/updater/updater.go b/internal/apps/flared/updater/updater.go index 7fbeb2fd..fa9ad6de 100644 --- a/internal/apps/flared/updater/updater.go +++ b/internal/apps/flared/updater/updater.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package updater provides update service capabilities for flared. package updater diff --git a/internal/apps/flared/wsclient/client.go b/internal/apps/flared/wsclient/client.go index 389a0adb..9fef647f 100644 --- a/internal/apps/flared/wsclient/client.go +++ b/internal/apps/flared/wsclient/client.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package wsclient provides a WebSocket client for flared control-plane communication. package wsclient diff --git a/internal/apps/openflare/async_tasks.go b/internal/apps/openflare/async_tasks.go index 626ecc11..7a4944d3 100644 --- a/internal/apps/openflare/async_tasks.go +++ b/internal/apps/openflare/async_tasks.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package openflare implements openflare configuration, service orchestration, and background tasks. package openflare diff --git a/internal/apps/openflare/geoip/data/data.go b/internal/apps/openflare/geoip/data/data.go index dfbcae06..3d699cba 100644 --- a/internal/apps/openflare/geoip/data/data.go +++ b/internal/apps/openflare/geoip/data/data.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package data embeds the MaxMind GeoLite2 Country database for the control plane. // // Server keeps a Country-only embed so MaxMind provider can seed without network. diff --git a/internal/apps/openflare/geoip/data/data_test.go b/internal/apps/openflare/geoip/data/data_test.go index 8c43a70f..36b99d83 100644 --- a/internal/apps/openflare/geoip/data/data_test.go +++ b/internal/apps/openflare/geoip/data/data_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package data import ( diff --git a/internal/apps/openflare/geoip/runtime_test.go b/internal/apps/openflare/geoip/runtime_test.go index 130ae2c9..0b66f181 100644 --- a/internal/apps/openflare/geoip/runtime_test.go +++ b/internal/apps/openflare/geoip/runtime_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/internal/apps/openflare/observability/access_log_ip_summary_test.go b/internal/apps/openflare/observability/access_log_ip_summary_test.go index 15c14c5f..b14d519d 100644 --- a/internal/apps/openflare/observability/access_log_ip_summary_test.go +++ b/internal/apps/openflare/observability/access_log_ip_summary_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package observability import ( diff --git a/internal/apps/openflare/observability/access_log_logics.go b/internal/apps/openflare/observability/access_log_logics.go index 75c5132a..be9b2c8e 100644 --- a/internal/apps/openflare/observability/access_log_logics.go +++ b/internal/apps/openflare/observability/access_log_logics.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package observability provides monitoring, metrics, and access log analysis for OpenFlare. package observability diff --git a/internal/apps/relay/config/config.go b/internal/apps/relay/config/config.go index dd841c8e..1d9ce32e 100644 --- a/internal/apps/relay/config/config.go +++ b/internal/apps/relay/config/config.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package config loads and persists relay daemon configuration. package config diff --git a/internal/apps/relay/config/version.go b/internal/apps/relay/config/version.go index 2b9656fb..66711aff 100644 --- a/internal/apps/relay/config/version.go +++ b/internal/apps/relay/config/version.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package config // Version is the relay daemon build version string. diff --git a/internal/apps/relay/frps/manager.go b/internal/apps/relay/frps/manager.go index 929ba08c..ce244569 100644 --- a/internal/apps/relay/frps/manager.go +++ b/internal/apps/relay/frps/manager.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package frps manages the lifecycle of the frps reverse-proxy process: // rendering its TOML config, supervising the child process with exponential- // backoff restarts, and exposing runtime status to the heartbeat subsystem. diff --git a/internal/apps/relay/frps/manager_test.go b/internal/apps/relay/frps/manager_test.go index 62d3846e..52b5a7c4 100644 --- a/internal/apps/relay/frps/manager_test.go +++ b/internal/apps/relay/frps/manager_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package frps import ( diff --git a/internal/apps/relay/heartbeat/service.go b/internal/apps/relay/heartbeat/service.go index 1d039f30..268f9569 100644 --- a/internal/apps/relay/heartbeat/service.go +++ b/internal/apps/relay/heartbeat/service.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package heartbeat sends periodic relay node status to the control plane. package heartbeat diff --git a/internal/apps/relay/httpclient/client.go b/internal/apps/relay/httpclient/client.go index 8176cc55..2d413ae3 100644 --- a/internal/apps/relay/httpclient/client.go +++ b/internal/apps/relay/httpclient/client.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package httpclient provides an HTTP client for relay control-plane communication. package httpclient diff --git a/internal/apps/relay/observability/collector.go b/internal/apps/relay/observability/collector.go index c314b401..76aeed0d 100644 --- a/internal/apps/relay/observability/collector.go +++ b/internal/apps/relay/observability/collector.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package observability collects relay node profile data for heartbeat reporting. package observability diff --git a/internal/apps/relay/relay/runner.go b/internal/apps/relay/relay/runner.go index 658e8dfe..8d484b21 100644 --- a/internal/apps/relay/relay/runner.go +++ b/internal/apps/relay/relay/runner.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package relay implements the relay node daemon runtime loop. package relay diff --git a/internal/apps/relay/state/store.go b/internal/apps/relay/state/store.go index dff9634b..b97c5011 100644 --- a/internal/apps/relay/state/store.go +++ b/internal/apps/relay/state/store.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package state persists relay runtime state to disk. package state diff --git a/internal/apps/relay/updater/updater.go b/internal/apps/relay/updater/updater.go index d413f2c0..8ff93ba2 100644 --- a/internal/apps/relay/updater/updater.go +++ b/internal/apps/relay/updater/updater.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package updater provides relay self-update integration with the edge updater. package updater diff --git a/internal/apps/relay/wsclient/client.go b/internal/apps/relay/wsclient/client.go index d71d83cc..94e7e6c4 100644 --- a/internal/apps/relay/wsclient/client.go +++ b/internal/apps/relay/wsclient/client.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package wsclient provides a WebSocket client for relay control-plane communication. package wsclient diff --git a/internal/infra/config/config_test.go b/internal/infra/config/config_test.go index e54f5a81..d353490f 100644 --- a/internal/infra/config/config_test.go +++ b/internal/infra/config/config_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package config import "testing" diff --git a/internal/infra/persistence/redis_test.go b/internal/infra/persistence/redis_test.go index ace2e50e..55ec55e2 100644 --- a/internal/infra/persistence/redis_test.go +++ b/internal/infra/persistence/redis_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package db import ( diff --git a/internal/infra/task/utils_test.go b/internal/infra/task/utils_test.go index aae01e32..b16ab71d 100644 --- a/internal/infra/task/utils_test.go +++ b/internal/infra/task/utils_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package task import ( diff --git a/internal/repository/openflare_apply_log_test.go b/internal/repository/openflare_apply_log_test.go index 9408f9cd..224716de 100644 --- a/internal/repository/openflare_apply_log_test.go +++ b/internal/repository/openflare_apply_log_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package repository import ( diff --git a/internal/repository/openflare_zone.go b/internal/repository/openflare_zone.go index a7a6ae8d..e73aa42c 100644 --- a/internal/repository/openflare_zone.go +++ b/internal/repository/openflare_zone.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package repository import ( diff --git a/internal/repository/task_execution.go b/internal/repository/task_execution.go index 8d60d398..81284f2c 100644 --- a/internal/repository/task_execution.go +++ b/internal/repository/task_execution.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package repository import ( diff --git a/pkg/geoip/country_centroid.go b/pkg/geoip/country_centroid.go index de84a8ad..09df6d53 100644 --- a/pkg/geoip/country_centroid.go +++ b/pkg/geoip/country_centroid.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import "strings" diff --git a/pkg/geoip/country_centroid_test.go b/pkg/geoip/country_centroid_test.go index d70d316d..c111fd70 100644 --- a/pkg/geoip/country_centroid_test.go +++ b/pkg/geoip/country_centroid_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import "testing" diff --git a/pkg/geoip/emptyProvider.go b/pkg/geoip/emptyProvider.go index 82839ea4..3e51fe94 100644 --- a/pkg/geoip/emptyProvider.go +++ b/pkg/geoip/emptyProvider.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/pkg/geoip/geoip.go b/pkg/geoip/geoip.go index 08b50f92..2c918f7b 100644 --- a/pkg/geoip/geoip.go +++ b/pkg/geoip/geoip.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package geoip resolves geographic information for IP addresses. package geoip diff --git a/pkg/geoip/geoip_test.go b/pkg/geoip/geoip_test.go index d606cfed..334a1401 100644 --- a/pkg/geoip/geoip_test.go +++ b/pkg/geoip/geoip_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/pkg/geoip/geojs.go b/pkg/geoip/geojs.go index 7196f0e0..0f6782fc 100644 --- a/pkg/geoip/geojs.go +++ b/pkg/geoip/geojs.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/pkg/geoip/ipapi.go b/pkg/geoip/ipapi.go index 6378242d..c1c823e7 100644 --- a/pkg/geoip/ipapi.go +++ b/pkg/geoip/ipapi.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/pkg/geoip/ipinfo.go b/pkg/geoip/ipinfo.go index c7a97d50..0a7bdb17 100644 --- a/pkg/geoip/ipinfo.go +++ b/pkg/geoip/ipinfo.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/pkg/geoip/iputil/iputil.go b/pkg/geoip/iputil/iputil.go index 3dc7243c..d6078854 100644 --- a/pkg/geoip/iputil/iputil.go +++ b/pkg/geoip/iputil/iputil.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package iputil provides helpers for parsing, normalizing, and scoring IP addresses. package iputil diff --git a/pkg/geoip/iputil/iputil_test.go b/pkg/geoip/iputil/iputil_test.go index c05a5724..8a642eac 100644 --- a/pkg/geoip/iputil/iputil_test.go +++ b/pkg/geoip/iputil/iputil_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package iputil import ( diff --git a/pkg/geoip/mmdb.go b/pkg/geoip/mmdb.go index 2e760447..18132f5f 100644 --- a/pkg/geoip/mmdb.go +++ b/pkg/geoip/mmdb.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/pkg/geoip/outboundip.go b/pkg/geoip/outboundip.go index 6f7a82ff..50990dba 100644 --- a/pkg/geoip/outboundip.go +++ b/pkg/geoip/outboundip.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/pkg/geoip/outboundip_test.go b/pkg/geoip/outboundip_test.go index 6dd8a232..cfa4b21d 100644 --- a/pkg/geoip/outboundip_test.go +++ b/pkg/geoip/outboundip_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package geoip import ( diff --git a/pkg/protocol/server.go b/pkg/protocol/server.go index cd473b6f..bff3e1d6 100644 --- a/pkg/protocol/server.go +++ b/pkg/protocol/server.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package protocol // AgentNodeSystemProfile is an alias for NodeSystemProfile used by server. diff --git a/pkg/render/openresty/origin_error_page.go b/pkg/render/openresty/origin_error_page.go index 29b18ae5..63608ae9 100644 --- a/pkg/render/openresty/origin_error_page.go +++ b/pkg/render/openresty/origin_error_page.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package openresty import ( diff --git a/pkg/render/openresty/origin_error_page_test.go b/pkg/render/openresty/origin_error_page_test.go index 466c91d6..7bd1450c 100644 --- a/pkg/render/openresty/origin_error_page_test.go +++ b/pkg/render/openresty/origin_error_page_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package openresty import ( diff --git a/pkg/render/openresty/render.go b/pkg/render/openresty/render.go index 8a8ecaa8..0b775fb5 100644 --- a/pkg/render/openresty/render.go +++ b/pkg/render/openresty/render.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package openresty renders OpenResty configuration from proxy route definitions. package openresty diff --git a/pkg/render/openresty/render_route.go b/pkg/render/openresty/render_route.go index 7b0e07f7..e05c9e8e 100644 --- a/pkg/render/openresty/render_route.go +++ b/pkg/render/openresty/render_route.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package openresty import ( diff --git a/pkg/render/openresty/render_test.go b/pkg/render/openresty/render_test.go index dbbe9904..ff4a398b 100644 --- a/pkg/render/openresty/render_test.go +++ b/pkg/render/openresty/render_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package openresty import ( diff --git a/pkg/render/openresty/service_worker.go b/pkg/render/openresty/service_worker.go index 44bcd97d..2b3cfb8f 100644 --- a/pkg/render/openresty/service_worker.go +++ b/pkg/render/openresty/service_worker.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package openresty import ( diff --git a/pkg/render/openresty/service_worker_test.go b/pkg/render/openresty/service_worker_test.go index aa02006d..7da60f18 100644 --- a/pkg/render/openresty/service_worker_test.go +++ b/pkg/render/openresty/service_worker_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package openresty import ( diff --git a/pkg/render/openresty/status_codes_test.go b/pkg/render/openresty/status_codes_test.go index 461672cd..98c82daa 100644 --- a/pkg/render/openresty/status_codes_test.go +++ b/pkg/render/openresty/status_codes_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package openresty import "testing" diff --git a/pkg/render/openresty/types.go b/pkg/render/openresty/types.go index 27f5b91d..4def7a9b 100644 --- a/pkg/render/openresty/types.go +++ b/pkg/render/openresty/types.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package openresty import ( diff --git a/pkg/util/format.go b/pkg/util/format.go index 992a9ac5..5b18daba 100644 --- a/pkg/util/format.go +++ b/pkg/util/format.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package util provides shared formatting and string helper functions. package util diff --git a/pkg/util/format_test.go b/pkg/util/format_test.go index 9c200bad..b2fd973f 100644 --- a/pkg/util/format_test.go +++ b/pkg/util/format_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package util import ( diff --git a/pkg/util/network.go b/pkg/util/network.go index 68083a9f..d7b864d5 100644 --- a/pkg/util/network.go +++ b/pkg/util/network.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package util import ( diff --git a/pkg/util/network_test.go b/pkg/util/network_test.go index 94c2493f..62a9bd21 100644 --- a/pkg/util/network_test.go +++ b/pkg/util/network_test.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package util import ( diff --git a/pkg/util/slice.go b/pkg/util/slice.go index 53025013..74eb7139 100644 --- a/pkg/util/slice.go +++ b/pkg/util/slice.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package util import ( diff --git a/pkg/util/string.go b/pkg/util/string.go index d052a239..9ea84e8d 100644 --- a/pkg/util/string.go +++ b/pkg/util/string.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package util import "strings" diff --git a/pkg/util/value.go b/pkg/util/value.go index 25776634..6473bd53 100644 --- a/pkg/util/value.go +++ b/pkg/util/value.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package util import ( diff --git a/pkg/util/version.go b/pkg/util/version.go index dda8fd14..96118b06 100644 --- a/pkg/util/version.go +++ b/pkg/util/version.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package util import ( diff --git a/pkg/util/version_compare.go b/pkg/util/version_compare.go index 36cbf58d..c7e3d014 100644 --- a/pkg/util/version_compare.go +++ b/pkg/util/version_compare.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + package util import "strconv" diff --git a/pkg/wsclient/client.go b/pkg/wsclient/client.go index 467b539e..32ec5a70 100644 --- a/pkg/wsclient/client.go +++ b/pkg/wsclient/client.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package wsclient provides a WebSocket client for agent/server communication. package wsclient diff --git a/scripts/live_ch_smoke/main.go b/scripts/live_ch_smoke/main.go index df9e46db..25655075 100644 --- a/scripts/live_ch_smoke/main.go +++ b/scripts/live_ch_smoke/main.go @@ -1,3 +1,6 @@ +// Copyright 2026 Arctel.net +// SPDX-License-Identifier: Apache-2.0 + // Package main is a manual smoke tool for ClickHouse app write path. // Usage (from repo root, with config.yaml and Docker CH up): //