File Hosting + Torrent Proxy

Budget $750 - $1500 USD
Bids 6
Average Bid $2525

I need a custom file hosting script that allows users to have virtual drives which mimic the look windows operating system (i.e.: [url removed, login to view]). Must support username/password authentication features, and other permissions should be able to be set by users.

Must also incorporate a torrent client proxy (allowing users to submit .torrent urls or upload .torrent files from their desktop) and OUR server will download them, and when the download is complete we will provide the user with an http download link from our server.

Must also handle the in-browser viewing of specific types of files in different ways: i.e.: pdf files should be viewable in-browser similarly to [url removed, login to view], .doc files should have a similar viewing mechanism, movies should play in browser.

Please read on if you are capable of creating a scalable high-usage and distributed file sharing back-end.


Requirements Interview Answers:
To help you bid more accurately, the buyer was interviewed about the requirements for this project. Below are their answers.
Project Type: What kind of work do you need done?
Software related (Includes desktop applications and internet websites)
Project Parts: What do you want the seller to do on this project?

Requirements: The seller will analyze the problem and propose a software-based solution to the problem.
Programming: The programmer will take the requirements and translate them into the language of the computer (and test it).
User installation: The installer will move the software from the place it was created (which is called the development or QC environment) to where you will use it (which is called the production environment). The installer then tests the software to make sure that the installation was done properly and completely.
Req. Doc. Type: What kind of documentation do you want for this project?
Formal documentation - After talking back and forth, the seller creates a formal document and/or prototype, as follows:

* Prototype: The analyst will create a non-working mockup of all pages/screens in the final software. Creating a prototype makes it easier for the user to visualize the final software, and reduces misunderstandings.
* Requirements Document: The analyst will create a document describing everything the final software will do (other than what is documented in the prototype...if the buyer required one).

Program Type: What kind of software should the seller create (and/or install)?

* An internet web-site: This software runs on a web server and users will access it using their internet browser.
* A desktop or server program: This software runs on a user's own PC/workstation, or on a server.

Internet web-site info
Design and functionality: What does the programming of this project involve?

* Design: Create the layout of the pages (or modify the layout of existing pages).
* Program Functionality: Making the website "work".

Modeling another site: Do you wish to model another site? Yes: file sharing web site similar to [url removed, login to view]
*virtual drive ([url removed, login to view])
*ad placements, multiple pages shown before getting to download page

torrent client proxy feature of [url removed, login to view]

in-browser viewing capabilities similar to:

documents
[url removed, login to view]

movies - [url removed, login to view]
--ability to have server also convert .mov/.avi uploads to flv on the fly and stream

pictures/photo albums - [url removed, login to view]

.zip - have the ability for a user to unzip a .zip file in their virtual drive (if they have enough resources available based on what account type they have)
Size of website: How many pages need to be created/edited in this website?
Approximately 13.
Programming Language: What programming language(s) do you want your website written in?
I do know the language(s).
Languages(s):

* Cascading Style Sheets (CSS)
* PHP

Misc. details: Would like to have desktop uploader programmed in Java for cross-platform compatibility beween PC and Mac users.

Database: Will this project include a database?
Yes, it does include a database.
Details:

* MySQL -- version(s): 5.x

Browser Type(s)/Version(s): Which browser/version combinations must this website support?

* IE 7.0
* IE 6.0
* Firefox 3.0
* Firefox 2.0-2.x
* Firefox 1.5
* Safari 41
* Firefox 1.0

Server Hosting Environment: What is your server hosting environment?
I have a server at a 3rd party hosting company.
The name of the hosting company is: [url removed, login to view]
The server's shared/dedicated status is: Dedicated just to me.

