Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
e3a2bae
feat: Adding a bypass to avoid Cloudflare bot blocking for websites
yeshua-aguilar Feb 22, 2026
d188cf6
feat: creacion del test bypass cloudflare
yeshua-aguilar Feb 22, 2026
15ed418
Merge pull request #2 from yeshua-aguilar/develop
yeshua-aguilar Feb 22, 2026
8587f3b
feat: Add Cloudflare bypass support for direct downloads
yeshua-aguilar Feb 22, 2026
9dbb367
feat: add test for Cloudflare bypass functionality
yeshua-aguilar Feb 22, 2026
ec1ee88
Merge branch 'master' into develop
yeshua-aguilar Feb 22, 2026
ecb5f33
refactor: switch to ai-cloudscraper, scope bypass to direct.py only
yeshua-aguilar Feb 22, 2026
96ecef6
Merge branch 'develop' of https://github.com/yeshua-aguilar/ytdlbot i…
yeshua-aguilar Feb 22, 2026
bb8d28b
Merge pull request #4 from yeshua-aguilar/develop
yeshua-aguilar Feb 22, 2026
e4f3e23
feat: add silent mode and video re-encoding features
yeshua-aguilar Jun 6, 2026
bcad9b0
Merge pull request #5 from yeshua-aguilar/develop
yeshua-aguilar Jun 6, 2026
85b6466
feat: pequeño cambio
yeshua-aguilar Jun 13, 2026
4371f96
Merge pull request #6 from yeshua-aguilar/develop
yeshua-aguilar Jun 13, 2026
4d06e58
fix: correct pathlib imports, krakenfiles parsing, and BotText.privat…
yeshua-aguilar Jun 13, 2026
bf58098
Merge pull request #7 from yeshua-aguilar/develop
yeshua-aguilar Jun 13, 2026
4182f3b
fix: improve video file detection and refactor ffmpeg encoding for re…
yeshua-aguilar Jun 13, 2026
43cb835
Merge pull request #8 from yeshua-aguilar/develop
yeshua-aguilar Jun 13, 2026
e107c59
feat: add custom DNS and update dependencies with Cloudflare bypass s…
yeshua-aguilar Jun 14, 2026
5742144
Merge pull request #9 from yeshua-aguilar/develop
yeshua-aguilar Jun 14, 2026
f0b3cd2
Update .gitignore and adjust video processing limits
qwen-intl Jun 22, 2026
f0b4696
Expand .gitignore with additional patterns
yeshua-aguilar Jun 22, 2026
e3e6914
Merge pull request #11 from yeshua-aguilar/optimizing-video-resolutio…
yeshua-aguilar Jun 22, 2026
bdbeea6
Merge pull request #12 from yeshua-aguilar/develop
yeshua-aguilar Jun 22, 2026
80aa3b8
Update bot features and enhance video processing
qwen-intl Jun 24, 2026
6ef0543
Merge pull request #13 from yeshua-aguilar/testing-flaw-in-video-down…
yeshua-aguilar Jun 24, 2026
cd3619a
Merge pull request #14 from yeshua-aguilar/develop
yeshua-aguilar Jun 24, 2026
6fc8de4
Title: Force video conversion to 720p regardless of original format
qwen-intl Jun 24, 2026
456c7f3
Merge branch 'develop' into testing-flaw-in-video-downloader-8b357
yeshua-aguilar Jun 24, 2026
04e4862
Merge pull request #15 from yeshua-aguilar/testing-flaw-in-video-down…
yeshua-aguilar Jun 24, 2026
c68e68b
Merge pull request #16 from yeshua-aguilar/develop
yeshua-aguilar Jun 24, 2026
8dbbcb3
update branch
qwen-intl Jun 24, 2026
dcafae1
Merge pull request #17 from yeshua-aguilar/testing-flaw-in-video-down…
yeshua-aguilar Jun 24, 2026
99dfb56
Merge pull request #18 from yeshua-aguilar/develop
yeshua-aguilar Jun 24, 2026
ba8dae3
update branch
qwen-intl Jun 24, 2026
4727cbf
Merge pull request #19 from yeshua-aguilar/testing-flaw-in-video-down…
yeshua-aguilar Jun 24, 2026
58c8480
Merge pull request #20 from yeshua-aguilar/develop
yeshua-aguilar Jun 24, 2026
bd2335c
feat: correcion de bug
yeshua-aguilar Jun 24, 2026
5669669
Merge pull request #21 from yeshua-aguilar/develop
yeshua-aguilar Jun 24, 2026
c2050a3
fix: correcion de bug 2
yeshua-aguilar Jun 24, 2026
bc828e1
Merge pull request #22 from yeshua-aguilar/develop
yeshua-aguilar Jun 24, 2026
c901b0c
fix: solucion de bug 3
yeshua-aguilar Jun 24, 2026
ecf7c2d
Merge pull request #23 from yeshua-aguilar/develop
yeshua-aguilar Jun 24, 2026
de41e8a
fix: solucion de un bug de algunos archivos no se llega a enviar a te…
yeshua-aguilar Jun 26, 2026
06b7836
Merge pull request #24 from yeshua-aguilar/develop
yeshua-aguilar Jun 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ M3U8_SUPPORT=False
# Enable Aria2 for downloads (True/False)
ENABLE_ARIA2=False

