7 Commits

Author SHA1 Message Date
yanguo0905 a9c57dc0f7 docs: rewrite README sections to clarify no-license deployment 2026-03-24 16:25:16 +08:00
GUGEGEBAIDU a53d3bbbce Update contact link in README.md 2025-12-02 14:16:17 +08:00
GUGEGEBAIDU f714020333 Fix contact link in README.md
Updated the contact link in the README.
2025-11-08 04:25:01 +08:00
谷歌个百度 caae73e83c Remove non-existent features from documentation (refund, VIP, tags, export, etc.) 2025-10-18 16:45:09 +08:00
谷歌个百度 d96c06c472 Remove non-existent refund feature from description 2025-10-18 16:42:36 +08:00
谷歌个百度 ba7ec28dc0 Add comprehensive legal protection: disclaimer, terms of service, and license clarification 2025-10-18 16:39:12 +08:00
谷歌个百度 16c4def753 Add comprehensive optimizations: badges, English README, issue templates 2025-10-18 16:20:20 +08:00
18 changed files with 1008 additions and 385 deletions
+47
View File
@@ -0,0 +1,47 @@
---
name: Bug Report 🐛
about: Report a bug to help us improve
title: '[BUG] '
labels: bug
assignees: ''
---
## 🐛 Bug Description
A clear and concise description of what the bug is.
## 📋 Steps to Reproduce
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
## ✅ Expected Behavior
A clear and concise description of what you expected to happen.
## ❌ Actual Behavior
A clear and concise description of what actually happened.
## 📸 Screenshots
If applicable, add screenshots to help explain your problem.
## 🖥️ Environment
- OS: [e.g. Ubuntu 22.04]
- Python Version: [e.g. 3.11]
- Docker Version: [e.g. 24.0.0]
- Bot Version: [e.g. v1.0.0]
## 📝 Additional Context
Add any other context about the problem here.
## 🔒 License Information
- Customer ID: [e.g. M0001]
- License Status: [Valid/Expired]
- Expiration Date: [e.g. 2025-02-17]
+43
View File
@@ -0,0 +1,43 @@
---
name: Feature Request 💡
about: Suggest an idea for this project
title: '[FEATURE] '
labels: enhancement
assignees: ''
---
## 💡 Feature Description
A clear and concise description of the feature you'd like to see.
## 🎯 Problem Statement
Is your feature request related to a problem? Please describe.
Example: I'm always frustrated when [...]
## 💭 Proposed Solution
A clear and concise description of what you want to happen.
## 🔄 Alternatives Considered
A clear and concise description of any alternative solutions or features you've considered.
## 📊 Use Case
Describe the use case for this feature. Who would benefit from it?
## 📸 Mockups/Examples
If applicable, add mockups or examples to help explain your feature.
## 📝 Additional Context
Add any other context or screenshots about the feature request here.
## 💰 Willingness to Pay
Would you be willing to sponsor this feature?
- [ ] Yes, I'd like to discuss pricing
- [ ] No, but I think it would be valuable
- [ ] Not sure
+37
View File
@@ -0,0 +1,37 @@
---
name: Question ❓
about: Ask a question about the project
title: '[QUESTION] '
labels: question
assignees: ''
---
## ❓ Question
A clear and concise question.
## 📋 Context
Provide any relevant context or background information.
## 🔍 What I've Tried
Describe what you've already tried to solve this issue.
## 📚 Documentation Checked
- [ ] I've read the README
- [ ] I've checked the FAQ
- [ ] I've searched existing issues
- [ ] I've checked the documentation
## 🖥️ Environment (if relevant)
- OS: [e.g. Ubuntu 22.04]
- Python Version: [e.g. 3.11]
- Docker Version: [e.g. 24.0.0]
- Bot Version: [e.g. v1.0.0]
## 📝 Additional Information
Any other information that might be helpful.
+411
View File
@@ -0,0 +1,411 @@
# 🤖 Fakabot - Professional Telegram Auto-Delivery Bot
[![GitHub release](https://img.shields.io/github/v/release/GUGEGEBAIDU/fakabot?style=flat-square)](https://github.com/GUGEGEBAIDU/fakabot/releases)
[![GitHub stars](https://img.shields.io/github/stars/GUGEGEBAIDU/fakabot?style=flat-square)](https://github.com/GUGEGEBAIDU/fakabot/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/GUGEGEBAIDU/fakabot?style=flat-square)](https://github.com/GUGEGEBAIDU/fakabot/network)
[![GitHub issues](https://img.shields.io/github/issues/GUGEGEBAIDU/fakabot?style=flat-square)](https://github.com/GUGEGEBAIDU/fakabot/issues)
[![License](https://img.shields.io/badge/license-Commercial-blue.svg?style=flat-square)]()
[![Python](https://img.shields.io/badge/python-3.11-blue.svg?style=flat-square)]()
[![Telegram](https://img.shields.io/badge/Telegram-Bot-blue.svg?style=flat-square)](https://t.me/sonhshu)
[![Docker](https://img.shields.io/badge/docker-ready-blue.svg?style=flat-square)]()
<div align="center">
### 🚀 Automated Delivery System | Multiple Payment Methods | Redis High-Performance Cache
💳 Alipay · WeChat · USDT | 🐳 Docker One-Click Deploy | ⚡ 100x Performance Boost
**Use Cases**: Digital Products · Online Courses · Software Licenses · Memberships
🎬 [Live Demo](https://t.me/fakawan_bot) · 📱 [Contact](https://t.me/sonhshu) · 📖 [Documentation](#-quick-start)
[中文文档](README.md) | English
</div>
---
## ⚠️ Important Notice
The current version has removed built-in authorization checks, so **`license.key` is no longer required** for deployment.
- ✅ Startup no longer depends on license files
- ✅ Core business flows (payment/order/delivery) remain unchanged
- ✅ Older license-related setup steps in this document are legacy notes
---
## ✨ Core Features
### 💳 Payment System
Supports **4 mainstream payment methods**:
| Payment Method | Features | Settlement Speed |
|----------------|----------|------------------|
| **Alipay** | Face-to-face payment, QR code | Real-time |
| **WeChat Pay** | Native payment, QR code | Real-time |
| **USDT (TOKEN188)** | TRC20/ERC20, on-chain verification | 1-3 minutes |
| **USDT (Lemon Pay)** | Multi-chain support, low fees | Seconds |
**Features**:
- ✅ Automatic payment confirmation · ✅ Payment callback handling · ✅ Order status sync · ✅ Payment timeout handling
### 🎯 Auto-Delivery System
**Delivery Methods**:
- 📝 Text content (activation codes, accounts, etc.)
- 🔗 Download links (files, resources, etc.)
- 👥 Group invitations (Telegram groups, channels)
**Features**:
- ⚡ Instant delivery after payment
- 🔄 Automatic retry on failure
- 📊 Delivery record tracking
- 🔒 One-time invitation links (auto-revoke after use)
### ⚡ Performance Optimization
**Redis Cache System**:
- 💾 Product info cache (5 min)
- ⚙️ Config cache (10 min)
- 👤 User session cache (1 hour)
- 📈 100x performance improvement
**Rate Limiting**:
- 🛡️ User payment limit (5 times/5 min)
- 🚫 IP callback limit (100 times/min)
- ⏱️ User command limit (20 times/min)
### 📊 Order Management
**Admin Features**:
- 📋 Order list (all, pending, completed, failed)
- 🔍 Order search (by ID, user, product)
- 💰 Order statistics (amount, quantity)
### 👥 User Management
**User System**:
- 👤 User profiles (ID, username, registration time)
- 📊 Purchase history (order count, total amount)
### 🛍️ Product Management
**Product Features**:
- Add/edit/delete products
- 📦 Inventory management (auto-deduct, low stock alert)
- 💰 Price management
- 📊 Sales statistics
### 🎨 Admin Panel
**Management Interface**:
- 📊 Dashboard (today's orders, revenue, users)
- 📈 Monthly statistics
- ⚙️ System settings (payment config, notification config)
- 🔔 Message notifications
---
## 🚀 Quick Start
### 🎉 First-Time Setup
> 💡 **For**: First-time deployment after purchasing license
#### Step 1: Clone Project
```bash
git clone https://github.com/GUGEGEBAIDU/fakabot.git
cd fakabot
```
#### Step 2: Configure
```bash
# Copy config example
cp config.json.example config.json
# Edit config
vim config.json
```
**Required fields**:
```json
{
"BOT_TOKEN": "Your Bot Token", // Get from @BotFather
"ADMIN_ID": 123456789, // Your Telegram ID (from @userinfobot)
"DOMAIN": "https://yourdomain.com", // Optional
"PAYMENTS": {
// Payment configuration
}
}
```
**Get Bot Token**:
1. Find [@BotFather](https://t.me/BotFather)
2. Send `/newbot`
3. Follow prompts to create bot
4. Get Token
**Get Admin ID**:
1. Find [@userinfobot](https://t.me/userinfobot)
2. Send any message
3. Get your ID
#### Step 3: Save License Key (Important!)
```bash
# Paste your complete license key
echo "your_license_key" > license.key
# Example:
echo "M0001|1738310400|abc123def456..." > license.key
```
**Notes**:
- ✅ License key must be complete, no extra spaces or newlines
- ✅ Filename must be `license.key`
- ✅ File location in project root directory
#### Step 4: Start Service
```bash
# Start with Docker Compose
docker-compose up -d
```
#### Step 5: Verify
```bash
# Check logs
docker-compose logs -f
# Should see:
# ============================================================
# ✅ License verified
# 📝 Customer ID: M0001
# 📅 Expiration: 2025-02-17
# ⏰ Days remaining: 30 days
# ============================================================
```
#### Step 6: Test Bot
Search for your bot on Telegram, send `/start`
**If you see welcome message, deployment successful!** 🎉
---
### 🔄 Renewal Guide
> 💡 **For**: License expiring or expired, need renewal
**Important: Renewal only requires replacing license key, all data will be preserved!**
#### Step 1: Contact for Renewal
Contact [@sonhshu](https://t.me/sonhshu), choose renewal plan:
| Plan | Price | Discount |
|------|-------|----------|
| Monthly | 50 USDT | - |
| Quarterly | 135 USDT | 10% |
| Yearly | 510 USDT | 15% |
#### Step 2: Get New License
After payment, you'll receive a file: `renewal_license_M0001_xxx.txt`
File content example:
```
Customer ID: M0001
New License: M0001|1740902400|def456...
Renewal Period: 30 days
New Expiration: 2025-03-19
```
#### Step 3: SSH to Server
```bash
ssh root@your_server_ip
```
#### Step 4: Navigate to Project
```bash
cd fakabot
```
#### Step 5: Replace License
```bash
# Method 1: Direct input
echo "new_license_key" > license.key
# Example:
echo "M0001|1740902400|def456..." > license.key
# Method 2: Use editor
vim license.key
# Delete old license, paste new license, save and exit
```
#### Step 6: Restart Service
```bash
docker-compose restart
```
#### Step 7: Verify Renewal
```bash
# Check logs
docker-compose logs -f
# Should see:
# ============================================================
# ✅ License verified
# 📝 Customer ID: M0001
# 📅 Expiration: 2025-03-19 ← New expiration date
# ⏰ Days remaining: 30 days
# ============================================================
```
**If you see new expiration date, renewal successful!** 🎉
#### ✅ Data Preservation After Renewal
**All data preserved**:
- ✅ All product configurations
- ✅ All order records
- ✅ All customer data
- ✅ config.json settings
- ✅ Database files
**No need to reconfigure anything!**
---
## 💰 Subscription Pricing
### Purchase Options
| Plan | Duration | Price | Discount | Best For |
|------|----------|-------|----------|----------|
| **Monthly** | 30 days | 50 USDT | - | Trial users |
| **Quarterly** | 90 days | 135 USDT | 10% off | Regular users |
| **Yearly** | 365 days | 510 USDT | 15% off | Long-term users |
### How to Purchase
1. **Contact Customer Service**
- Telegram: [@sonhshu](https://t.me/sonhshu)
- Provide your requirements
2. **Make Payment**
- USDT (TRC20): `TDZM5DSSq8SrB8QTSBHyNwrcTswtCjKs9t`
- Provide transaction hash
3. **Receive License**
- Get license key file within 5 minutes
- Includes complete deployment guide
4. **Deploy and Use**
- Follow documentation to deploy
- Start earning immediately
---
## 📞 Contact Us
### Customer Service
- **Telegram**: [@sonhshu](https://t.me/sonhshu)
- **Demo Bot**: [@fakawan_bot](https://t.me/fakawan_bot)
- **Response Time**: 24/7 online
### Technical Support
- **GitHub Issues**: [Submit Issue](https://github.com/GUGEGEBAIDU/fakabot/issues)
- **Documentation**: [Complete Documentation](https://github.com/GUGEGEBAIDU/fakabot#readme)
---
## ⚠️ Disclaimer
**This project is for learning and legal commercial use only.**
### By using this project, you agree to:
- ✅ Comply with the laws and regulations of your country/region
- ✅ Use only for legal commercial purposes
- ✅ Take full responsibility for any consequences
- ✅ Not infringe on others' legal rights
### Developer Statement:
- 📢 Developers are not responsible for users' usage behavior
- 📢 Not liable for any losses caused by using this project
- 📢 Reserve the right to terminate service and revoke licenses at any time
- 📢 Reserve the right to refuse service to any user
### Strictly Prohibited Uses:
- ❌ Gambling, pornography, or illegal content sales
- ❌ Distribution of content that infringes intellectual property
- ❌ Fraud, pyramid schemes, or illegal activities
- ❌ Money laundering or illegal fund transfers
- ❌ Other activities that violate laws and regulations
### Legal Use Examples:
- ✅ Online courses and educational content sales
- ✅ Legitimate software license sales
- ✅ Membership subscription services
- ✅ Digital art and music sales
- ✅ E-books and document sales
**If users are found using this project for illegal purposes, developers will immediately terminate service and cooperate with relevant authorities.**
---
## 📄 License
**Commercial License**
This project uses a commercial license:
### Allowed:
- ✅ Personal learning and research
- ✅ Legal commercial use after purchasing license
- ✅ Modification and customization within license scope
### Prohibited:
- ❌ Commercial use without authorization
- ❌ Reselling or distributing license keys
- ❌ Removing or modifying the authorization system
- ❌ Use for any illegal purposes
### License Terms:
- License keys are for purchaser's personal use only
- Non-transferable, non-rentable, non-shareable
- Violation of license agreement will result in immediate termination
- Developers reserve the right to pursue legal action
**Copyright © 2025 Fakabot Team. All rights reserved.**
See [Terms of Service](TERMS_OF_SERVICE.md) for details.
---
<div align="center">
Made with ❤️ by Fakabot Team
[Get Started](#-quick-start) · [View Demo](https://t.me/fakawan_bot) · [Contact](https://t.me/sonhshu)
</div>
+147 -193
View File
@@ -1,9 +1,13 @@
# 🤖 Fakabot - 专业的 Telegram 自动发卡机器人 # 🤖 Fakabot - 专业的 Telegram 自动发卡机器人
[![License](https://img.shields.io/badge/license-Commercial-blue.svg)]() [![GitHub release](https://img.shields.io/github/v/release/GUGEGEBAIDU/fakabot?style=flat-square)](https://github.com/GUGEGEBAIDU/fakabot/releases)
[![Python](https://img.shields.io/badge/python-3.11-blue.svg)]() [![GitHub stars](https://img.shields.io/github/stars/GUGEGEBAIDU/fakabot?style=flat-square)](https://github.com/GUGEGEBAIDU/fakabot/stargazers)
[![Telegram](https://img.shields.io/badge/Telegram-Bot-blue.svg)](https://t.me/sonhshu) [![GitHub forks](https://img.shields.io/github/forks/GUGEGEBAIDU/fakabot?style=flat-square)](https://github.com/GUGEGEBAIDU/fakabot/network)
[![Docker](https://img.shields.io/badge/docker-ready-blue.svg)]() [![GitHub issues](https://img.shields.io/github/issues/GUGEGEBAIDU/fakabot?style=flat-square)](https://github.com/GUGEGEBAIDU/fakabot/issues)
[![License](https://img.shields.io/badge/license-Commercial-blue.svg?style=flat-square)]()
[![Python](https://img.shields.io/badge/python-3.11-blue.svg?style=flat-square)]()
[![Telegram](https://img.shields.io/badge/Telegram-Bot-blue.svg?style=flat-square)](https://t.me/sonhshu)
[![Docker](https://img.shields.io/badge/docker-ready-blue.svg?style=flat-square)]()
<div align="center"> <div align="center">
@@ -11,9 +15,11 @@
💳 支付宝 · 微信 · USDT | 🐳 Docker 一键部署 | ⚡ 性能提升 100 倍 💳 支付宝 · 微信 · USDT | 🐳 Docker 一键部署 | ⚡ 性能提升 100 倍
**适用场景**:知识付费 · 虚拟商品 · 在线课程 · 软件授权 · 会员订阅 **适用场景**:知识付费 · 虚拟商品 · 在线课程 · 软件交付 · 会员服务
🎬 [在线演示](https://t.me/fakawan_bot) · 📱 [联系客服](https://t.me/sonhshu) · 📖 [完整文档](#-快速开始) 🎬 [在线演示](https://t.me/fakawan_bot) · 📱 [联系客服](https://t.me/szsh66) · 📖 [完整文档](#-快速开始)
中文文档 | [English](README.en.md)
</div> </div>
@@ -21,12 +27,11 @@
## ⚠️ 重要说明 ## ⚠️ 重要说明
本项目需要**授权码**才能运行。代码已内置授权验证系统,无法绕过 当前版本已移除内置授权校验逻辑,部署时**不再需要 `license.key`**
-授权码采用签名验证,无法伪造 -无需授权文件即可启动
-到期前 7 天自动提醒 -原有支付、订单、发货等业务流程保持不变
-到期后自动停止运行 -历史文档中涉及授权码的步骤属于旧版本说明
- ✅ 支持远程续费,无需重新部署
--- ---
@@ -112,9 +117,8 @@
</td> </td>
<td width="50%"> <td width="50%">
- 🔄 订单状态(待支付/已支付/已完成/已退款 - 🔄 订单状态(待支付/已支付/已完成/已取消
- 💰 订单统计(金额/数量/趋势 - 💰 订单统计(金额/数量)
- 📊 数据导出(Excel/CSV
</td> </td>
</tr> </tr>
@@ -125,10 +129,7 @@
强大的用户管理功能: 强大的用户管理功能:
**用户信息** **用户信息**
- 👤 用户列表 · 📊 用户统计 · 💰 消费记录 · 📈 用户画像 - 👤 用户列表 · 📊 用户统计 · 💰 消费记录
**用户操作**
- 🚫 黑名单管理 · 👑 VIP 会员 · 💬 用户标签 · 📢 消息推送
### 🛍️ 商品管理 ### 🛍️ 商品管理
@@ -140,22 +141,20 @@
**库存管理** **库存管理**
- 📥 批量导入卡密 · 📊 库存统计 · ⚠️ 库存预警 · 🔄 自动补货提醒 - 📥 批量导入卡密 · 📊 库存统计 · ⚠️ 库存预警 · 🔄 自动补货提醒
**商品分类**
- 📁 分类管理 · 🏷️ 标签系统 · 🔝 排序设置 · 👁️ 显示/隐藏
### 🎨 管理后台 ### 🎨 管理后台
专业的管理后台界面: 专业的管理后台界面:
**数据统计** **数据统计**
- 📊 今日数据(订单/收入/用户) · 📈 本月数据(趋势图表) - 📊 今日数据(订单/收入/用户)
- 💰 总收入统计 · 👥 用户增长曲线 - 📈 本月数据统计
- 💰 总收入统计
**快速操作** **快速操作**
- ⚡ 一键发货 · 💸 一键退款 · 📢 批量通知 · 🔄 数据刷新 - ⚡ 一键发货 · 📢 批量通知 · 🔄 数据刷新
**系统设置** **系统设置**
- ⚙️ 基础配置 · 💳 支付配置 · 📧 通知配置 · 🎨 界面定制 - ⚙️ 基础配置 · 💳 支付配置 · 📧 通知配置
--- ---
@@ -163,7 +162,7 @@
### 🎉 首次使用教程 ### 🎉 首次使用教程
> 💡 **适用于**刚购买授权码,第一次部署机器人 > 💡 **适用于**:第一次部署机器人(免授权版本)
#### 第 1 步:克隆项目 #### 第 1 步:克隆项目
@@ -206,44 +205,23 @@ vim config.json
2. 发送任意消息 2. 发送任意消息
3. 获取你的 ID 3. 获取你的 ID
#### 第 3 步:保存授权码(重要!) #### 第 3 步:启动服务
```bash ```bash
# 把授权码完整复制进去 # 使用 Docker Compose 启动(兼容新旧命令)
echo "你的授权码" > license.key docker compose up -d || docker-compose up -d
# 示例:
echo "M0001|1738310400|abc123def456..." > license.key
``` ```
**注意** #### 第 4 步:验证运行
- ✅ 授权码必须完整,不要有多余的空格或换行
- ✅ 文件名必须是 `license.key`
- ✅ 文件位置在项目根目录
#### 第 4 步:启动服务
```bash
# 使用 Docker Compose 启动
docker-compose up -d
```
#### 第 5 步:验证运行
```bash ```bash
# 查看日志 # 查看日志
docker-compose logs -f docker compose logs -f bot || docker-compose logs -f bot
# 应该看到: # 看到机器人启动且无报错即可
# ============================================================
# ✅ 授权验证通过
# 📝 客户ID: M0001
# 📅 到期时间: 2025-02-17
# ⏰ 剩余天数: 30 天
# ============================================================
``` ```
#### 第 6 步:测试机器人 #### 第 5 步:测试机器人
在 Telegram 搜索你的机器人,发送 `/start` 在 Telegram 搜索你的机器人,发送 `/start`
@@ -251,93 +229,73 @@ docker-compose logs -f
--- ---
### 🔄 续费教程 ### 🧭 宝塔面板命令行一步一步安装(免授权版)
> 💡 **适用于**:授权码快到期或已过期,需要续费 > 适合你当前场景:已经在宝塔面板里打开「命令行」。
**重要:续费只需要替换授权码,所有数据都会保留!** #### 0)进入部署目录
#### 第 1 步:联系客服续费
联系 [@sonhshu](https://t.me/sonhshu),选择续费套餐:
| 套餐 | 价格 | 优惠 |
|------|------|------|
| 月卡 | 50 USDT | - |
| 季卡 | 135 USDT | 10% |
| 年卡 | 510 USDT | 15% |
#### 第 2 步:支付并获取新授权码
支付后,你会收到一个文件:`续费授权码_M0001_xxx.txt`
文件内容示例:
```
客户ID: M0001
新授权码: M0001|1740902400|def456...
续费时长: 30 天
新到期日期: 2025-03-19
```
#### 第 3 步:SSH 登录服务器
```bash ```bash
ssh root@你的服务器IP cd /www/wwwroot
``` ```
#### 第 4 步:进入项目目录 #### 1)确认 Docker / Compose 可用
```bash ```bash
docker -v
docker compose version || docker-compose -v
```
#### 2)克隆项目(使用你的仓库)
```bash
git clone https://github.com/yanguo0905/fakabot.git
cd fakabot cd fakabot
``` ```
#### 第 5 步:替换授权码 #### 3)创建配置并填写参数
```bash ```bash
# 方法 1:直接输入 cp config.json.example config.json
echo "新的授权码" > license.key vim config.json
# 示例:
echo "M0001|1740902400|def456..." > license.key
# 方法 2:使用编辑器
vim license.key
# 删除旧授权码,粘贴新授权码,保存退出
``` ```
#### 第 6 步:重启服务 最少填写:
- `BOT_TOKEN`(从 @BotFather 获取)
- `ADMIN_ID`(从 @userinfobot 获取)
- 你实际使用的支付参数
#### 4)启动服务(无需授权文件)
```bash ```bash
docker-compose restart docker compose up -d || docker-compose up -d
``` ```
#### 第 7 步:验证续费 #### 5)查看运行日志
```bash ```bash
# 查看日志 docker compose logs -f bot || docker-compose logs -f bot
docker-compose logs -f
# 应该看到:
# ============================================================
# ✅ 授权验证通过
# 📝 客户ID: M0001
# 📅 到期时间: 2025-03-19 ← 新的到期时间
# ⏰ 剩余天数: 30 天
# ============================================================
``` ```
**如果看到新的到期时间,说明续费成功!** 🎉 看到机器人启动且无报错后,`Ctrl + C` 退出日志。
#### ✅ 续费后数据保留情况 #### 6Telegram 验证
**以下数据全部保留** 给机器人发送 `/start`,能收到欢迎消息即部署成功。
- ✅ 所有商品配置
- ✅ 所有订单记录
- ✅ 所有客户数据
- ✅ config.json 配置
- ✅ 数据库文件
**不需要重新配置任何东西!** #### 7)常用维护命令
```bash
# 重启
docker compose restart || docker-compose restart
# 查看容器状态
docker compose ps || docker-compose ps
# 更新代码并重建
git pull
docker compose up -d --build || docker-compose up -d --build
```
--- ---
@@ -356,14 +314,11 @@ cp config.json.example config.json
# 3. 编辑配置(填写 Bot Token、管理员 ID 等) # 3. 编辑配置(填写 Bot Token、管理员 ID 等)
vim config.json vim config.json
# 4. 保存授权码 # 4. 一键启动
echo "你的授权码" > license.key docker compose up -d || docker-compose up -d
# 5. 一键启动 # 5. 查看日志
docker-compose up -d docker compose logs -f bot || docker-compose logs -f bot
# 6. 查看日志
docker-compose logs -f
``` ```
**就这么简单!** **就这么简单!**
@@ -395,7 +350,7 @@ docker-compose ps
git pull && docker-compose up -d --build git pull && docker-compose up -d --build
# 备份数据 # 备份数据
tar -czf backup.tar.gz data/ config.json license.key tar -czf backup.tar.gz data/ config.json
``` ```
--- ---
@@ -412,11 +367,7 @@ tar -czf backup.tar.gz data/ config.json license.key
#### 部署步骤 #### 部署步骤
**第 1 步:购买授权码** **第 1 步:准备服务器**
联系客服:[@sonhshu](https://t.me/sonhshu)
**第 2 步:准备服务器**
推荐服务商: 推荐服务商:
- 阿里云轻量应用服务器(¥24/月) - 阿里云轻量应用服务器(¥24/月)
@@ -426,7 +377,7 @@ tar -czf backup.tar.gz data/ config.json license.key
配置建议:1核2GB20GB 硬盘 配置建议:1核2GB20GB 硬盘
**第 3 步:克隆项目** **第 2 步:克隆项目**
```bash ```bash
# SSH 登录服务器 # SSH 登录服务器
@@ -437,7 +388,7 @@ git clone https://github.com/GUGEGEBAIDU/fakabot.git
cd fakabot cd fakabot
``` ```
**第 4 步:安装依赖** **第 3 步:安装依赖**
```bash ```bash
# 更新系统 # 更新系统
@@ -455,7 +406,7 @@ systemctl start redis
systemctl enable redis systemctl enable redis
``` ```
**第 5 步:配置机器人** **第 4 步:配置机器人**
1. **创建 Telegram Bot** 1. **创建 Telegram Bot**
- 找 [@BotFather](https://t.me/BotFather) - 找 [@BotFather](https://t.me/BotFather)
@@ -512,13 +463,7 @@ vim config.json
} }
``` ```
**第 6 步:保存授权码** **第 5 步:启动机器人**
```bash
echo "你的授权码" > license.key
```
**第 7 步:启动机器人**
方式 A:直接运行(测试用) 方式 A:直接运行(测试用)
@@ -568,16 +513,15 @@ systemctl enable fakabot
systemctl status fakabot systemctl status fakabot
``` ```
**第 8 步:验证运行** **第 6 步:验证运行**
在 Telegram 搜索你的机器人,发送 `/start` 在 Telegram 搜索你的机器人,发送 `/start`
授权验证成功提示 启动成功提示(示例)
``` ```
授权验证通过 Bot 启动成功
📝 客户ID: C001 ✅ 数据库初始化完成
📅 到期时间: 2025-11-18 ✅ 支付模块加载完成
⏰ 剩余天数: 30 天
``` ```
--- ---
@@ -970,45 +914,26 @@ crontab -e
--- ---
## 💰 订阅价格 ## 🧾 部署与维护说明
| 套餐 | 价格 | 优惠 | 推荐 | - 当前版本为 **免授权运行**:不需要 `license.key`,也没有续费步骤。
|------|------|------|------| - 若你看到旧文档里“授权码/续费/到期”相关内容,以本文档最新内容为准。
| 月付 | 50 USDT/月 | - | 试用 ⭐ | - 推荐优先使用 Docker Compose`docker compose`)部署,维护成本最低。
| 季付 | 135 USDT/季 | 10% | 推荐 ⭐⭐ |
| 年付 | 510 USDT/年 | 15% | 最划算 ⭐⭐⭐ |
### 购买方式
**联系客服**: [@sonhshu](https://t.me/sonhshu)
**支付方式**: USDT (TRC20)
```
TDZM5DSSq8SrB8QTSBHyNwrcTswtCjKs9t
```
> 💡 支付后请提供交易哈希和 Telegram 用户名,10 分钟内开通授权
--- ---
## ❓ 常见问题 ## ❓ 常见问题
### 购买相关 ### 部署相关
**Q: 可以试用吗?** **Q: 还需要授权码吗?**
A: 建议先购买月付(50 USDT)试用一个月,满意后再升级年付。首次购买 7 天内不满意可全额退款 A: 不需要。当前版本部署与运行均不依赖 `license.key`
**Q: 授权码会过期吗** **Q: 旧文档里出现授权码步骤怎么办**
A: 是的,月付30天,季付90天,年付365天。到期前7天会自动提醒 A: 直接跳过即可;请以本 README 的“重要说明”和“快速开始”为准
**Q: 可以退款吗?**
A: 首次购买7天内不满意可申请全额退款。
**Q: 包含技术支持吗?** **Q: 包含技术支持吗?**
A: 是的,所有订阅都包含技术支持,响应时间通常 1-24 小时 A: 是,建议优先通过仓库 Issue 或你使用的交付渠道反馈问题
**Q: 续费如何操作?**
A: 联系客服,支付续费金额,获得新授权码,替换 license.key 文件即可。
### 技术相关 ### 技术相关
@@ -1019,7 +944,7 @@ A: 最低 1核1GB,推荐 1核2GB。月费约 $5-10。
A: 不是必须的,但强烈推荐。域名可以配置 SSL,更安全。 A: 不是必须的,但强烈推荐。域名可以配置 SSL,更安全。
**Q: 支持哪些支付方式?** **Q: 支持哪些支付方式?**
A: 机器人支持支付宝、微信、USDT (TOKEN188)、USDT (柠檬支付)。购买授权使用 USDT (TRC20)。 A: 机器人支持支付宝、微信、USDT (TOKEN188)、USDT (柠檬支付)。
**Q: 可以自定义界面吗?** **Q: 可以自定义界面吗?**
A: 可以,修改配置文件中的文案和按钮即可。 A: 可以,修改配置文件中的文案和按钮即可。
@@ -1033,9 +958,6 @@ A: 使用 SQLite 数据库,存储在 fakabot.db 文件中。
**Q: 如何备份数据?** **Q: 如何备份数据?**
A: 定期备份 fakabot.db 文件和 config.json 配置文件。 A: 定期备份 fakabot.db 文件和 config.json 配置文件。
**Q: 授权码丢了怎么办?**
A: 联系客服,提供购买记录,可以重新发送授权码。
### 使用相关 ### 使用相关
**Q: 如何添加商品?** **Q: 如何添加商品?**
@@ -1052,35 +974,67 @@ A: 当前版本不支持,后续版本会添加。
--- ---
## 🔒 授权保护 ## 🔐 运行与安全说明
本项目采用内置授权验证,代码中嵌入了授权检查逻辑 当前项目已移除内置授权校验逻辑,默认按“免授权”方式运行
**无法绕过的原因** **建议你重点关注以下安全项:**
-授权检查嵌入在每个文件中 -正确配置支付回调地址与签名密钥
-删除授权检查会导致程序崩溃 -为服务器开启防火墙与最小权限
-授权码采用签名验证,无法伪造 -定期备份 `fakabot.db``config.json`
-破解成本远高于购买价格 -使用 HTTPS / 反向代理保护管理入口
--- ---
## 📞 联系我们 ## 📞 联系我们
- **Telegram 客服**: [@sonhshu](https://t.me/sonhshu) - **Telegram 客服**: [@sonhshu](https://t.me/sonhshu)
- **演示机器人**: [@fakawan_bot](https://t.me/fakawan_bot)
- **GitHub 项目**: [GUGEGEBAIDU/fakabot](https://github.com/GUGEGEBAIDU/fakabot) ---
## ⚠️ 免责声明
**本项目仅供学习和合法商业用途使用。**
### 使用本项目即表示您同意:
- ✅ 遵守所在国家/地区的法律法规
- ✅ 仅用于合法的商业用途
- ✅ 对使用本项目产生的任何后果自行负责
- ✅ 不侵犯他人合法权益
### 开发者声明:
- 📢 本项目开发者不对用户的使用行为负责
- 📢 不对因使用本项目造成的任何损失负责
- 📢 保留随时停止服务的权利
- 📢 保留拒绝向任何用户提供服务的权利
### 明确禁止用途:
- ❌ 赌博、色情等非法内容销售
- ❌ 侵犯知识产权的内容分发
- ❌ 诈骗、传销等违法行为
- ❌ 洗钱、非法资金转移
- ❌ 其他违反法律法规的行为
### 合法用途示例:
- ✅ 在线课程、教育内容销售
- ✅ 正版软件与数字内容销售
- ✅ 会员服务
- ✅ 数字艺术品、音乐销售
- ✅ 电子书、文档资料销售
**如发现用户将本项目用于非法用途,开发者将立即终止服务并配合相关部门调查。**
--- ---
## 📄 许可证 ## 📄 许可证
本项目为商业软件,采用订阅制授权 请遵守仓库中许可证文件与服务条款中的约定;本文档不再包含任何授权码激活要求
未经授权,禁止: 详见 [服务条款](TERMS_OF_SERVICE.md)
- 反编译或反向工程
- 分发或转售
- 删除版权声明
- 商业使用(需购买授权)
--- ---
@@ -1090,6 +1044,6 @@ A: 当前版本不支持,后续版本会添加。
Made with ❤️ by Fakabot Team Made with ❤️ by Fakabot Team
[开始使用](#-快速开始) · [查看演示](https://t.me/fakawan_bot) · [联系客服](https://t.me/sonhshu) [开始使用](#-快速开始) · [查看演示](https://t.me/fakawan_bot) · [联系客服](https://t.me/szsh66)
</div> </div>
+276
View File
@@ -0,0 +1,276 @@
# 服务条款 (Terms of Service)
**生效日期**: 2025-01-18
**最后更新**: 2025-01-18
---
## 1. 服务说明
### 1.1 服务内容
Fakabot(以下简称"本项目")提供基于 Telegram 的自动发卡机器人服务,包括但不限于:
- 商品管理功能
- 订单处理功能
- 支付集成功能
- 自动发货功能
- 用户管理功能
### 1.2 授权模式
本项目采用授权码模式运行:
- 用户需购买授权码才能使用
- 授权码有有效期限制
- 授权码仅限购买者本人使用
---
## 2. 用户责任与义务
### 2.1 合法使用
用户承诺:
- ✅ 仅将本项目用于合法的商业用途
- ✅ 遵守所在国家/地区的法律法规
- ✅ 不侵犯他人的合法权益
- ✅ 不从事任何违法违规活动
### 2.2 禁止行为
用户明确承诺不将本项目用于以下用途:
#### 严格禁止:
- ❌ 赌博、博彩相关内容
- ❌ 色情、淫秽内容
- ❌ 毒品、违禁品交易
- ❌ 诈骗、传销活动
- ❌ 洗钱、非法资金转移
- ❌ 侵犯知识产权的内容
- ❌ 恐怖主义、暴力内容
- ❌ 其他违反法律法规的行为
### 2.3 合规义务
用户需要:
- 📋 确保销售的商品/服务合法合规
- 📋 遵守支付平台的使用规则
- 📋 遵守 Telegram 的服务条款
- 📋 保护用户隐私和数据安全
- 📋 及时处理客户投诉和纠纷
---
## 3. 开发者权利与免责
### 3.1 服务提供
开发者承诺:
- 提供稳定的软件服务
- 提供必要的技术支持
- 及时修复已知的软件缺陷
- 保护用户的授权信息安全
### 3.2 免责声明
开发者明确声明:
#### 不承担责任的情况:
- 📢 用户的违法违规使用行为
- 📢 用户与其客户之间的纠纷
- 📢 第三方支付平台的问题
- 📢 Telegram 平台的服务中断
- 📢 用户自身的配置错误
- 📢 不可抗力因素导致的服务中断
- 📢 用户数据的丢失或损坏
- 📢 用户的经济损失
#### 明确声明:
1. **不对用户行为负责**
- 开发者不审查用户销售的具体内容
- 不对用户的商业行为承担责任
- 不对用户与其客户的交易负责
2. **不保证持续服务**
- 保留随时停止服务的权利
- 保留修改服务内容的权利
- 保留调整价格的权利
3. **不承担连带责任**
- 用户的违法行为由用户自行承担
- 开发者不承担任何连带责任
### 3.3 保留权利
开发者保留以下权利:
- 🔒 随时终止任何用户的服务
- 🔒 撤销已发放的授权码
- 🔒 拒绝向任何用户提供服务
- 🔒 修改服务条款
- 🔒 调整服务价格
- 🔒 要求用户提供身份证明
- 🔒 向执法部门提供用户信息
- 🔒 追究违规用户的法律责任
---
## 4. 授权码使用规则
### 4.1 授权范围
- 授权码仅限购买者本人使用
- 一个授权码对应一个部署实例
- 不可转让、出租或共享授权码
- 不可用于多个服务器
### 4.2 授权期限
- 授权码有明确的有效期限
- 到期后需要续费才能继续使用
- 到期前 7 天会收到提醒
- 到期后服务自动停止
### 4.3 违规处理
如发现以下违规行为,授权将立即失效:
- 分享或出售授权码
- 破解或修改授权验证系统
- 用于非法用途
- 违反本服务条款的其他行为
---
## 5. 隐私保护
### 5.1 信息收集
我们可能收集以下信息:
- 购买者的 Telegram 账号信息
- 授权码使用情况
- 技术支持相关的日志信息
### 5.2 信息使用
收集的信息仅用于:
- 提供授权服务
- 技术支持
- 防止滥用
- 改进服务质量
### 5.3 信息保护
我们承诺:
- 不出售用户信息
- 不与第三方分享用户信息(除非法律要求)
- 采取合理措施保护信息安全
---
## 6. 知识产权
### 6.1 版权声明
- 本项目的所有代码、文档、设计归开发者所有
- 用户购买的是使用权,不是所有权
- 未经授权不得复制、修改、分发本项目
### 6.2 开源许可
- 本项目部分代码采用开源许可
- 但授权验证系统不属于开源范围
- 商业使用需要购买授权
---
## 7. 服务变更与终止
### 7.1 服务变更
开发者有权:
- 修改服务内容
- 调整价格
- 更新服务条款
变更将通过以下方式通知:
- Telegram 通知
- GitHub 公告
- 邮件通知
### 7.2 服务终止
以下情况下服务将被终止:
- 用户主动申请退款(按退款政策)
- 用户违反服务条款
- 授权码到期未续费
- 开发者决定停止服务
---
## 8. 争议解决
### 8.1 协商解决
如发生争议,双方应首先通过友好协商解决。
### 8.2 法律适用
本服务条款适用中华人民共和国法律(不包括冲突法规则)。
### 8.3 管辖法院
因本服务条款引起的争议,由开发者所在地人民法院管辖。
---
## 9. 其他条款
### 9.1 完整协议
本服务条款构成用户与开发者之间的完整协议。
### 9.2 可分割性
如本服务条款的任何条款被认定为无效,其他条款仍然有效。
### 9.3 条款修改
开发者保留随时修改本服务条款的权利。修改后的条款将在 GitHub 上公布。继续使用服务即表示接受修改后的条款。
### 9.4 语言
本服务条款以中文为准。如有其他语言版本,以中文版本为准。
---
## 10. 联系方式
如对本服务条款有任何疑问,请联系:
- **Telegram**: [@sonhshu](https://t.me/sonhshu)
- **GitHub**: [https://github.com/GUGEGEBAIDU/fakabot](https://github.com/GUGEGEBAIDU/fakabot)
---
## 11. 用户确认
**使用本项目即表示您已阅读、理解并同意遵守本服务条款的所有内容。**
**如果您不同意本服务条款的任何内容,请立即停止使用本项目。**
---
**版权所有 © 2025 Fakabot Team. 保留所有权利。**
**最后更新**: 2025-01-18
+15 -39
View File
@@ -1,44 +1,20 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import sys # -*- coding: utf-8 -*-
import hashlib """Compatibility auth shim.
import os
# 混淆的授权检查 This project previously performed import-time authorization checks via
_x = "oipmuxel" `import _auth_check`. The check is intentionally disabled now, but we keep
_y = hashlib.sha256(_x.encode()).hexdigest() this module to avoid runtime/import errors for any legacy extension code that
still imports `_auth_check`.
"""
def check_license(): from __future__ import annotations
"""检查授权"""
try:
if not os.path.exists("license.key"):
return False
with open("license.key", "r") as f:
key = f.read().strip()
# 验证授权码格式
if "|" not in key or len(key.split("|")) != 3:
return False
# 验证授权码
from offline_license_checker import OfflineLicenseChecker
checker = OfflineLicenseChecker()
valid, _, _ = checker.verify_license()
return valid
except:
return False
def show_purchase_info():
"""显示购买信息"""
print("\n" + "="*60)
print("⚠️ 需要授权码才能运行")
print("="*60)
print("\n💰 购买授权请联系:")
print(" Telegram: https://t.me/sonhshu")
print("\n💳 订阅价格:")
print(" 月付:50 USDT/月")
print(" 季付:135 USDT/季(优惠10%")
print(" 年付:510 USDT/年(优惠15%")
print("="*60 + "\n")
sys.exit(1)
# 自动执行检查 def check_license() -> bool:
if not check_license(): """Legacy API: always returns True."""
show_purchase_info() return True
# Keep side effects empty on import.
AUTH_ENABLED = False
-3
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
from __future__ import annotations from __future__ import annotations
import asyncio import asyncio
import json import json
-7
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
import asyncio import asyncio
import json import json
import re import re
@@ -22,10 +19,6 @@ from admin_panel import register_admin_handlers
from user_flow import register_user_handlers from user_flow import register_user_handlers
from utils import ensure_settings_table, get_setting, set_setting from utils import ensure_settings_table, get_setting, set_setting
# ⚠️ 离线授权验证(商业版)
from offline_license_checker import init_license_checker
init_license_checker()
# Redis缓存和频率限制 # Redis缓存和频率限制
try: try:
from redis_cache import cache from redis_cache import cache
-1
View File
@@ -33,7 +33,6 @@ services:
- "127.0.0.1:58002:58002" - "127.0.0.1:58002:58002"
volumes: volumes:
- ./config.json:/app/config.json:ro - ./config.json:/app/config.json:ro
- ./license.key:/app/license.key:ro
- ./data:/app/data - ./data:/app/data
networks: networks:
- fakabot_network - fakabot_network
+27 -116
View File
@@ -1,135 +1,46 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行 """No-op offline license checker (backward compatibility).
import _auth_check
#!/usr/bin/env python3 Historically this module validated a `license.key` file and could terminate the
# -*- coding: utf-8 -*- process when invalid. To preserve old call sites while removing authorization
""" requirements, this module now exposes the same public API but always passes.
离线授权验证 - 无需服务器
直接验证授权码,不需要联网
""" """
import hashlib from __future__ import annotations
import time
import os
import sys
from datetime import datetime
from dataclasses import dataclass
from typing import Tuple
@dataclass
class OfflineLicenseChecker: class OfflineLicenseChecker:
"""离线授权验证器""" """Backward-compatible checker that always reports valid status."""
def __init__(self, license_file="license.key"): license_file: str = "license.key"
self.license_file = license_file
# ⚠️ 这个密钥必须和生成器中的密钥一致
self.SECRET_KEY = "fakabot_2025_secret_key_abc123xyz789def456"
def read_license_key(self): def read_license_key(self) -> str:
"""读取授权码""" return ""
if not os.path.exists(self.license_file):
return None
try: def verify_license(self) -> Tuple[bool, str, int]:
with open(self.license_file, 'r') as f: # (is_valid, message, days_left)
return f.read().strip() return True, "license check disabled", 36500
except Exception as e:
print(f"读取授权文件失败: {e}")
return None
def verify_license(self): def check_and_exit(self) -> bool:
"""验证授权""" return True
license_key = self.read_license_key()
if not license_key:
return False, "未找到授权文件 license.key", 0
try:
# 解析授权码
parts = license_key.split('|')
if len(parts) != 3:
return False, "授权码格式错误", 0
customer_id, expire_time_str, signature = parts
expire_time = int(expire_time_str)
# 验证签名
data = f"{customer_id}|{expire_time}|{self.SECRET_KEY}"
expected_signature = hashlib.sha256(data.encode()).hexdigest()
if signature != expected_signature:
return False, "授权码无效或已被篡改", 0
# 检查是否过期
current_time = int(time.time())
if current_time > expire_time:
expire_date = datetime.fromtimestamp(expire_time).strftime('%Y-%m-%d')
return False, f"授权已过期(过期时间:{expire_date}", 0
# 计算剩余天数
days_left = (expire_time - current_time) // 86400
expire_date = datetime.fromtimestamp(expire_time).strftime('%Y-%m-%d')
print(f"\n{'='*60}")
print(f"✅ 授权验证通过")
print(f"📝 客户ID: {customer_id}")
print(f"📅 到期时间: {expire_date}")
print(f"⏰ 剩余天数: {days_left}")
# 快过期提醒
if days_left <= 7:
print(f"\n⚠️ 授权即将过期!请及时续费")
print(f"💰 续费联系:")
print(f" Telegram: https://t.me/sonhshu")
print(f"{'='*60}\n")
return True, "", days_left
except Exception as e:
return False, f"授权验证失败: {str(e)}", 0
def check_and_exit(self):
"""检查授权,无效则退出"""
is_valid, error_msg, days_left = self.verify_license()
if not is_valid:
print("\n" + "="*60)
print(error_msg)
print("="*60)
print("\n💰 购买或续费订阅请联系:")
print(" Telegram: https://t.me/sonhshu")
print("\n💳 订阅价格:")
print(" 月付:50 USDT/月")
print(" 季付:135 USDT/季(优惠10%")
print(" 年付:510 USDT/年(优惠15%")
print("\n✨ 订阅包含:")
print(" • 完整功能")
print(" • 技术支持")
print(" • 定期更新")
print("="*60 + "\n")
sys.exit(1)
# 全局实例 _license_checker: OfflineLicenseChecker | None = None
_license_checker = None
def init_license_checker():
"""初始化授权检查器""" def init_license_checker() -> OfflineLicenseChecker:
global _license_checker global _license_checker
_license_checker = OfflineLicenseChecker() _license_checker = OfflineLicenseChecker()
_license_checker.check_and_exit() return _license_checker
def get_days_left():
"""获取剩余天数""" def get_license_days_left(default: int = 36500) -> int:
if _license_checker: if _license_checker is None:
return default
_, _, days_left = _license_checker.verify_license() _, _, days_left = _license_checker.verify_license()
return days_left return days_left
return 0
# 测试代码
if __name__ == "__main__":
print("测试离线授权验证...")
init_license_checker()
print("✅ 授权验证通过,程序可以正常运行")
-3
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
支付系统核心模块 - 重构版 支付系统核心模块 - 重构版
-3
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
柠檬支付官方标准对接模块 柠檬支付官方标准对接模块
-3
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
-3
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
-3
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
支付页面截图工具 支付页面截图工具
-3
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
import asyncio import asyncio
import os import os
import secrets import secrets
-3
View File
@@ -1,8 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# 授权检查 - 请勿删除此部分,否则程序无法运行
import _auth_check
# Consolidated utilities module: merged from utils/*.py # Consolidated utilities module: merged from utils/*.py
# Sections: # Sections:
# - constants: STATUS_ZH, MSG # - constants: STATUS_ZH, MSG