Component Compatibility Protection:
Sometimes a programmer may create features on the website that rely on componentswhich work fine on their own server, but won't work with your 3rd party hosting company's server. There are many reasons for this including version incompatibility, restricted permissions, etc... Rent A Coder normally requires that the programmer verify in advance that your 3rd party hosting provider will support the components. If they do not, then they are responsible for any incompatibilities, rather than you. Do you want this protection on your project?
No, I will be responsible for any components of the final solution that do not work with my hosting company.
Server Hosting Environment: Will the coder develop "live" on your server?
No. The programmer is responsible for creating their own development and/or qc environment.
Physical installation: Who will perform the physical installation?
The programmer will perform the physical installation, and will be given all necessary permissions to do so.
Desktop / server program info
Size of application: How many screens/forms need to be created/edited in this application?
Approximately 3-5.
Programming Language: What programming language(s) do you want your application written in?
I do know the language(s).
Languages(s):

* Java

Misc. details: Would like Mac and PC versions of upload app, that's why I have chosen Java for cross-compatibility (clone of)
[url removed, login to view]



Operating system(s) What operating systems(s) do you want your application to work on?
I do know the operating system(s):
# Microsoft Windows -- version(s): XP, Vista, 7
# Macintosh -- version(s): 9, OS X
Database: Will this project include a database?
No, it does not include a database.
Installation Program: Does the programmer need to create an installation program?
Yes AND the program will be installed on only a single computer.
Legal: 1) I require complete and fully-functional working program(s) in executable form as well as complete source code of all work done (so that I may modify it in the future).
2) Deliverables must be in ready-to-run condition as follows (depending on the nature of the deliverables):
2a) Any website server-side deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
2b) If there are any server-side deliverables (intended to only exist in one place in the Buyer's environment) then they must be installed by the Seller in ready-to-run condition (unless specified elsewhere by the Buyer).
2c) All other software (including but not limited to any desktop software or software the buyer intends to distribute) must include a software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request (unless specified elsewhere by the Buyer).
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased.
3b) No part of the deliverable may contain any copyright restricted 3rd party components (including GPL, GNU, Copyleft, etc.) unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the seller's Seller Legal Agreement.
Other Requirements:
File Hosting script that allows users to have virtual folders which mimic the windows operating system (i.e.: [url removed, login to view]). Must support username/password authentication features, and other permissions should be able to be set by users.

*virus scanning feature*
integration of [url removed, login to view] - automated for all premium paid users - free users have "insecure" virtual drives

--Ability to upload files from desktop computer, remote url, or torrent.
*1 file or multiple file upload options
-Javascript & AJAX based uploader and file manager
*ability to tag uploads with relevant keywords
*Virtual Drive Privacy*
User will have the ability to toggle entire folders and individual files are private or publicly viewable
i.e.: [url removed, login to view] and [url removed, login to view] will display the user's publicly viewable files.
*Photo album folders*
--users will be able to assign passwords to directories and files
Ability for users to upload photos and create photo albums

*in frame playback*
music files should play in browser
movie files should play in browser
flash files should play in browser


*search feature*
ability to have homepage search box that will search uploaded files which are toggled for public viewing by users and show results based on file name and tag matches
-ability to do advanced search and select/filter different file types to give results for
-thumbnails for image results, zip folder icon for .zip matches, file icon for .exe matches, etc.


Different classes of users - free vs. paid and bandwidth throttling depending on class of user.
--Need the ability to track user's bandwidth usage and limit resources (maximum file storage space, etc.)
--PayPal integration for automatic account creation and resource allocation


* Torrent proxy feature* (similar to [url removed, login to view])- allow users to submit .torrent urls or upload a .torrent file from their desktop from all major trackers (i.e.: [url removed, login to view]) at which point, OUR server will act as a torrent client, and download the torrented file that the user requests, and once it is finished, place it in their virtual drive for http download. The user will also be shown the status of the download with an avg k/s meter and a completion meter.

