We have several PCs all connected to a switch; What I need from Squid is to share the internet between everyone and at the same time gives me control over what PC can access to internet (password authentication or MAC filtering), with what bandwidth and daily data quota.
First Q: Can Squid provides these requirements?
I don't want the end user to bother with any configurations like entering the proxy IP and port number (I mean the proxy configurations (IP and port number) in Internet Explorer and other softwares) for accessing the proxy.
Besides most of the softwares lack such settings and also this proxy configurations can be very hard to apply especially if we want a new comer to use the network or a smart phone and we also cant use any VPN software (or any software that lacks proxy configurations) on the systems.
Second Q: Can squid run without configurations on the part of end users?
Squid has a very good control system for access to the internet. It supports password authentication and MAC filtering as well as many others like:
http://wiki.squid-cache.org/Features/Authentication#How_does_Proxy_Authentication_work_in_Squid.3F
Bandwidth http://wiki.squid-cache.org/Features/ClientBandwidthLimit https://www.howtoforge.com/squid-delay-pools-bandwidth-management
daily data quota (this is little tricky but you have options) https://unix.stackexchange.com/questions/224649/set-monthly-data-limit-for-internet-proxy-squid-users
Setup Squid proxy as a transparent server mode. It means we have no part of configurations on the client end, just to setup squid in transparent proxy mode so it will sits between client and internet.