1. Search API
Search Tool
  • Tổng quan
  • Bussiness | Logic
    • Nghiệp vụ & Luồng Tìm kiếm
    • Task Orchestration
    • Scraping & Execution
    • Exception & Recovery
    • Proxy Orchestration
  • Project
    • Search API
      • Deployment
      • Architecture
        • Database Schema
        • System Architecture
        • Code Structure
      • API Interface
        • Go - Auth
          • Đăng nhập
          • Đăng ký (Public)
        • Go - User
          • Danh sách User (Phân trang)
          • Tạo User
          • Lấy tất cả User
          • Profile cá nhân
          • Chi tiết User
          • Cập nhật User
          • Xóa User
          • Đổi mật khẩu
        • Go - System
          • Nhật ký hoạt động (Phân trang)
          • Cập nhật dữ liệu Search
          • Test Webhook receiver
        • Go - Server
          • Danh sách Server (Phân trang)
          • Tạo Server
          • Lấy tất cả Server
          • Chi tiết Server
          • Cập nhật Server
          • Xóa Server
        • Go - Tasks
          • Tạo nhiều task Search
          • Lấy tất cả task Search
          • Reset trạng thái tất cả nhiệm vụ Search
          • Tạo nhiều task Anchor Text
          • Lấy tất cả nhiệm vụ Anchor Text
          • Reset trạng thái tất cả nhiệm vụ Anchor Text
        • Go - Webhook
          • Webhook cập nhật trạng thái (Dùng WEBHOOK_KEY)
          • Lấy Proxy cho Tool
          • Lấy Proxy có thể rotate
          • Cập nhật kết quả Search
          • Kết quả rotate Proxy
          • Cập nhật kết quả Anchor Text
          • Nhận kết quả từ Tool (v2)
    • Search tool
      • Deployment
      • Architecture
        • Database Schema
        • System Architecture
        • Code Structure
      • API Interface
        • Bun - Main
          • Thông tin server Bun
          • Health Check
          • Lấy file Log
        • Bun - Task
          • Danh sách Search Tasks
          • Tạo nhiều Search Tasks
          • Xóa tất cả Search Tasks
          • Xóa Search Task
          • Reset trạng thái Search
          • Reset running process
          • Danh sách Anchor Tasks
          • Tạo nhiều Anchor Tasks
          • Xóa tất cả Anchor Tasks
          • Xóa Anchor Task
          • Reset trạng thái Anchor
          • Reset running process
  • Schemas
    • LoginRequest
    • ProxyRequest
    • CreateUserRequest
    • KeywordTaskRequest
    • UpdateUserRequest
    • SearchAutomationRequest
    • ChangePasswordRequest
    • CreateServerRequest
    • AnchorTextTaskRequest
  1. Search API

Deployment

User Guide — Search Tool API#

1. Tổng quan#

Search Tool API là backend REST API viết bằng Go (Golang) + Fiber framework, đóng vai trò trung tâm điều phối cho hệ thống tìm kiếm tự động. API nhận yêu cầu tìm kiếm (keyword / anchor text), phân phối tác vụ xuống các worker server, thu nhận kết quả qua webhook, và quản lý người dùng cùng cơ sở hạ tầng server.

Các module đang hoạt động#

ModuleMô tả
UserQuản lý tài khoản, phân quyền, xác thực JWT
ServerQuản lý danh sách worker server
Search (keyword_pool_task)Nhận và phân phối tác vụ tìm kiếm keyword
Anchor TextNhận và phân phối tác vụ tìm kiếm anchor text
WebhookNhận callback kết quả từ worker, cấp phát proxy
Module không còn sử dụng: keyword, proxy (vẫn còn code nhưng không có route hoạt động trực tiếp tương ứng từ phía client).

2. Yêu cầu môi trường#

Công cụPhiên bản
Go>= 1.21
MySQL8.x
MongoDB6.x
Redis7.x
Docker + ComposeTuỳ chọn (khuyến nghị)

3. Cài đặt & chạy local#

3.1. Cấu hình môi trường#

3.2. Biến môi trường quan trọng#

# Chế độ app
APP_MODE=development
AUTO_MIGRATE_DATABASE=true   # true = tự migration schema khi khởi động

# HTTP server
SERVER_PORT=33003

# MySQL — lưu trữ: users, servers
DB_MYSQL_HOST=localhost
DB_MYSQL_PORT=3306
DB_MYSQL_USER=root
DB_MYSQL_PASS=<password>
DB_MYSQL_NAME=search-api-mysql

# MongoDB — lưu trữ: keyword pool task, anchor text task
DB_MONGO_HOST=localhost
DB_MONGO_PORT=27017
DB_MONGO_USER=root
DB_MONGO_PASS=<password>
DB_MONGO_NAME=search-api-mongodb

# Redis — cache kết quả anchor text (TTL 5 phút)
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0

# JWT
JWT_SECRET=<secret>

# Token xác thực endpoint /search và /anchor-text
API_SEARCH_TOKEN=<token>

# Webhook URLs (API tự gọi lại chính nó — phải là URL có thể reach từ worker)
WEBHOOK_HOST=http://127.0.0.1:33003
WEBHOOK_UPDATE_SEARCH_RESULT=http://127.0.0.1:33003/webhook/update-search-result
WEBHOOK_UPDATE_SEARCH_ANCHOR_TEXT=http://127.0.0.1:33003/webhook/update-search-anchor-text
WEBHOOK_PROXY_GET_PROXY_URL=http://127.0.0.1:33003/webhook/proxy/get-proxy
WEBHOOK_KEY=<webhook-secret-key>

3.3. Chạy với Docker Compose#

3.4. Chạy trực tiếp#

Truy cập local: http://localhost:33003

Ngày cập nhật 2026-03-30 10:38:17
Trước
Proxy Orchestration
Tiếp theo
Database Schema
Built with