klzgrad / naiveproxy

Make a fortune quietly
BSD 3-Clause "New" or "Revised" License
6.41k stars 878 forks source link

Can custom forward_proxy for caddy2 support multi basic-auth config #137

Closed bash99 closed 3 years ago

bash99 commented 3 years ago

which is fine in caddy1.

But I got error message like this: run: adapting config using caddyfile: parsing caddyfile tokens for 'route': Caddyfile_vx:13 - Error during parsing: parsing caddyfile tokens for 'forward_proxy': Caddyfile_vx:7 - Error during parsing: Multi-user basicauth is not supported

which with

    basicauth user1 pass1
    basicauth user2 pass2

Configs

mattieross commented 3 years ago

try

    basic_auth user1 pass1
    basic_auth user2 pass2
bash99 commented 3 years ago

try

    basic_auth user1 pass1
    basic_auth user2 pass2

I use @mixcool's binary before build one for myself, his binary is basicauth. but this is not the problem.

I've found upstream forward_proxy don't support multi-user https://github.com/caddyserver/forwardproxy/blob/caddy2/forwardproxy.go:731

            // TODO: Support multiple basicauths.
            if h.BasicauthUser != "" || h.BasicauthPass != "" {
                return d.Err("Multi-user basicauth is not supported")
            }
beeperman commented 3 years ago

Maybe not a good fix but I think you can just use multiple forward_proxy calls to achieve it. Something like

forward_proxy { basic_auth user1 pass1 hide_ip hide_via probe_resistance } forward_proxy { basic_auth user2 pass2 hide_ip hide_via probe_resistance }

klzgrad commented 3 years ago

This issue should be redirected to upstream https://github.com/caddyserver/forwardproxy/issues/81.

klzgrad commented 4 months ago

Multiple auth is fixed here https://github.com/klzgrad/forwardproxy/releases/tag/v2.7.6-naive