-
-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Synchronization does not support proxy #164
Comments
I'm wondering, is it the application that fails to use the proxy, or OneDrive that is refusing connections via this proxy? Does the native OneDrive client work in this setup? |
Native OneDrive works just fine. Based on the log, the app tries to connect directly to graph.microsoft.com. Are there any environment or command line settings I could try? |
It seems Node indeed does not use the system proxy settings by default - https://stackoverflow.com/a/27825729/561309 So this will need to be implemented |
Is there a way to tackle this on windows systems. On Linux I guess an export of http[s]_proxy will work - but what about Windows? I was not able to find a hack for the proxy issue here... |
I get the same |
On Linux I also get ECONNREFUSED, even though I have http[s]_proxy set. |
Same problem here on linux: with http[s]_proxy set, I get network timeout error with desktop application and nextcloud synchronization. |
Same problem here. Trying to setup Dropbox sync, but it gets stuck in the "Enter the code provided by Dropbox" dialog. I am on Linux, with $http_proxy set. |
Same problem here in Windows 10. |
Hi -- any update on this? |
same problem too. Windows version must have a dialog for configure proxy setttiongs. Thanks! |
Is there any way to handle that manually? I'm using the portable app with Windows 7 and just got stuck as it is not recognizing the system-wide settings for the proxy server which is used here at the side. Nevertheless, on Android and my private Linux its just amazing. 👍 Greets, Jürgen |
Hello Jürgen, I got it working by installing the NextCloud client, syncing the folder with the md files and configuring a file system snyc in Joplin.
|
Hi, yeah, that would be an idea but just a bit of overkill. Instead of installing an further app to sync files it would be great if Joplin could handle proxy settings by its own or just use the system settings. Greets, Jürgen |
Implemented there: https://github.com/laurent22/joplin/commits/proxy_test but there are issues with timeout when the provided proxy URL is incorrect (the requests never time out) so that still needs to be fixed. The underlying network lib unfortunately doesn't allow controlling timeout properly so not sure what the fix is at this point. |
Excellent, is there a binary / AppImage to test it? |
No binary yet as I consider it's not stable enough for release. If you think it could be use, I can add it to the next release anyway and mark it as "Alpha" for instance. |
It's definitely a valuable feature. Currently I use Android-Only (NextCloud) Notes by Stefan Niedermann, however it's markdown capabilities are rather limited. On the other hand editing Notes, especially migrating my existing notes on your Android client is a pain, so I would like to do it on the desktop. At work I'm caught behind a firewall and a proxy I cannot use it right now. Sure a fallback if the proxy is not reachable would be great, however I'd regard that as the second step. |
I would also be happy about that feature - even if marked as "alpha" or "use at your own risk". |
Hi, I confirm this feature is still an open issue for Joplin to work properly on all configurations, including when one is using it "at work" in a corporate company where proxy is the standard. There seems to be workarounds (like 1/ sync on file and 2/ sync this file with nextcloud or dropbox...) but it is not very efficient : I tried for several weeks and had to stop because of too many sync errors and fails. |
Hey guys, I appreciate the efforts put into Joplin, I truly do! But at the same time I can't believe how proxy support can be dismissed for so long. I believe you're underestimating the amount of people who direly needs proxy support. This is a major hurdle for some (including me.) |
It's not a ignored, I've spent quite a bit of time tried to get it working but failed. I'd gladly accept a pull request for it but it would have to be rock solid or supported by a company or very motivated contributor, because I won't be able to fix any issue with it (setting up a proxy is too much hassle and when things don't work it's very hard to debug). |
@laurent22 Thanks for the answer and all your work! I believed it should be more about getting new customers or companies. From my perspective this is basic functionally for every bigger company and there is also some competition on the market. Just don't understand why a company should insist on adding proxy? They just evaluate what's on the market and how it suits their needs. If they consider Joplin among others and find out it cannot work in their environment/infrastructure they just give up and choose something different instead. This is how it works based on my experience. But, of course, this is your business and your decision. |
@laurent22, have you tested global-agent? It works transparently to tunnel modules that use node's default http.request() method as well as the request module. It was made to replace the older global-tunnel library. |
Any update about this topic, is there any plan to resolve it? Any workaround for MacOS? |
@laurent22 as an alternative with file system synchronization and github, maybe joplin can expose post synchronization functionality where a user can specify a command/arguments to it so we can script a call to commit/push. This could also open up additional use cases as well, such as publishing to a wiki/blog. |
I wonder if this could be accomplished via a transparent, local WebDAV proxy? Instead of configuring Joplin to sync via WebDAV to https://my-real-server/webdav it would be configured to sync with https://localhost/webdav. Then one would create a program to run on the local computer which presents a WebDAV interface, while silently relaying requests via the upstream corporate proxy. |
As a workaround, I figured it out by configuring Tunnel mode on my Proxy Client (CFW in my case). |
Hi, |
There is at least signal, super-productivity and vscode that I know work with a proxy and use electron in some way. Maybe someone can have a look how these achieve this. |
Can anyone tell me the endpoint URL for synching with Joplin Cloud? Maybe I could ask our IT to set up bypass for it at the proxy side. Thanks! |
That would be |
If you're using Windows, you can use proxifier to redirect Joplin's connection via proxy. |
Hi, |
If I'm not mistaken the majority of users who need this feature need it because they are behind a company firewall. In that case, consider asking your company to either fund the project, or post a bounty that will motivate developers. Or to allocate one of their own developers on the feature. There's no need to keep posting to say it's a super important feature if no-one is willing to work on it. |
I don't think and company which has a firewall would fund anything like that. They would use software that is "allowed" in the company, usually Google or Microsoft. On the contrary, they would see that as a breach in security. If cost is the issue and it is not technical, perhaps the solution would be crowdfunding, some of the links below could be a good start: I am convinced that some if not all all on this email list would contribute with something, you just need to estimate the costs and come up with a project plan. |
Hey @laurent22 I'm happy to look into this if you can point me in the right direction. I understand it's NodeJS trying to make a request but it could hang right? Im sure its possible to add a timeout in there at this point. My guess is somewhere around here From doing some digging around https://github.com/delvedor/hpagent seems like the best choice, 1 because it has timeout support and it also looks to be maintained (http-node-proxy library isn't anymore). I'm assuming it should be possible to add a configuration section for people to enter proxy information, or fallback to checking environment variables. These can be passed into the http(s) agent, there should also be a chance for it to fallback to requesting without a proxy should that fail (this is useful for those who go in and out of corporate networks). Is there any way this can be tested by one of us? My company would not contribute financially but I can be given time for open source contributions and can test it with our firewall. There's also many on this thread willing to test should we get some dev build out. |
I'm pleased to say I have a working PR, details are here: #6537 |
Thank you @jasonwilliams Any chance of a socks proxy support as well? |
@agiz10 the dependency I used only supports http(s) so it would require some work adding in something like https://github.com/JoshGlazebrook/socks |
I use this method solving this problem in debian export http_proxy="http://ip:port" |
The equivalent in Powershell would be:
Alas it doesn't work with a SOCKS5 proxy :-(. |
Operating system
Application
Error
The desktop-app does not support proxy or it fails to use system-wide proxy settings. When the synchronise-button is pressed, nothing seem to happen. There is no visible error message. The error, ECONNREFUSED, is however logged properly into the log file.
The text was updated successfully, but these errors were encountered: