arduino / arduino/Arduino

SSH Upload using proxy regardless of preference settings on Win 10 (1.8.3)

Open
#6,410 6 comments 0 reactions 0 assignees View on GitHub
Component: Uploading Type: Bug
Dominant language
Java
Stars
14.6k
Forks
7k
PR merge metrics
No merged PRs in 30d

Description

If a system proxy is set on Windows 10, the SSH upload will fail. This happens even when I have set the Arduino proxy settings to "no proxy" in the network tab.

Upload works as expected if the system proxy is turned off.

The proxy server shows no connections, so I'm not sure what is happening there, but tcpdump on the proxy, and wireshark on the desktop both show connections from the desktop to the proxy on the proxy port.

Here is the Arduino error - it basically says it cannot establish a socket, which leads me to believe that it is, for some reason, trying to SSH into the proxy server on the proxy port:

```
Sketch uses 3800 bytes (11%) of program storage space. Maximum is 32256 bytes.
Global variables use 314 bytes (15%) of dynamic memory, leaving 1734 bytes for local variables. Maximum is 2048 bytes.
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SSHUploader.uploadUsingPreferences(SSHUploader.java:145)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
at processing.app.SketchController.upload(SketchController.java:713)
at processing.app.SketchController.exportApplet(SketchController.java:686)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2149)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.jcraft.jsch.JSchException: timeout: socket is not established
at com.jcraft.jsch.Util.createSocket(Util.java:389)
at com.jcraft.jsch.Session.connect(Session.java:215)
at cc.arduino.packages.uploaders.SSHUploader.uploadUsingPreferences(SSHUploader.java:117)
... 5 more
```

Contributor guide

Open the contributing guide

Research direction

Start in SSHUploader.java, especially uploadUsingPreferences at the stack-trace lines, and trace how the proxy preference reaches the JSch session; UploaderUtils.java is the upload entry point. Reproduce with a Windows system proxy and Arduino's "no proxy" setting, then verify SSH upload no longer connects through the proxy when that preference is selected.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.