<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle20
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hey Adrian,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Indeed some advanced features might take some time but, without SSL-BUMP you just to prepare a list of “requirements” from the proxy.<o:p></o:p></p><p class=MsoNormal>Squid can enforce HTTP RFC syntax and has couple very nice features but really, what do you need the proxy to do?<o:p></o:p></p><p class=MsoNormal>Authentication? Via htaccess file, DB, LDAP, AD?<br>Proxy Peering?<o:p></o:p></p><p class=MsoNormal>Logging?<o:p></o:p></p><p class=MsoNormal>Bandwidth control?<o:p></o:p></p><p class=MsoNormal>Caching?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>For any project the requirements can be “quantified” and a developer can give you a price.<o:p></o:p></p><p class=MsoNormal>Indeed I would agree that a software which is being used by many admins and users can be tested better to some degree.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>A single username is an identifier and it’s better be unique per client.<o:p></o:p></p><p class=MsoNormal>You can use realms to differentiate between destination proxies.<o:p></o:p></p><p class=MsoNormal>Technically speaking there are much better ways to send messages between the client software to the proxy.<o:p></o:p></p><p class=MsoNormal>For example you can use  a HTTP Header such as “X-Proxy-Route” with some unique identifiers else then the default.<o:p></o:p></p><p class=MsoNormal>The main thing with such a setup would be to remove this by-hop\in-transit header(s).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If you want to see a 200+- lines proxy I can try next month to look at my list.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I posted in 2016 a list of proxies on my web page and you can download the post PDF from:<o:p></o:p></p><p class=MsoNormal><a href="https://smallpdf.com/shared#st=28c1432b-7248-4a57-9e5b-9d143b6481bd&fn=A+Proxy+for+each+Internet+user+_The+future_2016.pdf&ct=1601007048862&tl=share-document&rf=link">https://smallpdf.com/shared#st=28c1432b-7248-4a57-9e5b-9d143b6481bd&fn=A+Proxy+for+each+Internet+user+_The+future_2016.pdf&ct=1601007048862&tl=share-document&rf=link</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>All The Bests,<o:p></o:p></p><p class=MsoNormal>Eliezer<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>----<o:p></o:p></p><p class=MsoNormal>Eliezer Croitoru<o:p></o:p></p><p class=MsoNormal>Tech Support<o:p></o:p></p><p class=MsoNormal>Mobile: +972-5-28704261<o:p></o:p></p><p class=MsoNormal>Email: <a href="mailto:ngtech1ltd@gmail.com">ngtech1ltd@gmail.com</a><o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> Ajb B <ajb23@ymail.com> <br><b>Sent:</b> Friday, September 25, 2020 2:25 AM<br><b>To:</b> squid-users@lists.squid-cache.org; Eliezer Croitor <ngtech1ltd@gmail.com><br><b>Subject:</b> Re: [squid-users] How to select parent proxy based on user password<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'>Hey Eliezer,<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'>Squid contains some very advanced features that would take several weeks to rewrite I'm sure. But you're reply did give me an idea.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'>I think I can create an additional proxy service on top of Squid to route proxies based on the password. I think I will have to try this approach.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'>Thanks,<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif'>Adrian<o:p></o:p></span></p></div><div id="yahoo_quoted_1505542304"><div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A'>On Thursday, September 24, 2020, 12:26:38 PM CDT, Eliezer Croitor <<a href="mailto:ngtech1ltd@gmail.com">ngtech1ltd@gmail.com</a>> wrote: <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A'><o:p> </o:p></span></p></div><div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A'>Just to add a side note:<br>Squid is not the most advanced proxy in the Programming world.<br><br>It's possible that many use Squid as their proxy servers software however,<br>in the programming world there are far more simple and efficient ways to write <br>a proxy that will serve a service such as PacketStream.<br>A proxy server with auth, logging and much more  can be written in 200 +- lines of code.<br>OK OK so it is connected to a K\V or SQL DB...<br><br>Haproxy is an OpenSource example for a very efficient proxy service, leaving aside the <br>obviates differences between Squid and Haproxy.<br><br>All The Bests,<br>Eliezer<br><br>----<br>Eliezer Croitoru<br>Tech Support<br>Mobile: +972-5-28704261<br>Email: <a href="mailto:ngtech1ltd@gmail.com">ngtech1ltd@gmail.com</a><br><br>-----Original Message-----<br>From: squid-users <<a href="mailto:squid-users-bounces@lists.squid-cache.org">squid-users-bounces@lists.squid-cache.org</a>> On Behalf Of Amos Jeffries<br>Sent: Thursday, September 24, 2020 5:38 AM<br>To: <a href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.org</a><br>Subject: Re: [squid-users] How to select parent proxy based on user password<br><br>On 24/09/20 4:14 am, Ajb B wrote:<br>> <br>> Hey Anthony,<br>> <br>> I see you're point. It makes sense to have multiple usernames if I want<br>> a user to access multiple proxies. But I'm trying to create a "reseller"<br>> proxy service, so multiple usernames for a single user won't really make<br>> sense. I can just give users different passwords to access different<br>> proxies.<br><br><br>I don't see the connection being a reseller service has to do with<br>routing to specific proxies.<br><br>Surely the routing is based on something entirely different - such as<br>the users credit balance with services, or which packages they have<br>bought from you, which region(s) they are trying to access etc.<br><br>That type of info is traditionally managed via assigning users to<br>groups. In modern Squid it is more efficiently done with annotations and<br>"note" ACL as mentioned by Eliezer already.<br><br><br>> <br>> Also, I know PacketStream (<a href="https://packetstream.io/" target="_blank">https://packetstream.io/</a>) does this and I'm<br>> pretty sure they use Squid.<br><br><br>There is nothing in the PacketStream documentation or FAQ that indicates<br>routing to specific proxies based on user/password details.<br><br>Their on-sellers simply add/remove login accounts and payments to the<br>main system.<br><br>Amos<br>_______________________________________________<br>squid-users mailing list<br><a href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.org</a><br><a href="http://lists.squid-cache.org/listinfo/squid-users" target="_blank">http://lists.squid-cache.org/listinfo/squid-users</a><o:p></o:p></span></p><div id=yqtfd77456><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A'><br><br>_______________________________________________<br>squid-users mailing list<br><a href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.org</a><br><a href="http://lists.squid-cache.org/listinfo/squid-users" target="_blank">http://lists.squid-cache.org/listinfo/squid-users</a><o:p></o:p></span></p></div></div></div></div></div></div></div></body></html>