Whoa - you like to set your sights high!
That said, in the background is a simple database full of links. From what I can gather, the site actually holds very little downloadable content itself, so your hosting memory or bandwidth doesn't need to be too high.
The programming and database setup is going to be the easy bit but putting in the file references is going to be a full time job as this site has hundreds of thousands of links.
For starters, look at the information each link gives you (i.e. title, description, type of file etc.) and then build a back end database with this information - not forgetting the URL link to download it!
Once you have the back end (MySQL Datbase), you can start building the front end in php, which, by the look of it, is a simple set of searches by title/category.
The download section purely has a "CAPTCHA" image verification process which is pretty simple to do.
Good luck