*File caching*
torrent downloads will be cached with an expiry of a definable number of days (i.e.: 30 days) - when a user downloads a torrented file to OUR servers it will be deleted in 30 days, unless another user requests the exact same .torrent download (MD5 checksum, maybe?), then the 30 day expiration starts over.

If the torrent has already been downloaded by another user, and the files are still active in our cache of recently downloaded files, then the user should be able to directly download the files without waiting. If the files are not currently available, the .torrent is moved into a queue of torrents to be downloaded by our torrenting cluster (if the same .torrent is not already in the queue from another user). Our torrenting cluster will then download the files, and upon completion, will import them into our mogilefs file system, while also updating the database accordingly so that it knows what files are associated with the downloaded torrent, and so it knows where to get those files and that they are available.

MogileFS functions best with chunks of data under 64GB, so we must segment files for scalability.

*1 IP download links*
Torrented files will be in a special folder in the user's virtual drive which can only be viewed by the user when logged in. i.e.: to prevent users from sharing links to files in the torrent directory, they must be logged in to get the download links - and to prevent users from sharing download links - only the IP address of the logged in user that generates a link in THAT specific instance will be able to download from that link using their web browser or download manager.

*Virtual Drive Privacy*
User will have the ability to toggle entire folders and individual files are private or publicly viewable

i.e.: [url removed, login to view] and [url removed, login to view] will display the user's publicly viewable files.


*download multiple files as 1 zip file*
We want users to be able to download multiple files as one .zip file. We have a module for nginx programmed for us that can do this. Upon being supplied a list of files, their crc32's, and other relevant information that we already have available, this module will create a zip file on the fly to stream to the end user, while also supporting resuming.

In order to finish this functionality, our script needs to let the user decide which files they want to include in their .zip archive they are downloading, and then pass the list of files off to the nginx zip manager when the user tries to download the .zip archive.

The user should be able to select which files to zip from their virtual drive interface.

*DMCA banning feature*
We will need to be able to ban individual .torrents, or individual actual files, in order to respond to DMCA complaints.

*scalability*
As we plan to be able to quickly support many servers, thousands of users, and many terabytes of files in a system that may or may not properly handle this, load testing and scaling testing will be needed before launch to identify our initial bottlenecks so that we can address them.

Post a Project Like This

Looking to make some money?

  • Set your budget and the time frame
  • Outline your proposal
  • Get paid for your work

