Skip to content
Service to transfer stuff between different devices (connection is made thrugh a server by matching secret phrases).
Branch: master
Clone or download
Latest commit 21d8c1f Mar 27, 2013
Type Name Latest commit message Commit time
Failed to load latest commit information.
CrossCopyLib began to fix the upload progress... it's tricky to compute the conten… Mar 27, 2013
server Merge branch 'master' of Oct 26, 2012
.gitignore igoring generated file Oct 19, 2012


cross copy ( solves the problem when you spontaneously need to transfer data between different devices (eg. "inter-device copy and paste") and don't want any setup, login or sharing links through other channels. The only thing which needs to be done on all participating devices is to agree on a secret phrase and connect to a RESTful Web Service (written in node.js). The hosted Web App provides a neat Web App for doing so in any modern Browser (not IE). There is also a commandline tool for sending and receiving stuff when working on a remote system via ssh or similar (of course you can also use curl directly). Special Apps for iOS and Android are work in progress.

Use Cases

  • sharing a link in the office (alternatives: Skype, spelling, Post-It)
  • getting a phone number from laptop to mobile (alternatives: type in, repeat search on mobile, send mail to yourself)
  • get a file from desktop to laptop or mobile (alternatives: Dropbox, Evernote, send email)
  • send address to someone who is asking for it on the phone (alternatives: send email, spell it)
  • ...

Service API

The official server is available through

Basic Usage

waiting for data to appear "on the given secret" (long polling)

GET   /api/<secret code>

send data in body to all waiting clients

PUT   /api/<secret code>



If the parameter device_id=[uuid] is added to the above urls for GET & PUT, you wont receive the data you send out with the same uuid.

lists data which had been recently sumbitted for a given secret

GET   /api/<secret code>/recent-data.json

Normally the devices which wants to receive something will start their longpolling GET request before data is submitted via PUT to the same secret. But if a client comes late to the party, the recent-data.json ressource provides access to a short history of stuff which has been submitted.

Sharing Files

store a file temporary on the server at the given uri

POST  /api/<secret code>/<filename.extension>

watch number of listeners for changes (long polling)

GET   /api/<secret code>?watch=listeners&count=<known num of listeners>

Keep on server

By adding the parameter keep_for=[time in seconds] to the PUT url, you can modify the time until the data will be not longer available in recent-data.json


Copyright (c) Rodja Trappe

Licensing: GPL v3


You can’t perform that action at this time.