Getting connector to use a static SOCKS 5 proxy
I access my university remotely using a static SOCKS 5 proxy which tunnels all my internet traffic through its system. My config in Firefox is nothing more than "127.0.0.1:8000" in the SOCKS 5 field, and with that everything works perfectly.
I can directly access and download every single resource my university has access to this way in Firefox. My problem is that I just moved from the Zotero 4.x extension for Firefox to Zotero 5 standalone and the Firefox connector, and now when adding items through the connector, the full text PDF download inevitably fails.
I've tried adding my proxy to the connector's settings about a dozen different ways, but nothing I've tried works.
This is about the simplest use case imaginable: a single static proxy, and no need for prepending destination URLs to the proxy address, regular expressions to catch certain URLs or proxy detection. Also, no login or other interaction involved.
I simply need to get Zotero's connector to proxy everything through 127.0.0.1:8000.
How do I do this?
I can directly access and download every single resource my university has access to this way in Firefox. My problem is that I just moved from the Zotero 4.x extension for Firefox to Zotero 5 standalone and the Firefox connector, and now when adding items through the connector, the full text PDF download inevitably fails.
I've tried adding my proxy to the connector's settings about a dozen different ways, but nothing I've tried works.
This is about the simplest use case imaginable: a single static proxy, and no need for prepending destination URLs to the proxy address, regular expressions to catch certain URLs or proxy detection. Also, no login or other interaction involved.
I simply need to get Zotero's connector to proxy everything through 127.0.0.1:8000.
How do I do this?
network.proxy.socks = 127.0.0.1
network.proxy.socks_port = 8000
network.proxy.socks_remote_dns = true
network.proxy.type = 1
(Also, every other about:config setting that appears when filtering on "proxy" is identical in both programs.)
When I attempt to add items through the Zotero connector now, there's a much longer delay when it gets to the "Full Text PDF" notice, but it still fails.
Can you provide a Debug ID for Zotero startup using the "Restart with Logging Enabled" option?
I just did the debugging, but Zotero threw an error when trying to send it... which is logical enough, since it's not going through the proxy, and the proxy is my only way to the internet!
I looked at the output, and Zotero seems to be trying to use the wrong port (23119 rather than 8080; the address is wrong too -- it's actually rather more custom than 127.0.0.1, but for clarity's sake I stated this address above; it should actually be in the 10.0.x.x range).
Here's an example:
(5)(+0000000): POST /connector/ping HTTP/1.1 Host: 127.0.0.1:23119 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0 Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: application/json X-Zotero-Version: 5.0.17 X-Zotero-Connector-API-Version: 2 Content-Length: 2 DNT: 1 Connection: keep-alive
I can put the whole thing up on pastebin or something if that'll be of use. It doesn't seem to contain any sensitive information, or does it?
curl --proxy socks5h://10.0.x.x:8000 -I https://s3.amazonaws.com/zotero.org/proxy-auth
(though I don't have a proxy set up to confirm that).HTTP/1.1 200 OK
x-amz-id-2: PFHfv2+ho4s3ejhyrDzsWKthDLKniWJHMzOBGtiYXTKQHQHLFjPeMo2c8cWzOZEQ
x-amz-request-id: 486A7C7AC4EAA882
Date: Wed, 16 Aug 2017 15:18:28 GMT
Last-Modified: Wed, 01 May 2013 08:22:39 GMT
ETag: "e0aa021e21dddbd6d8cecec71e9cf564"
Accept-Ranges: bytes
Content-Type: text/plain
Content-Length: 2
Server: AmazonS3
Firefox works, Zotero doesn't.
So I have to assume there's something in Zotero's about:config that I still need to change... but what?
TCP: 19873 (no port)
TCP: 23116 (no port)
TCP: 23119 (no port)
TCP: 52315 127.0.0.1:52316
TCP: 52316 127.0.0.1:52315
TCP: 52319 127.0.0.1:8000
TCP: 52320 127.0.0.1:8000
TCP: 52321 127.0.0.1:8000
TCP: 52322 127.0.0.1:8000
TCP: 52323 127.0.0.1:8000
So it's actually connected to the proxy in five different instances. And yet... nothing's getting through. What could be going on?
Something's broken here. Don't know if it's my config (your experience indicates it's not) or Zotero or the connector, but the proxy connection is completely dead to them.
This is what you should see for ssh -v when Zotero starts up: