RFDD

RFDD is similar to the UNIX DD tool. It is used to copy files and convert and format the contents of the original files. It is used to back up physical hard disks, and through RFSD servers, remote file operations are implemented. It is recommended to operate the local or remote physical disk when needed.

Version: 1.7.2.0 Update time: 2024-2-29
Functional characteristics
  • Supports the basic functions of the DD tool
  • Implementing file operations on remote devices via RFSD
  • Multi-platform support Windows Macosx iPhone iPad Linux Android FreeBSD
how to install
Use curl
curl http://dl.ranfs.com/pub/rfdd/all/get.sh -o -|sh -s /usr/local/bin
Use wget
wget http://dl.ranfs.com/pub/rfdd/all/get.sh -O -|sh -s /usr/local/bin
Use Powershell
$rfdd_dir="c:\rfdd";Invoke-Expression(New-Object Net.WebClient).DownloadString("http://dl.ranfs.com/pub/rfdd/all/get.ps1")
Help
$ rfdd -h
rfdd v1.7.2.0 (2024-2-29) [little] - convert and copy a file [staic]
Copyright (C) 2014-2024 ranfs.com

usage: rfdd [if=FILE] [of=FILE] [ibs=N] [obs=N] [bs=N] [count=N] [skip=N]
[seek=N] conv=[notrunc|noerror|sync|fsync|resume]
iflag=[skip_bytes|direct|file] oflag=[seek_bytes|direct|file]
status=[noxfer|none|md5|sha1] retry=NUM level=[LEVEL]
	bs=BYTES    read and write BYTES bytes at a time
	ibs=N       Read N bytes at a time
	obs=N       Write N bytes at a time
	count=N     copy only N input blocksn
	seek=BLOCKS skip BLOCKS obs-sized blocks at start of output
	skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input
	offset=BLOCKS offset BLOCKS at input and output default is bytes
	if=FILE     read from FILE instead of stdin
	of=FILE     write to FILE instead of stdout
	conv=CONVS  [notrunc,noerror,sync,fsync,swab,resume,]
	conv=notrunc   Don't truncate output file
	conv=noerror   Continue after read errors
	conv=bad_read  Allows damaged sector fills to continue reading
	conv=sync      Pad blocks with zeros
	conv=fsync     Physically write data out before finishing
	conv=swab      Swap every pair of bytes
	conv=resume    Continue writing at the end of the output file
	conv=off_blocks offset=N is in BLOCKS
	conv=cal_one_task [hash bcount] is computed using one thread
	conv=cal_force_local [hash bcount] force local calculation
	iflag=skip_bytes skip=N is in bytes
	oflag=seek_bytes seek=N is in bytes
	iflag=direct   use direct I/O for data
	iflag=file Open as a file, otherwise parse as a supported image format
	iflag=vss   use windows shadow copy file
	retry_timeout_minutes=NUM  Retry limit time minutes
	retry_delay_seconds=NUM  Retry delay interval seconds
	bad_fill_str=STR Write Pattern dor damaged source sectors
	bad_skip_sectors=NUM Avoid damaged areas, skip sectors
	bad_retry_count=NUM maximum number of retries for a sector read error
	disable_os_hibernate=[1|0] Prohibit os hibernate during operation
	disable_pack_transport=[1|0] disable pack transport
	cool_down=[N-N] specify the duty-cycle for cooling down the device
	bs_count=[1-4096] The number of hash blocks is cal each time
	clear_mode=[00-100] 00-FF [100] clear characters for random
	hash_mode=[md5|sha1|sha256|sha512|sm3|xxh3] Calculate hash [+p...]
	bcount_mode=[u8] Calculate the distribution of data
	diff_mode=[byte|bs|bin] Compare mode
	diff_max_count=[1-8192] Record the maximum number of different positions
	sync_mode=[auto] Synchronize file data
	status=noxfer  Suppress rate output
	status=none    Suppress all output
	status=md5     output MD5 value of copy data
	proxy_name=[name] rf_proxy.ini proxy_name
	proxy_url=[http|sock4|sock5] set proxy url
	level=LEVEL    set log level: [verb, dbg, info, warn, err]


may be suffixed by b(512), kB(1000), k(1024), MB(1000000), M, GB, G, TB, T
Examples

Assuming RFSD is running on a 192.168.1.1 Linux system, it is now necessary to back up the hard disk data locally to the windows d:\1.img

rfdd if=rfp://192.168.1.1/dev/sda of=d:\1.img bs=512k

Note: bs defaults to 512 bytes and reads 512 bytes at a time. The reading speed will be slow, so it is recommended that bs>=200K.


Related resources
Windows
Macosx
iPhone iPad
Linux Android
FreeBSD