Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
This is a command-line app that takes many types of content and turns them into audible speech as a podcast feed.
You'll need a web server to host the generated content in order to subscribe with your podcasting app.
Depending on your hardware configuration, you may need to pull a more recent pytorch build to get maximum performance for your specific GPU. See the PyTorch website for instructions on installing torch and torchaudio with pip for your platform. Coqui with XTTS runs reasonably fast on Linux, Mac, and Windows, although the Mac GPU (mps) support is limited compared to NVidia CUDA. Coqui with Tortoise is quite slow, especially on Mac.
This should work "out of the box" on Linux or MacOS.
mkdir ttspod
cd ttspod
curl -s https://raw.githubusercontent.com/ajkessel/ttspod/refs/heads/main/quickstart.sh -o quickstart.sh
bash quickstart.sh
Windows install from PowerShell, not extensively tested:
Invoke-WebRequest 'https://raw.githubusercontent.com/ajkessel/ttspod/refs/heads/main/quickstart.ps1' -OutFile 'quickstart.ps1'
& quickstart.ps1
You'll need to generate a config file (ttspod -g
) and edit it before you can do anything. Minimal required settings include configuring your TTS speech engine preference and podcast URL.
You'll also need somewhere to host your RSS feed and MP3 audio files if you want to subscribe and listen with a podcast client. The application is set up to sync the podcast feed to a web server over ssh.
usage: ttspod [-h] [-c [CONFIG]] [-g [GENERATE]] [-w [WALLABAG]] [-i [INSTA]] [-p [POCKET]] [-l [LOG]] [-q [QUIET]] [-d] [-r] [-f] [-t TITLE] [-e ENGINE] [-m MODEL] [-s] [-n] [--nogpu] [-u] [-v] [url ...]
Convert any content to a podcast feed.
positional arguments:
url specify any number of URLs or local documents (plain text, HTML, PDF, Word documents, etc) to add to your podcast feed
options:
-h, --help show this help message and exit
-c [CONFIG], --config [CONFIG]
specify path for config file (default ~/.config/ttspod.ini if it exists, otherwise .env in the current directory)
-g [GENERATE], --generate [GENERATE]
generate a new config file(default ~/.config/ttspod.ini if ~/.config exists, otherwise .env in the current directory)
-w [WALLABAG], --wallabag [WALLABAG]
add unprocessed items with specified tag (default audio) from your wallabag feed to your podcast feed
-i [INSTA], --insta [INSTA]
add unprocessed items with specified tag (default audio) from your instapaper feed to your podcast feed, or use tag ALL for default inbox
-p [POCKET], --pocket [POCKET]
add unprocessed items with specified tag (default audio) from your pocket feed to your podcast feed
-l [LOG], --log [LOG]
log all output to specified filename (default ttspod.log)
-q [QUIET], --quiet [QUIET]
no visible output (all output will go to log if specified)
-d, --debug include debug output
-r, --restart wipe state file clean and start new podcast feed
-f, --force force addition of podcast even if cache indicates it has already been added
-t TITLE, --title TITLE
specify title for content provided via pipe
-e ENGINE, --engine ENGINE
specify TTS engine for this session (whisper, coqui, openai, eleven)
-m MODEL, --model MODEL
specify model to use with engine (for use with Coqui, OpenAI, or Eleven)
-s, --sync sync podcast episodes and state file
-n, --dry-run do not actually create or sync audio files
--nogpu disable GPU support (try this if you're having trouble on Mac)
-u, --upgrade upgrade to latest version
-v, --version print version number
Add a URL to your podcast feed
# ttspod https://slashdot.org/story/24/09/24/2049204/human-reviewers-cant-keep-up-with-police-bodycam-videos-ai-now-gets-the-job
Update your podcast feed with all of your Wallabag items tagged "audio" that have not yet been processed
ttspod -w
Create a one-sentence podcast from the command-line
echo "This text will be turned into a podcast that I will be able to listen to later." | ttspod -t 'The Title of the Podcast'
Turn a Word document into a podcast
ttspod my_document.docx
The easiest way to feed emails to TTSPod is with a procmail recipe in .procmailrc
. For example, this recipe will send emails from me@example.com or you@domain.com to myttsaddress@mydomain.com to this script, assuming you have a symlink to the script in ~/.local/bin
.
:0 Hc
* ^From:(.*\<(?)(me@example.com|you@domain.com)
* ^(To|X-Original-To):(.*\<(?)(myttsaddress@mydomain.com)
| ${HOME}/.local/bin/ttspod &> ${HOME}/log/tts.log
Contributions welcome.
FAQs
Convert any content to a podcast
We found that ttspod demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
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
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.