Contact Us

Email the Academic Torrents team at joecohen '@' cs.umb.edu

Joseph Paul Cohen
joecohen-at-cs.umb.edu
National Science Foundation Graduate Fellow
Ph.D. Candidate Computer Science
University of Massachusetts Boston
Henry Z Lo
henryzlo-at-cs.umb.edu
Ph.D. Candidate Computer Science
University of Massachusetts Boston

People

Joseph Paul Cohen - Founder
Henry Z Lo - Co-Founder
Jonathan Nogueira - Smart Node Team
Adrian Garay - Smart Node Team
Grigorii Lazari - Smart Node Team
James Lee - Smart Node Team
Luc Nguyen - Smart Node Team
Mani Jalilian - Smart Node Team
Edward Grigoryan - Smart Node Contributor

Mission

Personal Statement

+This service is designed to facilitate storage of all the data used in research, including datasets as well as publications. There are many advantages of using bittorrent technology to disseminate this work.

Torrent technology allows a group of editors to "seed" their own peer-reviewed published articles with just a torrent client. Each editor can have part or all of the papers stored on their desktops and have a torrent tracker to coordinate the delivery of papers without a dedicated server.

+ One aim of this site is to create the infrastructure to allow open access journals to operate at low cost. By facilitating file transfers, the journal can focus on its core mission of providing world class research. After peer review the paper can be indexed on this site and diseminated throughout our system.

+ Large dataset delivery can be supported by researchers in the field that have the dataset on their machine. A popular large dataset doesn't need to be housed centrally. Researchers can have part of the dataset they are working on and they can help host it together.

+ Libraries can host this data to host papers from their own campus without becoming the only source of the data. So even if a library's system is broken other universities can participate in getting that data into the hands of researchers.

-Joseph Paul Cohen 2013
joseph /at/ josephpcohen.com

Downloading


We recommend the Transmission torrent client which supports all major operating systems:
http://www.transmissionbt.com/
http://sourceforge.net/projects/trqtw/
From the command line:
For downloading from the command line you can use ctorrent locally or when connected over ssh to a server. To install ctorrent run:

$ sudo apt-get install ctorrent  ## for Ubuntu/Debian
$ sudo yum install ctorrent      ## for Fedora/Red Hat
$ brew install ctorrent          ## for Mac OSX
To use ctorrent you first need to download the .torrent file of the file/files that you want. You can do this using wget from the command line:

$ wget http://academictorrents.com/download/30ac2ef27829b1b5a7d0644097f55f335ca5241b.torrent
Then specify this .torrent when running ctorrent. The files will be downloaded as they are displayed on the technical tab of the details page.

$ ctorrent 30ac2ef27829b1b5a7d0644097f55f335ca5241b.torrent

Mirroring

We want to avoid the blind mirroring of all data. We want people have some choice in what they mirror to avoid issues.

Per collection RSS feeds allow you to mirror only collections you care about. Each collection has it's own unique RSS feed. You can add the RSS feeds found on this page: http://academictorrents.com/collections.php

for i in `curl http://academictorrents.com/collection/nasa-datasets.xml | grep "<link>" | grep "download/" | sed 's/<link>//g' | sed 's/<\/link>//g'`; do
echo $i;
done
Please give us feedback on these methods. We want to shape this system to offer what the community needs.

Uploading

All files must be licensed to legally reshare.

Please enter the license in the license field of the bibtex. For example use GPL, CC, CC-SA, or anything that allows sharing of the content. Contact us if you are unsure.

All files must be licensed to legally reshare.

Torrents

For more infomation on how the bittorrent protocol works check out this article: http://www.forbes.com/sites/quora/2013/07/24/how-does-bittorrent-work-in-laymans-terms/

This diagram should also help put things in perspective:

There is also a very nice video here: http://vimeo.com/19545251

You can look inside torrent files with our Torrent Explorer web application: http://academictorrents.com/torrentexplorer/

API

The api fields for uploading a entry to Academic Torrents are shown below. To upload a file you must send a POST request to http://academictorrents.com/api/paper with the following parameters as well as your API Key.

name : "The title of the publication"
authors : "Author1 and Author2"
descr : "@article{,
		title = {The title of the publication},
		author = {Author1 and Author2},
		abstract = {Abstract}
	}"
category : 5
tags : "Tag1, Tag2"
urllist : "http://someurltoafile.com/file.pdf, http://anothermirror.com/file.pdf"
file: data:application/x-bittorrent;base64,ZDg6YW5ub3VuY2UzODp...vMRIjFFguASKUplZQ==

API Key

Your API key will be displayed here. Please log in to see your API key
To use the above API Key you can use curl. Curl is a simple way of sending data the server just to test that our API is working. Below is the curl command to test your API key on our server. The -b option sets a cookie. We can use this to pass the API key and isolate it from the post data. The --data tag must be present to instruct curl that this is a POST request and not a GET request.

$ curl http://academictorrents.com/api/test -b "uid=14;pass=71135221ceb8b5279cd15150d2126dcb" --data ""
Welcome to the API test!
API Key Received: uid=14&pass=71135221ceb8b5279cd15150d2126dcb
Your username is joecohen
Everything seems fine, You should be able to use the API

We can also put the API Key directly in the POST request via the --data argument

$ curl http://academictorrents.com/api/test --data "uid=14&pass=71135221ceb8b5279cd15150d2126dcb"
Welcome to the API test!
API Key Received: uid=14&pass=71135221ceb8b5279cd15150d2126dcb
Your username is joecohen
Everything seems fine, You should be able to use the API



This is a Python API usage example. A larger more complete version is here: https://github.com/henryzlo/academictorrents_uploader

# get base64 of torrent
f = open("file.torrent", 'rb')
b64_torrent = b64encode(f.read())
f.close()

post_params = {
    'uid' : "14",
    'pass' : "71135221ceb8b5279cd15150d2126dcb",
    'name' : "The title of the publication",
    'authors' : "Author1 and Author2",
    'descr' : """@article{,
		title = {The title of the publication},
		author = {Author1 and Author2},
		abstract = {Abstract}
	}""",
    'category' : "6",
    'tags' : "tag1, tag2",
    'urllist' : "http://domainname/backupfileurl.zip",
    'file' : b64_torrent
}

data = urlencode(post_params).encode('utf-8')
req = Request('http://academictorrents.com/api/paper', data)

response = urlopen(req)