
Research
Security News
Malicious npm Packages Target BSC and Ethereum to Drain Crypto Wallets
Socket uncovered four malicious npm packages that exfiltrate up to 85% of a victim’s Ethereum or BSC wallet using obfuscated JavaScript.
github.com/nonoo/yt-dlp-telegram-bot
This bot downloads videos from various supported sources (see yt-dlp) and then re-uploads them to Telegram, so they can be viewed with Telegram's built-in video player.
The bot displays the progress and further information during processing by responding to the message with the URL. Requests are queued, only one gets processed at a time.
The bot uses the Telegram MTProto API, which supports larger video uploads than the default 50MB with the standard Telegram bot API. Videos are not saved on disk. Incompatible video and audio streams are automatically converted to match those which are supported by Telegram's built-in video player.
The only dependencies are yt-dlp and ffmpeg. Tested on Linux, but should be able to run on other operating systems.
You'll need Go installed on your computer. Install a recent package of golang
.
Then:
go get github.com/nonoo/yt-dlp-telegram-bot
go install github.com/nonoo/yt-dlp-telegram-bot
This will typically install yt-dlp-telegram-bot
into $HOME/go/bin
.
Or just enter go build
in the cloned Git source repo directory.
token
.api_id
and api_hash
). You'll need to create an app if you haven't
created one already. Description is optional, set the category to "other".
If an error dialog pops up, then try creating the app using your phone's
browser.yt-dlp
, ffprobe
and ffmpeg
commands are available on your
system.You can get the available command line arguments with -h
.
Mandatory arguments are:
-api-id
: set this to your Telegram app api_id
-api-hash
: set this to your Telegram app api_hash
-bot-token
: set this to your Telegram bot's token
Set your Telegram user ID as an admin with the -admin-user-ids
argument.
Admins will get a message when the bot starts and when a newer version of
yt-dlp
is available (checked every 24 hours).
Other user/group IDs can be set with the -allowed-user-ids
and
-allowed-group-ids
arguments. IDs should be separated by commas.
You can get Telegram user IDs by writing a message to the bot and checking the app's log, as it logs all incoming messages.
You can set a max. upload file size limit with the -max-size
argument.
Example: -max-size 512MB
All command line arguments can be set through OS environment variables. Note that using a command line argument overwrites a setting by the environment variable. Available OS environment variables are:
API_ID
API_HASH
BOT_TOKEN
YTDLP_PATH
ALLOWED_USERIDS
ADMIN_USERIDS
ALLOWED_GROUPIDS
MAX_SIZE
YTDLP_COOKIES
The contents of the YTDLP_COOKIES
environment variable will be written to the
file /tmp/ytdlp-cookies.txt
. This will be used by yt-dlp
if it is running
in a docker container, as the yt-dlp.conf
file in the container points to this
cookie file.
/dlp
- Download given URL. If the first attribute is "mp3" then only the
audio stream will be downloaded and converted (if needed) to 320k MP3/dlpcancel
- Cancel ongoing downloadYou don't need to enter the /dlp
command if you send an URL to the bot using
a private chat.
If you find this bot useful then buy me a beer. :)
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket uncovered four malicious npm packages that exfiltrate up to 85% of a victim’s Ethereum or BSC wallet using obfuscated JavaScript.
Security News
TC39 advances 9 JavaScript proposals, including Array.fromAsync, Error.isError, and Explicit Resource Management, which are now headed into the ECMAScript spec.
Security News
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.