4

Background

Flickr has closed its http api leaving an https only api. My favourite uploader (the official Flickr Uploadr version 2.5 running under wine) is no longer maintained, so this change broke it.

My current solution to this is to set up a reverse proxy server to translate http://www.flickr.com to https://www.flickr.com and fix my DNS so that www.flickr.com traffic gets forwarded to this proxy server.

This works but obviously I don't want all my flickr traffic going to the proxy, just the traffic coming from the uploader.

Question

Can I send just traffic from this app, directed to www.flickr.com, to my reverse proxy?

Supplementary Question

Is there a simpler way to achieve this? eg, forward http://www.flickr.com straight to https://www.flickr.com without the proxy server.

Solution

Embarrassingly the app itself has a proxy setting, so all I had to do was set this to point at my proxy server. Alternatively Giles's answer below shows how you can set a proxy for an individual Unix app and all Wine apps.

4
  • The simpler way would be to edit the program's source code. Might be pretty simple if you basically just need to do a grep for 'http://'... Which program is this?
    – derobert
    Jun 30, 2014 at 16:42
  • I've had a look at that, it's the official Flickr Uploadr version 2.5 so I don't have access to the source and editing the exe looks complicated as the address doesn't seem to be in the string table. Jun 30, 2014 at 22:04
  • Isn't that a Windows-only tool? There is a Linux version? (Or are you running it under Wine?) BTW: There is apparently a newer version, 3.2.1...
    – derobert
    Jun 30, 2014 at 22:07
  • Yeah I'm running it under wine. I like this version, it's simple. Jun 30, 2014 at 22:27

2 Answers 2

2

DNS alone won't help you: it can point your client to a different machine, but that machine would have to serve the expected Flickr content on port 80.

What you need is a proxy that receives HTTP requests over HTTP and reemits them using HTTPS. Point your uploader to this proxy; the proxy is the one making the DNS request, not the client, so you don't need to fiddle with DNS at all.

Apache with mod_proxy and mod_ssl is an easy, if heavyweight, such proxy. I can't think of a ready-made lighter-weight solution right now. Modifying Python's SimpleHTTPServer could be another solution.

To point a Wine application to a proxy, see the Wine FAQ §7.18 “How do I configure a proxy?”. There are two solutions:

  • The usual unix solution: set the environment variable http_proxy, e.g. (if your proxy is listening on port 8070):

    export http_proxy=http://localhost:8070/
    wine 'c:/Program Files/Flickr Uploader/Flickr Uploader.exe'
    
  • A Wine method: set the [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] ProxyEnable registry key (see the Wine FAQ for the syntax).

3
  • As stated in the question I've already done that. What I need is a way to direct www.flickr.com traffic for just the Flickr Uploadr at that machine, eg, with DNS. Jul 1, 2014 at 9:55
  • @JamieKitson As I wrote in my answer, the way to redirect is a proxy. DNS doesn't deal with protocols, it won't help you there. If you need help to configure Flickr Uploadr to use a proxy, that's a different question. I've updated my answer to cover the part that you edited into your question, but in the future, please ask separate questions separately. Jul 1, 2014 at 12:20
  • I don't need to deal with protocols, the reverse proxy does that, all I need to do is direct www.flickr.com traffic at the proxy, which your answer now helps me with. Thanks. Jul 1, 2014 at 12:56
0

Create an SSH port forward on your box and point the uploader to the local port.

ssh -L 80:www.flickr.com:443 user@localhost

Point the uploader to localhost:80 and the port forward will shovel the traffic to www.flickr.com:443

3
  • 1
    What you are saying is true, the TCP traffic would be redirected. However, flickr is almost certainly running HTTPS on port 443, not plain HTTP (typical port 80). They are not directly compatible. Jun 30, 2014 at 16:43
  • @cpugeniusmv Ah, true. I wasn't thinking of HTTPS support not being built into the client.
    – Creek
    Jun 30, 2014 at 16:45
  • The problem is that I can't point the uploader at anything manually, I need something to redirect the traffic for me. However I'm hoping that the uploader will talk https already. Jun 30, 2014 at 22:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .