# TikTok Reup - Python Package
[](https://python.org)
[](LICENSE)
[](https://github.com/xuancuong2006/tiktok-reup)
A modular Python package for downloading and uploading TikTok videos with enhanced organization and maintainability.
## 🌟 Features
- **📁 Modular Architecture**: Clean separation of concerns with organized modules
- **⬇️ Download TikTok Videos**: Download videos from any TikTok user profile
- **🎯 Single Video Download**: Download individual videos by URL
- **⬆️ Automated Upload**: Upload downloaded videos back to TikTok with captions
- **🔄 Bulk Operations**: Handle multiple videos efficiently
- **🔗 Multiple Download Methods**: API scraping and Selenium fallback
- **📝 Caption Management**: Automatic caption extraction and upload
- **📊 Progress Tracking**: Visual progress bars and status updates
## 📦 Installation
### Option 1: Install from Source (Development)
```bash
# Clone the repository
git clone https://github.com/xuancuong2006/tiktok-reup.git
cd tiktok-reup
# Install in development mode
pip install -e .
```
### Option 2: Install as Package
```bash
# Install from local directory
pip install .
```
### Option 3: Install Dependencies Only
```bash
pip install -r requirements.txt
```
## 🚀 Quick Start
### As a Python Package
```python
from tiktok_reup import TikTokDownloader, TikTokUploader, SeleniumHandler
# Initialize downloader
downloader = TikTokDownloader("downloads")
# Download videos from a user
downloader.download_user_videos("username", max_videos=10)
# Download single video
downloader.download_single_video("https://www.tiktok.com/@user/video/123456789")
# Initialize uploader
selenium_handler = SeleniumHandler()
uploader = TikTokUploader(selenium_handler)
# Upload videos
uploader.bulk_upload_videos("downloads/username", upload_limit=5)
```
### As a Command Line Tool
```bash
# Run the CLI interface
tiktok-reup
# Or run the module directly
python -m tiktok_reup.cli
```
## 📁 Package Structure
```
tiktok_reup/
├── 📁 api/ # TikTok API handling
│ ├── __init__.py
│ └── tiktok_api.py
├── 📁 config/ # Configuration settings
│ ├── __init__.py
│ └── settings.py
├── 📁 core/ # Core downloader functionality
│ ├── __init__.py
│ └── downloader.py
├── 📁 selenium_handler/ # Browser automation
│ ├── __init__.py
│ └── browser.py
├── 📁 upload/ # Upload functionality
│ ├── __init__.py
│ └── uploader.py
├── 📁 utils/ # Utility functions
│ ├── __init__.py
│ └── helpers.py
├── __init__.py # Package initialization
└── cli.py # Command line interface
```
## 🎮 Usage Examples
### Download Examples
```python
from tiktok_reup import TikTokDownloader
# Create downloader instance
downloader = TikTokDownloader("my_downloads")
# Download all videos from a user
downloader.download_user_videos("cooluser123")
# Download limited number of videos
downloader.download_user_videos("cooluser123", max_videos=5)
# Download single video with custom filename
downloader.download_single_video(
"https://www.tiktok.com/@user/video/123456789",
custom_filename="my_video"
)
```
### Upload Examples
```python
from tiktok_reup import TikTokUploader, SeleniumHandler
# Initialize selenium handler and uploader
selenium_handler = SeleniumHandler()
uploader = TikTokUploader(selenium_handler)
# Login to TikTok (manual browser login)
uploader.login_to_tiktok()
# Upload videos from a folder
uploader.bulk_upload_videos("downloads/username")
# Upload with limit
uploader.bulk_upload_videos("downloads/username", upload_limit=3)
```
### Configuration
```python
from tiktok_reup import settings
# Access configuration
print(settings.DEFAULT_DOWNLOAD_FOLDER)
print(settings.MAX_CAPTION_LENGTH)
# Modify settings (if needed)
settings.DEFAULT_UPLOAD_DELAY = 20 # seconds between uploads
```
## 🔧 API Reference
### TikTokDownloader
```python
class TikTokDownloader:
def __init__(self, download_folder="downloads"):
"""Initialize downloader with custom download folder"""
def download_user_videos(self, username, max_videos=None):
"""Download all videos from a TikTok user"""
def download_single_video(self, video_url, custom_filename=None):
"""Download a single video by URL"""
def close_browser(self):
"""Close any open browser instances"""
```
### TikTokUploader
```python
class TikTokUploader:
def __init__(self, selenium_handler):
"""Initialize uploader with selenium handler"""
def login_to_tiktok(self):
"""Login to TikTok (manual browser login)"""
def upload_video(self, video_path, caption_path, custom_caption=None):
"""Upload a single video with caption"""
def bulk_upload_videos(self, user_folder, upload_limit=None):
"""Upload multiple videos from folder"""
```
## ⚙️ Configuration
### Settings File (`config/settings.py`)
```python
# Default settings
DEFAULT_DOWNLOAD_FOLDER = "downloads"
DEFAULT_UPLOAD_DELAY = 15 # seconds between uploads
MAX_CAPTION_LENGTH = 2200
MAX_SCROLLS = 5
UPLOAD_TIMEOUT = 120 # seconds
# Browser options
CHROME_OPTIONS_HEADLESS = [...] # Headless browsing options
CHROME_OPTIONS_UPLOAD = [...] # Upload browsing options
# API endpoints
API_ENDPOINTS = [...] # TikTok API endpoints
```
## 📋 Requirements
- Python 3.8+
- Google Chrome browser (for Selenium)
- All packages listed in `requirements.txt`:
- requests>=2.31.0
- tqdm>=4.65.0
- colorama>=0.4.6
- yt-dlp>=2023.7.6
- selenium>=4.15.0
- webdriver-manager>=4.0.1
- urllib3>=1.26.0
- certifi>=2023.7.22
## 🔒 Security & Privacy
- **Manual Login**: Upload functionality requires manual login for security
- **No Credentials Stored**: The package does not store any login credentials
- **Respectful Usage**: Built-in delays to avoid rate limiting
- **Terms Compliance**: Please respect TikTok's Terms of Service
## 🛠️ Development
### Install for Development
```bash
# Clone repository
git clone https://github.com/xuancuong2006/tiktok-reup.git
cd tiktok-reup
# Install in development mode
pip install -e .
# Install development dependencies
pip install -r requirements.txt
```
### Building the Package
```bash
# Build distribution packages
python -m build
# Install locally
pip install dist/tiktok_reup-2.0.0-py3-none-any.whl
```
### Running Tests
```bash
# Run the CLI interface
python -m tiktok_reup.cli
# Or use the installed command
tiktok-reup
```
## 📚 Module Descriptions
### Core Module (`core/downloader.py`)
- Main `TikTokDownloader` class
- Video downloading logic
- User video scanning
- File management
### API Module (`api/tiktok_api.py`)
- `TikTokAPI` class for API interactions
- Multiple API endpoint handling
- Direct URL downloading
- JSON response parsing
### Selenium Handler (`selenium_handler/browser.py`)
- `SeleniumHandler` class for browser automation
- User profile scraping
- Upload automation
- Login management
### Upload Module (`upload/uploader.py`)
- `TikTokUploader` class for upload operations
- Bulk upload functionality
- Caption processing
- Upload status tracking
### Utils Module (`utils/helpers.py`)
- Utility functions used across modules
- File naming and sanitization
- Caption processing
- BMP character filtering
### Config Module (`config/settings.py`)
- Centralized configuration
- Browser options
- API endpoints
- CSS selectors
## 🚨 Troubleshooting
### Common Issues
1. **Chrome Driver Issues**
```bash
# Update webdriver-manager
pip install --upgrade webdriver-manager
```
2. **Import Errors**
```bash
# Reinstall package
pip uninstall tiktok-reup
pip install -e .
```
3. **Upload Issues**
- Ensure Chrome browser is installed
- Check TikTok login status
- Verify internet connection
### Getting Help
- 📱 **Telegram**: [t.me/xuancuong2006](https://t.me/xuancuong2006)
- 🐛 **Issues**: [GitHub Issues](https://github.com/xuancuong2006/tiktok-reup/issues)
- 📖 **Documentation**: See source code comments
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ⚠️ Disclaimer
This software is for educational purposes only. Please respect TikTok's Terms of Service and applicable laws when using this software. The authors are not responsible for any misuse of this software.
## 👨💻 Author
Created by **xuancuong2006**
- 📱 Telegram: [t.me/xuancuong2006](https://t.me/xuancuong2006)
- 🐙 GitHub: [xuancuong2006](https://github.com/xuancuong2006)
---
⭐ **Star this repository if you find it helpful!**
Raw data
{
"_id": null,
"home_page": "https://github.com/xuancuong2006/tiktok-reup",
"name": "tiktok-reup",
"maintainer": "xuancuong2006",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "tiktok, video, download, upload, social media, automation, scraping",
"author": "xuancuong2006",
"author_email": "xuancuong2006@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/73/a3/0ecd41a34a161ffcd35a1f2d8317143ca64f90b0b8c5cc62db22a2f754ad/tiktok_reup-2.0.0.tar.gz",
"platform": null,
"description": "# TikTok Reup - Python Package\r\n\r\n[](https://python.org)\r\n[](LICENSE)\r\n[](https://github.com/xuancuong2006/tiktok-reup)\r\n\r\nA modular Python package for downloading and uploading TikTok videos with enhanced organization and maintainability.\r\n\r\n## \ud83c\udf1f Features\r\n\r\n- **\ud83d\udcc1 Modular Architecture**: Clean separation of concerns with organized modules\r\n- **\u2b07\ufe0f Download TikTok Videos**: Download videos from any TikTok user profile\r\n- **\ud83c\udfaf Single Video Download**: Download individual videos by URL\r\n- **\u2b06\ufe0f Automated Upload**: Upload downloaded videos back to TikTok with captions\r\n- **\ud83d\udd04 Bulk Operations**: Handle multiple videos efficiently\r\n- **\ud83d\udd17 Multiple Download Methods**: API scraping and Selenium fallback\r\n- **\ud83d\udcdd Caption Management**: Automatic caption extraction and upload\r\n- **\ud83d\udcca Progress Tracking**: Visual progress bars and status updates\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n### Option 1: Install from Source (Development)\r\n\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/xuancuong2006/tiktok-reup.git\r\ncd tiktok-reup\r\n\r\n# Install in development mode\r\npip install -e .\r\n```\r\n\r\n### Option 2: Install as Package\r\n\r\n```bash\r\n# Install from local directory\r\npip install .\r\n```\r\n\r\n### Option 3: Install Dependencies Only\r\n\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n### As a Python Package\r\n\r\n```python\r\nfrom tiktok_reup import TikTokDownloader, TikTokUploader, SeleniumHandler\r\n\r\n# Initialize downloader\r\ndownloader = TikTokDownloader(\"downloads\")\r\n\r\n# Download videos from a user\r\ndownloader.download_user_videos(\"username\", max_videos=10)\r\n\r\n# Download single video\r\ndownloader.download_single_video(\"https://www.tiktok.com/@user/video/123456789\")\r\n\r\n# Initialize uploader\r\nselenium_handler = SeleniumHandler()\r\nuploader = TikTokUploader(selenium_handler)\r\n\r\n# Upload videos\r\nuploader.bulk_upload_videos(\"downloads/username\", upload_limit=5)\r\n```\r\n\r\n### As a Command Line Tool\r\n\r\n```bash\r\n# Run the CLI interface\r\ntiktok-reup\r\n\r\n# Or run the module directly\r\npython -m tiktok_reup.cli\r\n```\r\n\r\n## \ud83d\udcc1 Package Structure\r\n\r\n```\r\ntiktok_reup/\r\n\u251c\u2500\u2500 \ud83d\udcc1 api/ # TikTok API handling\r\n\u2502 \u251c\u2500\u2500 __init__.py\r\n\u2502 \u2514\u2500\u2500 tiktok_api.py\r\n\u251c\u2500\u2500 \ud83d\udcc1 config/ # Configuration settings\r\n\u2502 \u251c\u2500\u2500 __init__.py\r\n\u2502 \u2514\u2500\u2500 settings.py\r\n\u251c\u2500\u2500 \ud83d\udcc1 core/ # Core downloader functionality\r\n\u2502 \u251c\u2500\u2500 __init__.py\r\n\u2502 \u2514\u2500\u2500 downloader.py\r\n\u251c\u2500\u2500 \ud83d\udcc1 selenium_handler/ # Browser automation\r\n\u2502 \u251c\u2500\u2500 __init__.py\r\n\u2502 \u2514\u2500\u2500 browser.py\r\n\u251c\u2500\u2500 \ud83d\udcc1 upload/ # Upload functionality\r\n\u2502 \u251c\u2500\u2500 __init__.py\r\n\u2502 \u2514\u2500\u2500 uploader.py\r\n\u251c\u2500\u2500 \ud83d\udcc1 utils/ # Utility functions\r\n\u2502 \u251c\u2500\u2500 __init__.py\r\n\u2502 \u2514\u2500\u2500 helpers.py\r\n\u251c\u2500\u2500 __init__.py # Package initialization\r\n\u2514\u2500\u2500 cli.py # Command line interface\r\n```\r\n\r\n## \ud83c\udfae Usage Examples\r\n\r\n### Download Examples\r\n\r\n```python\r\nfrom tiktok_reup import TikTokDownloader\r\n\r\n# Create downloader instance\r\ndownloader = TikTokDownloader(\"my_downloads\")\r\n\r\n# Download all videos from a user\r\ndownloader.download_user_videos(\"cooluser123\")\r\n\r\n# Download limited number of videos\r\ndownloader.download_user_videos(\"cooluser123\", max_videos=5)\r\n\r\n# Download single video with custom filename\r\ndownloader.download_single_video(\r\n \"https://www.tiktok.com/@user/video/123456789\",\r\n custom_filename=\"my_video\"\r\n)\r\n```\r\n\r\n### Upload Examples\r\n\r\n```python\r\nfrom tiktok_reup import TikTokUploader, SeleniumHandler\r\n\r\n# Initialize selenium handler and uploader\r\nselenium_handler = SeleniumHandler()\r\nuploader = TikTokUploader(selenium_handler)\r\n\r\n# Login to TikTok (manual browser login)\r\nuploader.login_to_tiktok()\r\n\r\n# Upload videos from a folder\r\nuploader.bulk_upload_videos(\"downloads/username\")\r\n\r\n# Upload with limit\r\nuploader.bulk_upload_videos(\"downloads/username\", upload_limit=3)\r\n```\r\n\r\n### Configuration\r\n\r\n```python\r\nfrom tiktok_reup import settings\r\n\r\n# Access configuration\r\nprint(settings.DEFAULT_DOWNLOAD_FOLDER)\r\nprint(settings.MAX_CAPTION_LENGTH)\r\n\r\n# Modify settings (if needed)\r\nsettings.DEFAULT_UPLOAD_DELAY = 20 # seconds between uploads\r\n```\r\n\r\n## \ud83d\udd27 API Reference\r\n\r\n### TikTokDownloader\r\n\r\n```python\r\nclass TikTokDownloader:\r\n def __init__(self, download_folder=\"downloads\"):\r\n \"\"\"Initialize downloader with custom download folder\"\"\"\r\n \r\n def download_user_videos(self, username, max_videos=None):\r\n \"\"\"Download all videos from a TikTok user\"\"\"\r\n \r\n def download_single_video(self, video_url, custom_filename=None):\r\n \"\"\"Download a single video by URL\"\"\"\r\n \r\n def close_browser(self):\r\n \"\"\"Close any open browser instances\"\"\"\r\n```\r\n\r\n### TikTokUploader\r\n\r\n```python\r\nclass TikTokUploader:\r\n def __init__(self, selenium_handler):\r\n \"\"\"Initialize uploader with selenium handler\"\"\"\r\n \r\n def login_to_tiktok(self):\r\n \"\"\"Login to TikTok (manual browser login)\"\"\"\r\n \r\n def upload_video(self, video_path, caption_path, custom_caption=None):\r\n \"\"\"Upload a single video with caption\"\"\"\r\n \r\n def bulk_upload_videos(self, user_folder, upload_limit=None):\r\n \"\"\"Upload multiple videos from folder\"\"\"\r\n```\r\n\r\n## \u2699\ufe0f Configuration\r\n\r\n### Settings File (`config/settings.py`)\r\n\r\n```python\r\n# Default settings\r\nDEFAULT_DOWNLOAD_FOLDER = \"downloads\"\r\nDEFAULT_UPLOAD_DELAY = 15 # seconds between uploads\r\nMAX_CAPTION_LENGTH = 2200\r\nMAX_SCROLLS = 5\r\nUPLOAD_TIMEOUT = 120 # seconds\r\n\r\n# Browser options\r\nCHROME_OPTIONS_HEADLESS = [...] # Headless browsing options\r\nCHROME_OPTIONS_UPLOAD = [...] # Upload browsing options\r\n\r\n# API endpoints\r\nAPI_ENDPOINTS = [...] # TikTok API endpoints\r\n```\r\n\r\n## \ud83d\udccb Requirements\r\n\r\n- Python 3.8+\r\n- Google Chrome browser (for Selenium)\r\n- All packages listed in `requirements.txt`:\r\n - requests>=2.31.0\r\n - tqdm>=4.65.0\r\n - colorama>=0.4.6\r\n - yt-dlp>=2023.7.6\r\n - selenium>=4.15.0\r\n - webdriver-manager>=4.0.1\r\n - urllib3>=1.26.0\r\n - certifi>=2023.7.22\r\n\r\n## \ud83d\udd12 Security & Privacy\r\n\r\n- **Manual Login**: Upload functionality requires manual login for security\r\n- **No Credentials Stored**: The package does not store any login credentials\r\n- **Respectful Usage**: Built-in delays to avoid rate limiting\r\n- **Terms Compliance**: Please respect TikTok's Terms of Service\r\n\r\n## \ud83d\udee0\ufe0f Development\r\n\r\n### Install for Development\r\n\r\n```bash\r\n# Clone repository\r\ngit clone https://github.com/xuancuong2006/tiktok-reup.git\r\ncd tiktok-reup\r\n\r\n# Install in development mode\r\npip install -e .\r\n\r\n# Install development dependencies\r\npip install -r requirements.txt\r\n```\r\n\r\n### Building the Package\r\n\r\n```bash\r\n# Build distribution packages\r\npython -m build\r\n\r\n# Install locally\r\npip install dist/tiktok_reup-2.0.0-py3-none-any.whl\r\n```\r\n\r\n### Running Tests\r\n\r\n```bash\r\n# Run the CLI interface\r\npython -m tiktok_reup.cli\r\n\r\n# Or use the installed command\r\ntiktok-reup\r\n```\r\n\r\n## \ud83d\udcda Module Descriptions\r\n\r\n### Core Module (`core/downloader.py`)\r\n- Main `TikTokDownloader` class\r\n- Video downloading logic\r\n- User video scanning\r\n- File management\r\n\r\n### API Module (`api/tiktok_api.py`)\r\n- `TikTokAPI` class for API interactions\r\n- Multiple API endpoint handling\r\n- Direct URL downloading\r\n- JSON response parsing\r\n\r\n### Selenium Handler (`selenium_handler/browser.py`)\r\n- `SeleniumHandler` class for browser automation\r\n- User profile scraping\r\n- Upload automation\r\n- Login management\r\n\r\n### Upload Module (`upload/uploader.py`)\r\n- `TikTokUploader` class for upload operations\r\n- Bulk upload functionality\r\n- Caption processing\r\n- Upload status tracking\r\n\r\n### Utils Module (`utils/helpers.py`)\r\n- Utility functions used across modules\r\n- File naming and sanitization\r\n- Caption processing\r\n- BMP character filtering\r\n\r\n### Config Module (`config/settings.py`)\r\n- Centralized configuration\r\n- Browser options\r\n- API endpoints\r\n- CSS selectors\r\n\r\n## \ud83d\udea8 Troubleshooting\r\n\r\n### Common Issues\r\n\r\n1. **Chrome Driver Issues**\r\n ```bash\r\n # Update webdriver-manager\r\n pip install --upgrade webdriver-manager\r\n ```\r\n\r\n2. **Import Errors**\r\n ```bash\r\n # Reinstall package\r\n pip uninstall tiktok-reup\r\n pip install -e .\r\n ```\r\n\r\n3. **Upload Issues**\r\n - Ensure Chrome browser is installed\r\n - Check TikTok login status\r\n - Verify internet connection\r\n\r\n### Getting Help\r\n\r\n- \ud83d\udcf1 **Telegram**: [t.me/xuancuong2006](https://t.me/xuancuong2006)\r\n- \ud83d\udc1b **Issues**: [GitHub Issues](https://github.com/xuancuong2006/tiktok-reup/issues)\r\n- \ud83d\udcd6 **Documentation**: See source code comments\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \u26a0\ufe0f Disclaimer\r\n\r\nThis software is for educational purposes only. Please respect TikTok's Terms of Service and applicable laws when using this software. The authors are not responsible for any misuse of this software.\r\n\r\n## \ud83d\udc68\u200d\ud83d\udcbb Author\r\n\r\nCreated by **xuancuong2006**\r\n- \ud83d\udcf1 Telegram: [t.me/xuancuong2006](https://t.me/xuancuong2006)\r\n- \ud83d\udc19 GitHub: [xuancuong2006](https://github.com/xuancuong2006)\r\n\r\n---\r\n\r\n\u2b50 **Star this repository if you find it helpful!**\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A modular Python package for downloading and uploading TikTok videos",
"version": "2.0.0",
"project_urls": {
"Bug Reports": "https://github.com/xuancuong2006/tiktok-reup/issues",
"Homepage": "https://github.com/xuancuong2006/tiktok-reup",
"Source": "https://github.com/xuancuong2006/tiktok-reup",
"Telegram": "https://t.me/xuancuong2006"
},
"split_keywords": [
"tiktok",
" video",
" download",
" upload",
" social media",
" automation",
" scraping"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "dea44b3947e4a0321bd112fb1bce0847412597246147e7075212e9deeff58a5b",
"md5": "33674a5ef7fc3ad282be6adff5599c4c",
"sha256": "2d9709cac67722b692df682449020c9b485d46e069a97727576ef09191d0a0f1"
},
"downloads": -1,
"filename": "tiktok_reup-2.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "33674a5ef7fc3ad282be6adff5599c4c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 28859,
"upload_time": "2025-08-02T06:00:22",
"upload_time_iso_8601": "2025-08-02T06:00:22.937706Z",
"url": "https://files.pythonhosted.org/packages/de/a4/4b3947e4a0321bd112fb1bce0847412597246147e7075212e9deeff58a5b/tiktok_reup-2.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "73a30ecd41a34a161ffcd35a1f2d8317143ca64f90b0b8c5cc62db22a2f754ad",
"md5": "8ff3c509d1e8c675780753505ac6f459",
"sha256": "8c82fd8ed6de7fb5fa6cadbaa9d59bb80db87c2259a4bd53541cd5ce029c2ea8"
},
"downloads": -1,
"filename": "tiktok_reup-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "8ff3c509d1e8c675780753505ac6f459",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 30501,
"upload_time": "2025-08-02T06:00:24",
"upload_time_iso_8601": "2025-08-02T06:00:24.858664Z",
"url": "https://files.pythonhosted.org/packages/73/a3/0ecd41a34a161ffcd35a1f2d8317143ca64f90b0b8c5cc62db22a2f754ad/tiktok_reup-2.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-02 06:00:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "xuancuong2006",
"github_project": "tiktok-reup",
"github_not_found": true,
"lcname": "tiktok-reup"
}