Find Jobs
Hire Freelancers

C# - Automatic downloader with web API

$30-250 USD

Closed
Posted about 2 years ago

$30-250 USD

Paid on delivery
C# Project: - Needs to run as a windows service (Should automatically start if it exits for any reason) - Automatically download files from a list of URLs and download paths in a json file ([login to view URL] - Example below) - There should be a config with a default download path ([login to view URL]) - The downloads should be downloaded to the path in the "[login to view URL]" and if a path is not defined then it should use the default path in the [login to view URL] - Automatically write/append a log which is named as the current date ([login to view URL]) - Log entries should contain download progress in Percentage, Download Speed, and total MB/GB downloaded - Log should report when a download is complete and when a new one is started - Log should report any failed downloads with a reason for the failure - If a download fails then it should mark it as failed in the [login to view URL] by adding "failed" key - After a failure, it should retry downloading it - Each time the download fails it should incrememnt the failed number in the [login to view URL] - If the download fails more than 3 times then it should not retry - Once a download is complete, the file should be checked to make sure it downloaded entirely to prevent false positives - Once a download is complete and verified then a status should be added to the link in the [login to view URL] - Needs an API over a built in web server with following features: -- API must respond with JSON response -- Response must contain success or error (error must have a description with reason) -- All API requests require a security hash which is calculated based on a secret string, a secret number and all GET data hashed with MD5, I will provide an example of how this is achieved in PHP. -- /addlink endpoint - Adds a link into a file --- Option to give directory of where the file should be downloaded to -- /deletelink endpoint - Removes a link from the file -- /movefile endpoint - Move a file from one path to another path -- /deletefile endpoint - Delete a file from the system for the given path -- /renamefile endpoint - Rename a file at the given path to the given name -- /downloadfile endpoint - Delivers a downloads of the file from the given path to the browser -- /downloadstatus endpoint - Check status of download by filename -- All endpoints should have a callback URL option to POST the result to another web server along with a hash generated using the same method as the checkHash function below (For example, when a download completes or fails, it should POST the result to a web server if a callback URL is provided to the API) - Web server must have a JSON config with the following options: -- Enable/Disable Web Server -- Web Server Port -- Enable/Disable SSL on Web Server -- SSL Certificate must be in its own files ([login to view URL] and [login to view URL]) -- Secret String -- Secret Number -- Enable/Disable IP Whitelist (When Whitelist is disabled, anyone can use the web server API) -- IP Whitelist (Array) - Empty array means nobody can use the web server except localhost -- IP Blacklist (Array) - This should always be enforced, even if the whitelist is disabled (Empty array means no IPs are blacklisted) Example Download Links File: [{"url":"[login to view URL]","path":"C:\\somepath","failed":0},{"url":"[login to view URL]","path":"C:\\somepath123","failed":0},{"url":"[login to view URL]","path":"C:\\Downloads","failed":3}] PHP examples: function escapeURL($s) { $s=str_replace( array(" ","+","-",".","_"), array("%20","%20","%2D","%2E","%5F"), urlencode($s)); return $s; } function checkHash($secstring,$secnum,$APIData) { $hash=$_GET["hash"]; $body=""; $cpt=0; foreach ($APIData as $name => $value) { if ($name == "hash") continue; if ($cpt++ > 0) $body .="&"; $body .= escapeURL($name)."=".escapeURL($value); } $calcHash=md5($body.$secstring.":".$secnum); if ($hash!=$calcHash) return false; return true; }
Project ID: 33400102

About the project

7 proposals
Remote project
Active 2 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
7 freelancers are bidding on average $264 USD for this job
User Avatar
Hello there, How are you doing? Just saw your project posted. I am more than happy to discuss the task and work for you. That would be greater if I get some tasks so you can test my skill and expertise. Waiting for your response and start working for you. Warm Regards, Asif nawaz
$250 USD in 4 days
4.9 (57 reviews)
5.8
5.8
User Avatar
Hi, there. After reading your job description carefully, I am sure I can be a good fit to your job. Please check my profile, https://www.freelancer.com/u/ahryshkevich Message me for more discussion.
$350 USD in 8 days
4.9 (22 reviews)
5.3
5.3
User Avatar
Hi There,! Greetings of the Day! I Can See Your Requirments. I Can Automatic downloader with web API according to your requirements. I have 6+ years of competitive experience in web application development using ASP.NET MVC | MVVM and SQL Server. I have rich experience in database development, and I am an expert in writing complex queries, stored procedures, and user-defined functions. You can see my profile and portfolio as a reference. My Technical Skills: Development: C#.Net Core, ASP.NET, MVC, Azure, SQL Server, Entity framework. Web API, jQuery/Ajax, Angular, Bootstrap 4 HTML5. Tools: Visual Studio, SQL Server Management Studio. Database: SQL Server, MySQL, SQL Compact, MS Access. If I can provide you with any further information on our background and qualification, please let me know. I look forward to hearing from you, Thank you for your consideration. Exult
$250 USD in 7 days
5.0 (22 reviews)
5.4
5.4
User Avatar
hello. Am ready to build automatic downloader with web api in c#. please send me a message to discuss further details about this project in chat. thank you
$250 USD in 15 days
5.0 (9 reviews)
4.0
4.0
User Avatar
Hello, I can do this project, I have 6+ years experience in Web Development. Expert in:: UI/UX Design & Development/ Responsive Web Design (RWD)/ .net /PHP / Laravel / Codeigniter / MySQL/ WordPress/ Shopify / Bootstrap / Nuxtjs / NodeJs / Angular / HTML5 / CSS3 / jQuery. The outcome you get: Responsive Web Pages, easy-to-use, seo-friendly, Quality code with quick loading, cross-browser-compatiblility, E-Commerce sites with admin panel, CMS with admin panel so its to modify web content for end user. For more details please reach out to me. Thank You!
$250 USD in 6 days
4.7 (13 reviews)
4.3
4.3
User Avatar
I want to apply for your project C# - Automatic downloader with web API. It sounds very interesting for me and i could already realize numerous comparable projects.
$250 USD in 7 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of UNITED KINGDOM
Huddersfield, United Kingdom
0.0
0
Payment method verified
Member since Feb 11, 2007

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.