Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
C

cdk

> 编程语言
Open source

LINUX DO CD key

701 stars0 likes2 views
WebsiteGitHub

About

LINUX DO CD key

LINUX DO CDK

Linux Do 社区 CDK (Content Distribution Kit) 快速分享平台

项目简介

LINUX DO CDK 是一个为 Linux Do 社区打造的内容分发工具平台,旨在提供快速、安全、便捷的 CDK 分享服务。平台支持多种分发方式,具备完善的用户权限管理和风险控制机制。

✨ 主要特性

  • OAuth2 认证 - 集成 Linux Do 社区账号系统
  • 多种分发模式 - 支持不同的 CDK 分发策略
  • ️ 风险控制 - 完善的信任等级和风险评估系统
  • 实时监控 - 详细的分发统计和用户行为分析
  • 现代化界面 - 基于 Next.js 15 和 React 19 的响应式设计
  • ⚡ 高性能 - Go 后端 + Redis 缓存 + MySQL 数据库

️ 架构概览

…

️ 技术栈

后端

  • Go 1.24 - 主要开发语言
  • Gin - Web 框架
  • GORM - ORM 框架
  • Redis - 缓存和会话存储
  • MySQL - 主数据库
  • OpenTelemetry - 可观测性
  • Swagger - API 文档

前端

  • Next.js 15 - React 框架
  • React 19 - UI 库
  • TypeScript - 类型安全
  • Tailwind CSS 4 - 样式框架
  • Shadcn UI - 组件库
  • Lucide Icons - 图标库

环境要求

  • Go >= 1.24
  • Node.js >= 18.0
  • MySQL >= 8.0
  • Redis >= 6.0
  • pnpm >= 8.0 (推荐)

快速开始

1. 克隆项目

bash
git clone https://github.com/linux-do/cdk.git
cd cdk

2. 配置环境

复制配置文件并编辑:

bash
cp config.example.yaml config.yaml

编辑 config.yaml 文件,配置数据库连接、Redis、OAuth2 等信息。

3. 初始化数据库

bash
# 创建数据库
mysql -u root -p -e "CREATE DATABASE linux_do_cdk CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

# 运行迁移(启动后端时会自动执行)

4. 启动后端

bash
# 安装 Go 依赖
go mod tidy

# 生成 API 文档
make swagger

# 启动后端服务
go run main.go api

5. 启动前端

bash
cd frontend

# 安装依赖
pnpm install

# 启动开发服务器
pnpm dev

6. 访问应用

  • 前端界面: http://localhost:3000
  • API 文档: http://localhost:8000/swagger/index.html
  • 健康检查: http://localhost:8000/api/v1/health
  • 就绪检查: http://localhost:8000/api/v1/ready

⚙️ 配置说明

主要配置项

配置项 说明 示例
app.addr 后端服务监听地址 :8000
worker.port Worker 探针端口 8001
schedule.port Beat/Scheduler 探针端口 8002
oauth2.client_id OAuth2 客户端 ID your_client_id
database.host MySQL 数据库地址 127.0.0.1
redis.host Redis 服务器地址 127.0.0.1

详细配置说明请参考 config.example.yaml 文件。

开发指南

后端开发

bash
# 运行 API 服务器
go run main.go api

# 运行任务调度器
go run main.go scheduler

# 运行工作队列
go run main.go worker

# 生成 Swagger 文档
make swagger

# 代码格式化和检查
make tidy

前端开发

bash
cd frontend

# 开发模式(使用 Turbopack)
pnpm dev

# 构建生产版本
pnpm build

# 启动生产服务
pnpm start

# 代码检查和格式化
pnpm lint
pnpm format

API 文档

API 文档通过 Swagger 自动生成,启动后端服务后可访问:

http://localhost:8000/swagger/index.html

主要 API 端点

  • GET /api/v1/health - 健康检查
  • GET /api/v1/ready - 就绪检查
  • GET /api/oauth2/login - OAuth2 登录
  • GET /api/projects - 获取项目列表
  • POST /api/projects - 创建新项目

测试

bash
# 后端测试
go test ./...

# 前端测试
cd frontend
pnpm test

部署

Docker 部署

bash
# 构建镜像
docker build -t linux-do-cdk .

# 运行容器
docker run -d -p 8000:8000 linux-do-cdk

生产环境部署

  1. 构建前端资源:

    bash
    cd frontend && pnpm build
  2. 编译后端程序:

    bash
    go build -o cdk main.go
  3. 配置生产环境的 config.yaml

  4. 启动服务:

    bash
    ./cdk api

贡献指南

我们欢迎社区贡献!请在提交代码前阅读:

  • 贡献指南
  • 行为准则
  • 贡献者许可协议

提交流程

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/your-feature)
  3. 提交更改 (git commit -am 'Add your feature')
  4. 推送到分支 (git push origin feature/your-feature)
  5. 创建 Pull Request

许可证

本项目基于 MIT 许可证 开源。

相关链接

  • Linux Do 社区
  • 问题反馈
  • 功能请求

❤️ 致谢

感谢所有为本项目做出贡献的开发者和 Linux Do 社区的支持!

项目趋势

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScript

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言