Bids on this Project

  • aig Profile Picture

    aig

    PN,  India

    We are a Website Design & Development, Apps and SEO Services company located in India and founded in 2006. During this period we specialized our self in getting businesses on the Internet quickly and professionally. As a one-stop provider, you will find it easier than ever to gain the strong web presence every modern business requires; from Web Design to SEO Services - we can provide it all. If you came at us, you won’t be needed to search for anyone else. Our experience of over 9+ years in web development and over 1200+ of successfully completed projects recommends us as a Web Design Company that always puts client’s interests in first place. Please contact me for more details ...

    PHP, Java, Javascript, and Adobe Flash

  • Krot Profile Picture

    Krot

    Kharkov,  Ukraine

    Javascript, XML, .NET, and Web Security

  • RWebMasters Profile Picture

    RWebMasters

    Kaliningrad,  Russian Federation

    PHP, Java, Javascript, and Adobe Flash

  • rinkuphp Profile Picture

    rinkuphp

    noida,  India

    Current Project Details: www.kits9.com S/W Platform: PHP, Photoshop, Css.ajax,javascript,oscommerces Databases: mySql Description: This is an e- commerce website. Kits9 is artwork generation to production and distribution; we play an active part in brand promotion. We understand that business gifts with companies’ logo etc. are the most effective way of promoting your company and as a leading manufacturer & supplier. www.shapechangerssalons.com S/W Platform: PHP, Photoshop, CSS. ajax,javascript Databases: Mysql Description: This is an e- commerce website. Salons shape changers (SSC) is the innovative provider of wrap supplies, including equipment, accessories and clays. The use of optimum ingredients assures that the product will achieve genuine results. www.ibizasunglassshop.com S/W Platform: PHP, Photoshop, Dreamwaver, Flash, Css. ajax,javascript Databases: mySql Description: This is an e- commerce website. www.ibiza-directory.com S/W Platform: PHP, Photoshop, Css. Databases: mySql Description: This is web website Ibiza Directory. Find a Ibiza hotel, Ibiza real estate agent, and general Ibiza businesses and details thefinancialintroducers.co.uk S/W Platform: PHP, ajax,javascript Databases: mySql Description: Financial introducers highly trained and professional staff offers a full range of loan solutions from a panel of nationally recognized lenders. Whatever your personal circumstances we could help you. Loans secured on your property are available from £5000 to £500,000 subject to status and can be used for most circumstances, including debt consolidation. Winkids.org S/W Platform: PHP, ajax,javascript Databases: mySql Description: World in Need (WIN International Associates) is a global network of national initiatives by people working in areas around the world to relieve suffering, poverty and oppression. World in Need was started in response to the plight of the Kurds in 1991 when they were gassed and killed in the mountains of Iraq. Continual aid is still going to these people but the work has expanded into over 22 countries not only through aid but also education and trade. Each field has a board and wherever possible has registration with its own government as an NGO and an auditor. The WIN Child Sponsorship developed from the city of Halabja, a city in Kurdistan, being gassed by the regime ofSadaam Huseein in the late eighties. We sponsored widows and orphans and made regular visits to take support to these people. We still look after these same widows and orphans. www.m2sinc.com S/W Platform: PHP, ajax,javascript Databases: mySql Description: This site is an admin and clients Database interface, where Admin gives an update client’s work stage. www.bipolarinternational.co.in S/W Platform: PHP Databases: mySql Description: This site an e-commerce based site. www.seek-property.com S/W Platform: PHP Databases: mySql Description: Searching And register property online Also anybody who registers should be able to put the add like Property for sell,rent lease etc. Property owner should be able to see his account details ,history like who has visited & sent queries, active ads etc. Property owner should have control to edit,delete,add ads. ADMIN should have control to add,edit,delete users etc . www.shubham.net S/W Platform: PHP, ajax,javascript Databases: mySql Description: It is MLM website. In which member she their tree off down and upline and amount received Admin update,delete add member etc. . www.spendandgive.biz » www.syskontech.com S/W Platform: PHP, ajax,javascript Databases: mySql Description: charity site in which user select shop and charity Admin add,delete and edit shp and charity

    PHP, Java, Website Design, and SEO

  • kamachi2009 Profile Picture

    kamachi2009

    coimbatore,  India

    I am working as a freelance Web Designer and Flash Designer/Programmer/Developer for the last 2 years. My major strength are customizing the php open source software, designing logo banner, website etc. Being working from my home my charges are $ per hour and for clients giving steady work i can adjust my price further. So best combination of price and quality. I have been working with clients directly as well as with firms and companies outsourcing work from all over the world.It is always my priority to keep the identity of outsourced work under strict confidence and never try to connect with their clients directly. So proposals from firms and companies are welcome to develop full sites or parts of it, wherever i fit. I love to work through this site as it is so secure for both the buyers and the service providers. I am available on net all day and can be reached through Instant Messengers also. So communication will never be a problem even we may work in different time zones. Emails are replied back in maximum half an hour at the most. - No Upfront payments needed. - Safe escrows only after mock up has been done and approved by my clients. - Full support even after job is over. Try once and feel the professional vibes,If somebody can do it, I can do it better

    PHP, Adobe Flash, Visual Basic, and .NET

  • TeleSoftSG Profile Picture

    TeleSoftSG

    Ternopil,  Ukraine

    My developer expertise began in early 90's. You can expect the job you assigned to me will be done exactly as needed with minimum questions.

    PHP, Perl, Javascript, and XML