Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time

File Sharing

Create a website that allows a user to share files: Packages: crypto.


  1. Allow logged-in users to upload files to the server.
  2. They should be able to email a link to their friends who can use this to download the file.
  3. The files should not be stored in the public directory
  4. The download link should include a hash string, not the file name.


  1. Any files should be deleted once they have been downloaded or after 3 days (whichever comes first).
  2. All files should download (even if they could display in the web browser).


  1. The person uploading the file can choose the username of the user who can access it.
  2. This username must already exist.
  3. Users need to log in to see a list of the files they can download.
  4. All files in the list should have an appropriate icon reflecting what type of file they are and include information such as the file size and the date and time the file was uploaded as well as how long before it will be deleted.