How to proxy with login/password?

Operating system

Windows

Joplin version

3.1.4

Sync target

Joplin Server

What issue do you have?

At home on Debian and on Android mobile, I'm a blissful new Joplin user - and deploying the server Docker stack on Portainer was a breeze. On the corporate side however, I stumble on authenticating to the mandatory proxy.

The settings' Synchronization section offers a Proxy URL field, but no hint about how to enter authentication credentials, nor does the documentation. Is there a way to input login and password in the URL ? I've tried http://username:password@proxy.server.url.com:80 but no joy.

What am I missing ?

And no, file synchronization options (such as Syncthing I use for other purposes at home and on mobile) are not available to me here: portable apps are as far as execution privileges go in this corporate workstation environment.

I can't access my self hosted Joplin server unless I use a proxy.

In the Windows application, I've tried to setup the proxy using the credentials embedded in the proxy URL.

I made sure that the password is url-encoded.

When I click on the "Check synchronization configuration" I get a 407 error, which is a "Proxy Authentication Required".

So yes, I think that when the credentials are embedded into the url proxy doesn't work.

Hopefully a future feature will be implemented for this. If I have time I might probably implement it myself :slight_smile:

1 Like

Thanks for checking. I suppose proxy authentication will be a popular feature with us corporate lifers.

As for my personal case, I found that https://app.joplincloud.com works with my Joplin server... Nice - and good enough for my beginner-sized Joplin !

It seems I initially tested with the wrong proxy URL! :blush:

After reviewing the proxy logic in Joplin’s code, I can see there’s no technical need to implement separate input fields for proxy authentication credentials (username and password). The current approach works well as long as the credentials are correctly encoded. However, adding dedicated fields for the credentials would simplify the process for users, making it more user-friendly.

To clarify, after testing again (this time with the correct proxy URL), I can confirm everything works perfectly. The key is to URL-encode the username and password if required. I used an online tool for this: URL Encoder.

For reference, I tested this on Joplin 3.1.24 (Windows), and it works effectively for corporate users behind VPNs with authentication-based proxies. Here's the format I used for the proxy URL:
http://[url_encoded_username]:[url_encoded_password]@proxy_url:proxy_port

That said, I still recommend adding dedicated fields for the username and password in the settings. This would make the proxy configuration process more intuitive by allowing users to input their credentials directly, without needing to manually URL-encode them or format the proxy URL.

To address this, I’ve forked the Joplin GitHub project and implemented this feature myself. It works as expected! You can check it out here: https://github.com/CGHoussem/joplin/.

FYI: most of the times you need to restart the application in order for changes to apply (regarding the proxy auth at least)