Chạy được cả khi không có SFTP
protocol: 'auto' dùng SFTP khi máy chủ hỗ trợ và tự chuyển sang SCP khi không có, nên Dropbear, router và switch đều chạy ngay.
Cách chọn giao thức
Dùng SFTP khi máy chủ có, dùng giao thức SCP thật khi máy chủ không có. Một API nhỏ gọn cho cloud VM, router OpenWrt và thiết bị mạng.
import { connect } from 'node-scp';
await using client = await connect({ host: 'example.com', username: 'deploy', privateKey });
await client.upload('./dist', '/var/www/app', { recursive: true });import { upload } from 'node-scp';
await upload('./dist', 'deploy@example.com:/var/www/app', { recursive: true, privateKey });npx node-scp -r ./dist deploy@example.com:/var/www/app- uses: maitrungduc1410/node-scp-async@v1
with:
host: ${{ secrets.DEPLOY_HOST }}
username: deploy
private-key: ${{ secrets.DEPLOY_KEY }}
source: dist/
target: /var/www/appChọn một loại máy chủ để xem node-scp xử lý thế nào.
protocol: 'auto' sẽ dùngSFTPclient.fscó sẵnTrường hợp phổ biến nhất, không cần cấu hình gì.
await connect({ host: 'example.com', username: 'deploy', privateKey });Thời gian tải lên một máy chủ OpenSSH chạy trên cùng máy, lấy trung bình nhiều lần chạy. Phần lớn chênh lệch với tệp nhỏ đến từ TCP_NODELAY; trang so sánh giải thích chi tiết.