Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Generate tiktok signature token using node
| Date | Stars |
|---|---|
| 2026-07-24 | 1009 |
| 2026-07-25 | 1011 |
| 2026-07-28 | 1011 |
| 2026-07-30 | 1011 |
| 2026-08-06 | 1011 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
15.0
growth rate 0.00%/day
# TikTok Signature Generator
 
Generate valid **X-Bogus** and **X-Gnarly** signatures for TikTok API requests. This service uses a headless browser with TikTok's own SDK to generate authentic signatures that work reliably.
> **Free & Open Source**: While many services charge for TikTok signature generation, this project provides a fully functional solution **completely free**. If you find it useful, consider [buying me a coffee](https://www.buymeacoffee.com/carcabot) ☕
## Features
- Generates valid X-Bogus and X-Gnarly signatures
- Uses TikTok's official SDK (injected locally for reliability)
- Supports proxy configuration for IP rotation
- Queue system handles concurrent requests safely
- Auto-refreshes browser session (every 500 signatures or 30 minutes)
- `/signature` endpoint for scalable external requests (recommended)
- `/fetch` endpoint as fallback (browser-based, 100% reliable)
- Docker support for easy deployment
- Benchmark tool for performance testing
## Quick Start
### Installation
```bash
# Clone the repository
git clone https://github.com/carcabot/tiktok-signature.git
cd tiktok-signature
# Install dependencies
npm install
# Install browser (Chromium)
npx puppeteer browsers install chromium
# Copy environment config
cp .env.example .env
# Start the server
npm start
```
### Using Docker
```bash
# Build and run with Docker Compose
docker compose up -d
# Check status
docker compose ps
# View logs
docker compose logs -f
# Stop
docker compose down
```
## API Endpoints
### POST /signature (Recommended)
Generate a signed URL with X-Bogus and X-Gnarly parameters. Your application makes the actual HTTP requests to TikTok, allowing you to handle rate limiting, retries, and parallel requests.
**Request:**
```bash
curl -X POST http://localhost:8080/signature \
-H "Content-Type: application/json" \
-d '{"url": "https://www.tiktok.com/api/post/item_list/?secUid=MS4wLjABAAAA...&cursor=0&count=30"}'
```
**Response:**
```json
{
"status": "ok",
"data": {
"signed_url": "https://www.tiktok.com/api/post/item_list/?...&X-Bogus=DFSzswVL...&X-Gnarly=M8tHhQ2H...",
"x-bogus": "DFSzswVLXdxANGP5CtmFF2lUrn/4",
"x-gnarly": "M8tHhQ2H0Kh/XPpeEgkaXo20D9uW...",
"device-id": "7520531026079925774",
"cookies": "tt_chain_token=...; ttwid=...; tt_csrf_token=...",
"navigator": {
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15",
"platform": "MacIntel",
"browser_language": "en-US",
"os": "mac",
"screen_width": "1920",
"screen_height": "1080"
}
}
}
```
> **Important:** When making requests to TikTok, you must use the `user_agent` from the response. The signature is tied to the browser environment, so a mismatched User-Agent will cause failures.
### POST /fetch (Fallback)
Fetch data directly through the browser. This endpoint makes the actual API request through the browser session, bypassing TikTok's bot detection entirely.
**Use this only as a fallback** when external requests with signed URLs fail. This endpoint is slower and less scalable because each request goes through the browser.
**Request:**
```bash
curl -X POST http://localhost:8080/fetch \
-H "Content-Type: application/json" \
-d '{"url": "https://www.tiktok.com/api/post/item_list/?secUid=MS4wLjABAAAA..."}'
```
**Response:**
```json
{
"status": "ok",
"httpStatus": 200,
"data": {
"itemList": [...],
"cursor": 30,
"hasMore": true
}
}
```
### GET /health
Check server health and status.
```bash
curl http://localhost:8080/health
```
```json
{
"status": "ok",
"ready": true,
"initMethod": "local-sdk",
"sessionAgeMinutes": 5,
"generationCount": 150,
"maxGenerationsBeforeRefresh": 500,
"queueLength": 0,
"proxyEnabled": falsExcerpt of 18,224 characters
Read on GitHub98
3
3
3
2
1
1
1
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:3baf09e7d6907995, topic:playwright, topic:puppeteer, readme:headless browser