V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
JameSupeReal
V2EX  ›  分享创造

Github 私有项目授权许可平台 GitStore v1.0.0

  •  
  •   JameSupeReal ·
    nodeloc · 2 天前 · 232 次点击

    🛍️ GitStore

    插件商店和许可证管理平台

    Go Version PostgreSQL License Docker

    专为 Github 私有项目设计的商业分发平台,支持永久许可证 + 时限维护的创新授权模式。

    做这个项目是因为自己有一些 Github 的小玩意,想拿来换点小钱,但没有一个趁手的授权程序,就自己和 AI 双排(主要是 AI)撸了一个。

    Github https://github.com/nodeloc/gitstore

    Demo https://discourseplugin.com

    image|582x499


    💡 为什么选择 Git-Store ?

    你是一位 GitHub 开源开发者吗?想要将你的创意项目变现,同时保持开源精神?

    Git-Store 解决了插件开发者的变现难题:

    • 📦 出售你的插件 - 将业余项目转化为可持续的收入来源
    • 🔓 保持代码开放 - 用户购买后永久拥有代码,无 DRM 锁定
    • 零集成工作 - 无需在插件中添加授权验证代码
    • 🤝 公平模式 - 买家获得永久访问权,你获得持续支持的报酬
    • 🎯 专注创作 - 我们处理支付、访问控制和客户管理

    完美适用于:

    • 👨‍💻 拥有高级插件的独立开发者
    • 🏢 提供商业扩展的团队
    • 💼 提供定制论坛解决方案的代理商
    • 🎓 销售教育类插件的教育工作者

    不再担心盗版和许可证验证。开始从你的创意中获得收益。


    ✨ 核心特性

    🎯 独特的授权模式

    • 永久许可证 - 一次购买,插件代码永久拥有
    • 时限维护期 - 默认 12 个月技术支持和更新
    • 零侵入设计 - 无需在代码中集成授权验证逻辑
    • 灵活访问控制 - 通过 GitHub 组织管理插件访问权限

    🔐 GitHub 深度集成

    • GitHub OAuth 登录,无需额外账号体系
    • 支持个人和组织账号
    • 直接集成 GitHub 仓库
    • 已购插件的自动访问管理

    💳 多种支付方式

    支付方式 覆盖地区 状态
    💎 Stripe 全球 ✅ 已集成
    💚 支付宝 中国 ✅ 已集成

    📧 智能通知系统

    • ✉️ 购买成功即时通知
    • ⏰ 维护到期多级提醒( 30 天/7 天/1 天)
    • 🔔 维护已到期通知
    • ✅ 续费成功确认

    📊 数据分析

    • 实时销售统计和收入趋势
    • 用户增长和活跃度分析
    • 插件下载和使用统计
    • 可视化报表导出

    🏗️ 技术架构

    后端 Go 1.21+ / Gin Framework / GORM
    前端 Vue 3.4 / Vite 5 / TailwindCSS / DaisyUI
    数据库 PostgreSQL 14+
    认证 GitHub OAuth + JWT
    支付 Stripe / PayPal / Alipay
    部署 Docker / Nginx Proxy Manager

    🚀 快速部署

    方式一:Docker 一键部署(推荐)

    # 1. 克隆代码
    git clone https://github.com/nodeloc/gitstore.git /opt/gitstore
    cd /opt/gitstore
    
    # 2. 配置环境变量
    cp .env.example .env
    nano .env  # 修改必要的配置
    
    # 3. 执行部署脚本
    export DOMAIN="your-domain.com"
    sudo ./deploy.sh
    

    部署完成后访问 http://YOUR_SERVER_IP:81 配置 Nginx Proxy Manager 。

    详细步骤请参考 NPM_SETUP.md

    方式二:本地开发

    # 1. 启动数据库(使用 Docker )
    docker-compose up -d postgres
    
    # 2. 运行迁移
    psql -h localhost -p 5433 -U postgres -d git_store < migrations/001_initial_schema.sql
    
    # 3. 启动后端
    go run main.go
    
    # 4. 启动前端
    cd frontend
    npm install
    npm run dev
    

    访问 http://localhost:3001


    ⚙️ 配置指南

    1️⃣ GitHub OAuth 应用

    访问 GitHub Developer Settings 创建 OAuth App:

    获取 Client IDClient Secret

    2️⃣ GitHub 个人访问令牌

    为了管理已购插件的仓库访问权限,你需要一个 GitHub 个人访问令牌:

    1. 访问 GitHub Tokens
    2. 点击「 Generate new token (classic)」
    3. 配置令牌:
      • Note: gitstore admin token
      • Expiration: No expiration (或自定义)
      • Scopes: 选择 admin:orgwrite:org(用于管理组织成员)
    4. 生成并复制令牌

    添加到 .env

    GITHUB_ADMIN_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
    

    说明:此令牌用于在用户购买/过期插件时,自动添加/移除用户到你的 GitHub 组织。

    管理员配置

    [email protected]
    ADMIN_GITHUB_ID=your_github_user_id
    

    设置为管理员的 Github 邮箱和用户名,使用 Github 登录时,会自动将此用户设置为管理员。

    3️⃣ Stripe 支付配置

    访问 Stripe Dashboard

    STRIPE_SECRET_KEY=sk_live_xxx        # 生产环境用 live ,测试用 test
    STRIPE_PUBLISHABLE_KEY=pk_live_xxx
    STRIPE_WEBHOOK_SECRET=whsec_xxx
    

    创建 Webhook(用于接收支付状态):

    4️⃣ 环境变量配置

    完整的 .env 配置示例:

    # 应用配置
    APP_ENV=production
    APP_PORT=8080
    APP_URL=https://your-domain.com
    FRONTEND_URL=https://your-domain.com
    
    # 数据库
    DB_HOST=postgres
    DB_PORT=5432
    DB_USER=postgres
    DB_PASSWORD=your_strong_password
    DB_NAME=git_store
    
    # GitHub OAuth
    GITHUB_CLIENT_ID=your_client_id
    GITHUB_CLIENT_SECRET=your_client_secret
    GITHUB_REDIRECT_URL=https://your-domain.com/api/auth/github/callback
    GITHUB_ORG_NAME=your-org-name
    GITHUB_ADMIN_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
    
    # JWT
    JWT_SECRET=your-random-64-character-secret-key
    JWT_EXPIRY_HOURS=720
    
    # Stripe
    STRIPE_SECRET_KEY=sk_live_xxx
    STRIPE_PUBLISHABLE_KEY=pk_live_xxx
    STRIPE_WEBHOOK_SECRET=whsec_xxx
    
    # 邮件(可选)
    SMTP_HOST=smtp.gmail.com
    SMTP_PORT=587
    [email protected]
    SMTP_PASSWORD=your-app-password
    [email protected]
    

    🎮 使用流程

    管理员端

    1. 登录后台:使用 GitHub 账号登录
    2. 创建分类:为插件设置分类(如:功能增强、主题美化)
    3. 添加插件
      • 填写插件名称、描述、价格
      • 设置 GitHub 仓库地址
      • 配置默认维护期(月)
    4. 管理订单:查看订单状态、收入统计

    image|598x500

    image|583x499

    用户端

    1. 浏览插件:在商店浏览可用插件
    2. 购买插件:选择插件,使用 Stripe 完成支付
    3. 获取访问权:自动获得 GitHub 私有仓库访问权限
    4. 安装插件:通过 GitHub 克隆/下载插件代码
    5. 维护续费:到期前可续费延长更新权限

    整个项目基本都是 AI 写的。花了大概 2 天时间打磨了一下细节。

    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4344 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:02 · PVG 17:02 · LAX 01:02 · JFK 04:02
    ♥ Do have faith in what you're doing.