
Security News
Security Community Slams MIT-linked Report Claiming AI Powers 80% of Ransomware
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.
@ctrl/transmission
Advanced tools
TypeScript api wrapper for transmission using ofetch
npm install @ctrl/transmission
import { Transmission } from '@ctrl/transmission';
const client = new Transmission({
  baseUrl: 'http://localhost:9091/',
  password: '',
});
async function main() {
  const res = await client.getAllData();
  console.log(res);
}
Docs: https://transmission.vercel.app
API Docs: https://github.com/transmission/transmission/blob/main/docs/rpc-spec.md
These functions have been normalized between torrent clients. Can easily support multiple torrent clients. See below for alternative supported torrent clients
Returns all torrent data and an array of label objects. Data has been normalized and does not match the output of native listTorrents().
const data = await client.getAllData();
console.log(data.torrents);
Returns one torrent data
const data = await client.getTorrent();
console.log(data);
Pause or resume a torrent
const paused = await client.pauseTorrent();
console.log(paused);
const resumed = await client.resumeTorrent();
console.log(resumed);
Remove a torrent. Does not remove data on disk by default.
// does not remove data on disk
const result = await client.removeTorrent('torrent_id', false);
console.log(result);
// remove data on disk
const res = await client.removeTorrent('torrent_id', true);
console.log(res);
If you're shutting down the server often (serverless?) you can export the state
const state = client.exportState();
const client = Transmission.createFromState(config, state);
All of the following npm modules provide the same normalized functions along with supporting the unique apis for each client.
deluge - https://github.com/scttcper/deluge
qbittorrent - https://github.com/scttcper/qbittorrent
utorrent - https://github.com/scttcper/utorrent
docker run -d \
  --name=transmission \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -p 9091:9091 \
  -p 51413:51413 \
  -p 51413:51413/udp \
  -v ~/Documents/transmission/config:/config \
  -v ~/Documents/transmission/downloads:/downloads \
  -v ~/Documents/transmission/watch:/watch \
  --restart unless-stopped \
  lscr.io/linuxserver/transmission:latest
FAQs
TypeScript api wrapper for transmission using ofetch
We found that @ctrl/transmission 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.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.

Research
/Security News
Socket researchers found 10 typosquatted npm packages that auto-run on install, show fake CAPTCHAs, fingerprint by IP, and deploy a credential stealer.