# Enable Cloudflare bypass for direct downloads (True/False)
BYPASS_CLOUDFLARE=True

# Path to Rclone executable
RCLONE_PATH=

Expand Down
189 changes: 94 additions & 95 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,58 @@
# Byte-compiled / optimized / DLL files
```
# Python
__pycache__/
*.py[cod]
*$py.class
*.pyc
*.pyo
*.pyd
.Python
env/
venv/
.venv/
.eggs/
.egg-info/
dist/
build/
develop-eggs/
.installed.cfg
lib/
lib64/

# Testing
.pytest_cache/
.coverage
htmlcov/
.nosetests

# IDE
.vscode/
.idea/
*.swp
*.swo

# Logs
*.log

# C extensions
*.so
# Environment
.env
.env.local
*.env.*

# OS
.DS_Store
Thumbs.db

# Coverage
coverage/
htmlcov/
*.coverage

# MyPy
.mypy_cache/

# Distribution / packaging
.Python
_build/
buck-out/
build/
develop-eggs/
dist/
Expand All @@ -20,58 +65,45 @@ parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
# Django
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
# Flask
instance/
.webassets-cache

# Scrapy stuff:
# Scrapy
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
Expand All @@ -85,30 +117,19 @@ ipython_config.py
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
# PEP 582
__pypackages__/

# Celery stuff
# Celery
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Sage
.dvipsrc
.pyxblib
notebook_sage.py

# Spyder project settings
.spyderproject
Expand All @@ -118,64 +139,42 @@ venv.bak/
.ropeproject

# mkdocs documentation
/site
/site/

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
# Pyre
.pyre/
/.idea/modules.xml
/.idea/inspectionProfiles/profiles_settings.xml
/.idea/inspectionProfiles/Project_Default.xml
/.idea/vcs.xml
/.idea/ytdl-bot.iml
/.idea/misc.xml
/.idea/workspace.xml
/.idea/jsonSchemas.xml
/*.session
/.idea/ytdlbot.iml
/*.sqlite
/.idea/dataSources.xml
/.idea/sqldialects.xml
/.idea/.gitignore
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df.xml
/.idea/dataSources.local.xml
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df/entities/entities.dat
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df/entities/entities.dat.len
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df/entities/entities.dat.values
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df/entities/entities.dat.values.at
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df/entities/entities.dat.values.s
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df/entities/entities.dat_i
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df/entities/entities.dat_i.len
/.idea/dataSources/bf75f0a6-c774-4ecf-9448-2086f57b70df/storage_v2/_src_/schema/main.uQUzAA.meta
db_data/*
env/*
.ash_history
.DS_Store
ytdlbot/ytdl.session
data/*
upgrade_worker.sh
ytdl.session
reinforcement/*
/ytdlbot/session/celery.session
/.idea/prettier.xml
/.idea/watcherTasks.xml
/ytdlbot/session/ytdl.session-journal
/ytdlbot/unknown_errors.txt
/ytdlbot/ytdl.session-journal
/ytdlbot/ytdl-main.session-journal
/ytdlbot/ytdl-main.session
/ytdlbot/ytdl-celery.session-journal
/ytdlbot/ytdl-celery.session
/ytdlbot/main.session
/ytdlbot/tasks.session
/ytdlbot/tasks.session-journal
/ytdlbot/premium.session
/dump.rdb
/ytdlbot/premium.session-journal
/ytdlbot/main.session-journal
/src/main.session
/src/main.session-journal

# pytype
.pytype/

# Cython
cython_debug/

# Ruff
.ruff_cache/

# Black
.black_cache/

# isort
.isort_cache/

# Pre-commit
.pre-commit-config.yaml

# Coverage
coverage/
htmlcov/
*.coverage
.coverage.*

# Temporary files
*.tmp
*.temp
*~
```
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ Just send a link directly to the bot.
5. upload format: file, video, audio
6. cache mechanism - download once for the same video.
7. Supports multiple download engines (yt-dlp, aria2, requests).
8. Automatic video conversion to 720p for large videos (4K, 1080p) to ensure smooth playback on Telegram.
9. Smart scaling logic preserving aspect ratio for both landscape and portrait videos.
10. Enhanced FFmpeg integration for video processing and format optimization.

> ## Limitations
> Due to limitations on servers and bandwidth, there are some restrictions on this free service.
Expand Down
7 changes: 6 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,17 @@ services:
max-file: "3"

ytdl:
image: bennythink/ytdlbot
build: .
env_file:
- .env
environment:
- ENABLE_FFMPEG=true
restart: always
volumes:
- ./youtube-cookies.txt:/app/youtube-cookies.txt
dns:
- 1.1.1.1
- 1.0.0.1
depends_on:
redis:
condition: service_healthy
Expand Down
Loading