Broadcast Copy
C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
Makefile
README.md Added link to homebrew recipe, close #17 Mar 5, 2013
bcp.c

README.md

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: