
Research
Supply Chain Attack on Axios Pulls Malicious Dependency from npm
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.
📸 Creates beautiful screenshots, videos, and GIFs based on terminal command output.
Creates beautiful screenshots, videos, and GIFs based on terminal command output. With full local font and emoji support.
npx termsnap "lolcat -f <(figlet -f banner3 termsnap)"
This project leverages Go-based terminal output proxy combined with web rendering technology to deliver pixel-perfect terminal screenshots.
# Browser preview
npx termsnap "command" --animate --open
# Save as HTML file
npx termsnap "command" --html
# Save as screenshot
npx termsnap "command" --png
# Save as video
npx termsnap "command" --mp4 --fps 60
# Save as animated GIF
npx termsnap "command" --gif --gif-fps 20 --gif-scale 720
# Custom theme and decoration
npx termsnap "command" --open --theme "vitesse-light" --decoration
# Save as animated HTML file
npx termsnap "command" --animate
Generate your terminal output in multiple formats:
termsnap supports termsnap.config.ts for persistent configuration and theme customization. You can:
termsnap.config.tsYou can use any theme from the iTerm2-Color-Schemes VSCode directory. If the theme name is not in the built-in list, termsnap will automatically attempt to download it from the repository:
# Use a remote theme (e.g., 0x96f)
npx termsnap "command" --theme "0x96f"
When using the --animate option to generate animated HTML output, you can customize the typing animation behavior through typedOptions configuration:
// termsnap.config.ts
import { defineConfig } from './src/index'
export default defineConfig({
typedOptions: {
speed: 100, // Typing speed in milliseconds per character
initialDelay: 0, // Initial delay before starting to type
pauseAfter: 500 // Pause duration after typing completes
}
})
port - Server port (default: 3000)force - Force to download the theme from remotedpi - Device pixel ratio for screenshotpng - Generate png and save to filejpeg - Generate jpeg and save to filewebp - Generate webp and save to filegif - Generate animated gif and save to filegifFps - Frames per second for gif output (default: 20)gifScale - Scale for gif output (default: 720)fps - Frames per second for video output (default: 60)mp4 - Generate mp4 video and save to fileavi - Generate avi video and save to filemov - Generate mov video and save to filewebm - Generate webm video and save to filehtml - Generate HTML template and save to fileanimate - Generate animated HTML template and save to fileloop - Loop the animation for a given number of millisecondsopen - Open browser after generating HTML templatetheme - Terminal theme (vitesse-dark, vitesse-light, catppuccin variants, etc.)colors - Custom terminal color configurationheight - Terminal heightwidth - Terminal widthdecoration - Draw window decorations (minimize, maximize, close buttons)cmd - Show command in the terminaltyped - Typed command in the terminalfontAspectRatio - Terminal font aspect ratio (default: 0.6)fontFamily - Terminal font familyfontSize - Terminal font sizefontWeight - Terminal font weightlineHeight - Terminal line heightborderRadius - Terminal border radiusborderWidth - Terminal border widthborderColor - Terminal border colorboxShadow - Terminal box shadowpadding - Terminal paddingmargin - Terminal marginspeed - Typing speed in milliseconds per characterinitialDelay - Initial delay before starting to typepauseAfter - Pause after typing completestermsnap caches downloaded binaries and remote themes to improve performance. You can manage the cache using the following command:
# Clean all cached files (binaries and themes)
npx termsnap cache:clean
This command will remove:
Use this command if you're experiencing issues with cached files or want to free up disk space.
This project was inspired by:
I wanted a simple way to create screenshots for my CLI tools to include in README files. However, existing tools had limitations with fonts, emoji support, and interactive terminal sessions. This led me to create termsnap - a terminal screenshot tool that feels like recording your terminal sessions with perfect fidelity.
MIT License © jinghaihan
FAQs
📸 Creates beautiful screenshots, videos, and GIFs based on terminal command output.
We found that termsnap 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
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.