I have a server (S-1) with HAProxy and a number of residential proxies (PR-s) as login-passwords-port. There're multiple users who will connect to the internet via S-1.
I want to have HAProxy to forward incomming traffic of the users via a random proxy amoung PR-s with 2 conditions:
How would I implement this?
(1) client -> HaProxy -> if keyword --> sub-proxy (random) -> website
(2) client -> HaProxy -> if no keyword --> website
In Squid config, is there any variable - %VAR
- that contains the current unique request id or anything similar?
I'll need to pass that into an external script, for instance:
# squi.conf
auth_param basic program %REQUEST_ID(???) /etc/squid/my_auth.py
This may not be an authentication script, this is just an example.
I've searched but haven't found anything about it.
Let's say, I have a python script which handles ACL:
#squid.conf
# [............]
# sub-proxies/peers
cache_peer 01.01.01.99 parent 34433 0 no-query no-digest name=peer1
cache_peer 01.01.02.99 parent 34433 0 no-query no-digest name=peer2
cache_peer 01.01.03.99 parent 34433 0 no-query no-digest name=peer3
cache_peer 01.01.04.99 parent 34433 0 no-query no-digest name=peer4
external_acl_type my_acl_helper ttl=30 %LOGIN ./my_acl_helper.py
acl session_acl external my_acl_helper
# [............]
In my_acl_helper.py
there's some tricky logic of selecting a peer to be used for a request.
How should my_acl_helper.py
report back to Squid which peer it's choosen? In what format? As far as I've found out, it could only be OK
or ERR
. But the IP:port
or the alias of a peer will be needed as well. How?
@maximalian
@sopuli.xyz