
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
run-remote-task
Advanced tools
Runs tasks on a remote machine with communication over a WebDAV server.
All messages are signed, which means you can use it even if you don't trust the WebDAV server. If data is modified in between, the task won't be executed or the result won't be accepted. It's also fine to use HTTP, unless you're concerned about data being accessible to someone else.
This diagram explains the interaction without going too deep into details:
Generate two keypairs:
openssl genrsa -out private-key-client.pem 2048
openssl rsa -in private-key-client.pem -outform PEM -pubout -out public-key-client.pem
openssl genrsa -out private-key-server.pem 2048
openssl rsa -in private-key-server.pem -outform PEM -pubout -out public-key-server.pem
Upload the keys:
private-key-client.pem
public-key-client.pem
public-key-server.pem
private-key-server.pem
public-key-client.pem
public-key-server.pem
Create a json config:
{
"server": "http://your-webdav-server/with-path/",
"user": "webdav-user",
"password": "webdav-password",
"clientPublicKey": "path/to/public-key-client.pem",
"serverPublicKey": "path/to/public-key-server.pem",
"clientPrivateKey": "path/to/private-key-client.pem",
"serverPrivateKey": "path/to/private-key-server.pem",
"pollMillis": 5000,
"taskExpirationMillis": 600000,
"command": "run_task.sh",
"commandRetries": 10
}
If you're using Google Cloud Storage:
{
"gcp": {
"projectId": "my-project",
"bucketName": "my-bucket",
"credentials": {
"client_email": "...",
"private_key": "..."
}
},
"clientPublicKey": "path/to/public-key-client.pem",
"serverPublicKey": "path/to/public-key-server.pem",
"clientPrivateKey": "path/to/private-key-client.pem",
"serverPrivateKey": "path/to/private-key-server.pem",
"pollMillis": 5000,
"taskExpirationMillis": 600000,
"command": "run_task.sh",
"commandRetries": 10
}
If you're using AWS S3:
{
"aws": {
"accessKeyId": "...",
"secretAccessKey": "...",
"region": "eu-central-1",
"bucket": "my-bucket"
},
"clientPublicKey": "path/to/public-key-client.pem",
"serverPublicKey": "path/to/public-key-server.pem",
"clientPrivateKey": "path/to/private-key-client.pem",
"serverPrivateKey": "path/to/private-key-server.pem",
"pollMillis": 5000,
"taskExpirationMillis": 600000,
"command": "run_task.sh",
"commandRetries": 10
}
Upload this config to both server and clients.
Write your task in run_task.sh
. Your task receives two environment variables:
INPUT
: file with input data received from the clientOUTPUT
: expected output file name that will be sent backHere's a hello world example:
name=$(<$INPUT); echo "Hello, $name!">$OUTPUT
Run the server:
npx run-remote-task --config=config.json --server
Test the client:
npx run-remote-task --config=config.json --client --input=input.txt
MIT
FAQs
Runs tasks on a remote machine with communication over a WebDAV server.
We found that run-remote-task demonstrated a not healthy version release cadence and project activity because the last version was released 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
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.