• Stars
    star
    262
  • Rank 156,136 (Top 4 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created over 12 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Broadcast Copy

Broadcast Copy

Any easy way to copy files between terminals or computers on a local network.

Note: bcp currently assumes a trusted network, use with caution

Compiling

make or gcc -D_FILE_OFFSET_BITS=64 -o bcp bcp.c

Installation

$ make install

One line install:

$ bash -c "mkdir /tmp/bcp && cd /tmp/bcp && curl -L# https://github.com/jgallen23/bcp/archive/master.tar.gz | tar zx --strip 1 && make install"

In OSX, you can use @gil's homebrew solution: https://github.com/gil/homebrew-bcp

Usage

To make file availabe for copying:

$ ./bcp filename

To receive the file:

$ ./bcp

Example

Sender

diginux@heisenberg:~/code/bcp/test$ ./bcp awesome.jpg
Listening for request..
Sending file to: 192.168.2.12:10789
Sent 107545
File sent.

Recipient

Jordans-MacBook-Pro:bcp diginux$ ./bcp
Requesting file..
Incoming connection from: 192.168.2.12
Receive: 107545
File received: awesome.jpg

Useful bash commands

bcpdir: to send directories

# zip directory to /tmp and bcp it
bcpdir() {

	curr_time=`date +%s`
	file=/tmp/files_$curr_time.zip

	if [[ -d $1 ]]; then

		# dir	
		cd $1
		zip -r -9 $2 $file .

	elif [[ -f $1 ]]; then

		# single file
		file_dir=`dirname $1`
		file_name=`basename $1`
		cd $file_dir
		zip -r -9 $2 $file $file_name

	else
		echo "$1 is not valid!"
		exit 1	
	fi

	bcp $file
	rm $file
	cd -
}

bcppass: to send files/directories protected with password

# zip file/directory with password to /tmp and bcp it
bcppass() {
	bcpdir $1 -e
}

Alternatives: