I ahve a company with multi branches and departments, and about 300 users. and the company facing a big problem in internet bandwidth and management. for this I want to develop a proxy where it's main roles are:
1- consume the internet bandwisth of users, so when 1 user do antivirus update, the updates are downloaded to the cache and user, and when other users want to update, the update will be downloaded from the cache if it is the same update, or it will be downloaded from internet and replace the cache file if the online file have more updated version.
2- when users connect to the internet, the proxy check if the company's application installed on there PCs, if so, so it will give them internet connection, if not, so the proxy redirect them to a page to download and install the company's software, and once it is installed, the connection will be given to them.
Can I develop this in C#? if yes, any tutorials, books, opens ource projects?