Metadata-Version: 2.4
Name: dtik-report
Version: 0.1.2
Summary: Tool tu dong report tai khoan TikTok voi nhieu Chrome profiles
License: MIT
Keywords: automation,playwright,report,tiktok
Requires-Python: >=3.11
Requires-Dist: click>=8.0.0
Requires-Dist: playwright>=1.40.0
Requires-Dist: questionary>=2.0.0
Description-Content-Type: text/markdown

# dtik-report

Công cụ CLI tự động report tài khoản TikTok sử dụng nhiều Chrome profile độc lập.

## Tính năng

- Report tài khoản TikTok liên tục qua nhiều Chrome profile
- Mỗi profile có phiên đăng nhập riêng biệt
- Hỗ trợ proxy xoay — tự động lấy proxy mới khi hết hạn
- Wizard thiết lập tương tác — không cần chỉnh file config thủ công
- Cấu hình thời gian chờ giữa các vòng report
- Đếm ngược thời gian để biết vòng tiếp theo bắt đầu khi nào

## Yêu cầu

- Python 3.11 trở lên
- Google Chrome đã được cài đặt
- macOS, Linux hoặc Windows

## Cài đặt

```bash
pipx install dtik-report
```

> Khuyến nghị dùng `pipx` để tool chạy trong môi trường độc lập. Cài bằng `brew install pipx` hoặc `pip install pipx`.

Sau đó cài trình duyệt Playwright:

```bash
playwright install chromium
```

Hoặc dùng script tiện lợi (tự động cài tất cả):

```bash
./run.sh
```

## Bắt đầu nhanh

### 1. Thiết lập

```bash
dtik setup
```

Wizard sẽ hỏi bạn lần lượt:

1. **Số lượng Chrome profile** muốn sử dụng
2. **Tên alias** cho từng profile
3. **Số phút chờ** giữa các vòng report (mặc định: 2 phút)
4. **Chế độ trình duyệt** — giữ mở (nhanh hơn) hay đóng rồi mở lại (tiết kiệm RAM)
5. **Proxy xoay** — có dùng hay không, nếu có thì chọn nhà cung cấp và nhập API key

Sau khi thiết lập, Chrome sẽ mở cho từng profile để bạn đăng nhập TikTok.

### 2. Chạy

```bash
dtik run @username
```

Tool sẽ lặp liên tục:

```
  [proxy] Lay proxy tu proxy.vn ...
  [proxy] http://42.117.243.215:10836  (con 1777s)

--- Vòng 1 ---
  Proxy: http://42.117.243.215:10836  (còn 1750s)

  [Tài khoản 1] Report ...  [OK]
  [Tài khoản 2] Report ...  [OK]
  Hoàn thành vòng 1. Chờ 2 phút ...
  Còn lại: 01:45

--- Vòng 2 ---
  ...
```

Khi proxy sắp hết hạn (còn dưới 60 giây), tool tự động lấy proxy mới và restart Chrome với proxy mới.

Dừng bất cứ lúc nào bằng `Ctrl+C`.

## Các lệnh

| Lệnh | Mô tả |
|---|---|
| `dtik setup` | Thiết lập ban đầu — cấu hình profile, proxy và đăng nhập TikTok |
| `dtik setup --retry` | Mở lại Chrome cho profile đã chọn để đăng nhập lại |
| `dtik run @username` | Bắt đầu report tài khoản |
| `dtik open [alias]` | Mở Chrome cho một profile cụ thể |
| `dtik check` | Xem trạng thái cấu hình hiện tại |
| `dtik update` | Cập nhật lên phiên bản mới nhất |
| `dtik uninstall` | Gỡ cài đặt và xóa toàn bộ dữ liệu |
| `dtik help` | Hiển thị trợ giúp |

## Proxy xoay

Tool hỗ trợ proxy xoay qua các nhà cung cấp bên thứ ba. Hiện tại hỗ trợ:

| Nhà cung cấp | Ghi chú |
|---|---|
| [proxy.vn](https://proxyxoay.shop) | Proxy xoay IP Việt Nam, cấu hình bằng API key |

**Cách hoạt động:**
- Trước mỗi vòng report, tool kiểm tra thời gian còn lại của proxy
- Nếu còn dưới 60 giây, tự động gọi API lấy proxy mới
- Chrome được restart với proxy mới, phiên đăng nhập TikTok vẫn được giữ nguyên

## Cấu hình

Cài đặt và dữ liệu Chrome profile được lưu tại:

```
~/.dtik-report/
├── settings.json       ← toàn bộ cấu hình
└── profiles/
    ├── profile_1/      ← Chrome user-data-dir của tài khoản 1
    ├── profile_2/
    └── ...
```

Ví dụ `settings.json` đầy đủ:

```json
{
  "num_profiles": 2,
  "profiles": [
    { "id": "profile_1", "alias": "Tài khoản 1" },
    { "id": "profile_2", "alias": "Tài khoản 2" }
  ],
  "timeout_between_reports_min": 2,
  "keep_browser_between_reports": true,
  "proxy": {
    "enabled": true,
    "provider": "proxyxoay",
    "config": {
      "key": "your_api_key_here"
    }
  }
}
```

Nếu không dùng proxy:

```json
"proxy": { "enabled": false }
```

## Giấy phép

MIT
