Metadata-Version: 2.4
Name: tiktok-signature-python
Version: 0.1.0
Summary: Python wrapper for TikTok X-Bogus and X-Gnarly signature generation
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: playwright>=1.40
Provides-Extra: api
Requires-Dist: fastapi>=0.100; extra == "api"
Requires-Dist: uvicorn[standard]>=0.23; extra == "api"
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"

# TikTok Signature Python

مكتبة بايثون تغلف آلية مشروع [carcabot/tiktok-signature](https://github.com/carcabot/tiktok-signature). تعتمد على **Chromium + Playwright** لتشغيل TikTok WebMssdk الأصلي، لذلك ليست خوارزمية توقيع مستقلة ولا تعمل بدون متصفح Chromium.

## التثبيت

```bash
pip install -e .
playwright install chromium
# لتشغيل HTTP API:
pip install -e '.[api]'
```

## استخدام المكتبة

```python
from tiktok_signature import TikTokSigner

with TikTokSigner() as signer:
    result = signer.sign("https://www.tiktok.com/api/post/item_list/?secUid=...&cursor=0&count=30")
    print(result.signed_url)
    # استخدم result.user_agent و result.cookies مع طلبك إلى TikTok
```

للتطبيقات غير المتزامنة:

```python
from tiktok_signature import AsyncTikTokSigner

async with AsyncTikTokSigner() as signer:
    signed = await signer.sign(url)
    response = await signer.fetch(url)  # جلب داخل المتصفح عند الحاجة
```

## خادم HTTP اختياري

```bash
uvicorn tiktok_signature.api:app --host 0.0.0.0 --port 8080
```

الواجهات المتاحة هي `POST /signature` و`POST /fetch` و`GET /health` و`GET|POST /restart`، وبنية `/signature` متوافقة مع الخادم الأصلي قدر الإمكان.

## ملاحظات التوافق

ينبغي إرسال **User-Agent والكوكيز اللذين يعيدهما التوقيع** عند استخدام `signed_url` خارجيًا؛ فالتوقيع مرتبط ببيئة المتصفح. قد تتغير آلية TikTok أو ملفات SDK بمرور الوقت، وعندها يلزم تحديث ملفات `tiktok_signature/assets/`. استخدم المكتبة وفق شروط TikTok والقوانين والحدود المسموح بها، وتجنب تجاوز أنظمة الحماية أو إرسال طلبات مزعجة.

ملفات SDK من المشروع الأصلي مرفقة كما هي، والمشروع الأصلي مرخص تحت MIT؛ راجع `ORIGINAL_README.md` وحقوق المصدر قبل إعادة التوزيع.
