# hdycode 完全独立的项目、教程和文件发布平台。项目直接上传并保存在自己的服务器,不依赖 GitHub、GitLab 或其他代码托管服务。 ## 发布流程 1. 注册并登录平台账户 2. 创建项目,项目首先进入草稿状态 3. 填写版本号和更新说明,上传源码 ZIP 4. 检查 README,继续添加教程和附件 5. 确认内容无误后公开发布 ## 代码更新流程 1. 准备并测试新版代码 2. 填写新的版本号和更新说明 3. 上传新版源码 ZIP 4. 当前源码自动更新,旧版本继续保留并可下载 脚本、CLI 和持续集成工具也可以通过 OpenAPI 完成自动化发布。 ## 已实现 - 平台原生项目创建 - 注册登录、持久会话和项目所有权 - 独立项目列表与搜索 - 草稿、确认发布和公开展示 - 版本化源码上传、历史版本与更新说明 - README 渲染和源码目录浏览 - 项目文本文件读取 API - Markdown 教程与附件发布 - 点赞、收藏和项目评论 - 虚拟硬币与项目投币支持 - 每日签到随机领取 1–3 枚硬币 - 社区论坛、分类发帖和讨论回复 - 首页每日浏览量、独立访客和累计统计 - 每用户自动化 API Key、写入鉴权和操作限流 - ZIP 路径穿越、符号链接和解压大小防护 - 拒绝包含 `.git`、`node_modules`、`.env`、`.ssh` 等敏感路径的项目包 - Docker 隔离运行,本地 `data/` 持久化 ## 社区互动规则 - 每个账户可以点赞或收藏项目,再次操作可取消 - 登录用户可以发表评论,评论者和项目作者可以删除 - 新账户初始获得 20 枚硬币 - 每个账户对同一项目最多投入 2 枚,投币后不可撤回 - 项目作者不能给自己的项目投币 ## 启动 ```bash mkdir -p data chown 1000:1000 data docker compose up -d --build curl http://127.0.0.1:3000/health ``` ## 自动化发布 OpenAPI 文档:`https://code.8e.ink/api/v1/openapi.json` 先注册登录,在账户中心生成个人 API Key。脚本或开发工具使用该密钥发布的项目会自动归属这个账户。 创建项目: ```bash curl -X POST 'https://code.8e.ink/api/v1/projects' \ -H 'Content-Type: application/json' \ -H 'X-API-Key: YOUR_KEY' \ -d '{"title":"我的项目","summary":"项目介绍","tags":["Web","工具"]}' ``` 上传源码: ```bash zip -r project.zip . -x '.git/*' 'node_modules/*' '.env*' curl -X POST 'https://code.8e.ink/api/v1/projects/PROJECT_ID/source' \ -H 'X-API-Key: YOUR_KEY' \ -F 'version=v1.0.0' \ -F 'changelog=首次发布' \ -F 'archive=@project.zip' ``` 确认公开发布: ```bash curl -X POST 'https://code.8e.ink/api/v1/projects/PROJECT_ID/publish' \ -H 'X-API-Key: YOUR_KEY' ``` 发布教程: ```bash curl -X POST 'https://code.8e.ink/api/v1/projects/PROJECT_ID/tutorials' \ -H 'X-API-Key: YOUR_KEY' \ -F 'title=快速开始' \ -F 'content=