duplicati / duplicati

Store securely encrypted backups in the cloud!
Other
11.19k stars 902 forks source link

Proxy support #290

Open kenkendk opened 10 years ago

kenkendk commented 10 years ago

From kenneth....@gmail.com on October 22, 2010 17:54:44

On a regular installation .Net will pick up the OS proxy settings (at least on windows) and use them while connecting.

Some users may want to use custom proxy settings (or disable the default proxy).

Duplicati should enable proxy settings, preferable both pr.for entire application and pr. backup.

Original issue: http://code.google.com/p/duplicati/issues/detail?id=290

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/3559866-proxy-support?utm_campaign=plugin&utm_content=tracker%2F4870652&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F4870652&utm_medium=issues&utm_source=github).
jlaba commented 9 years ago

Hello! Is the proxy support related to use the webservice of the duplicati server behind a (e.g.) apache as proxy? Because in my setup it is not working, but wanted. The apache webserver ensures authentication and ssl encryption. If this issue was not about such a setup, I might create a new issue.

Kind regards,

Joachim Langenbach

masscream commented 2 years ago

Hello, is there an existing solution nowadays? I'm trying to run Duplicati behind the corporate proxy. The fact, that I have applied system-wide proxy setting script (PAC) is not helping much. I've tried according to #1466 adding this to my Duplicati.WindowsService.exe.config as I run the Duplicati as a system service, but it did not help me either. An update notification pops up anytime I enter the browser session (the question is, how does it find out?), but when I hit Verify, it keeps hanging on Verifying until it times out. Same as when I want to use OneDrive as the backup target destination, the connection hangs there and cannot be established. Please advise.

edit: It actually works, I just had to see in taskmgr, what process is being used the most - Duplicati.Server.exe, and then edit Duplicati.Server.exe.config the following way:

<configuration>
    <runtime>
        <loadFromRemoteSources enabled="true"/>
        <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false" />

        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

            <!-- Support for loading older backends with the current executable version -->
            <dependentAssembly>
                <assemblyIdentity name="Duplicati.Library.Utility" publicKeyToken="8bfe994a39631a7b" />
                <bindingRedirect oldVersion="0.0.0.0 - 99.9.9.9" newVersion="2.0.6.3" />
            </dependentAssembly>

            <!-- Support for loading older backends with the current executable version -->
            <dependentAssembly>
                <assemblyIdentity name="Duplicati.Library.Interface" publicKeyToken="8bfe994a39631a7b" />
                <bindingRedirect oldVersion="0.0.0.0 - 99.9.9.9" newVersion="2.0.6.3" />
            </dependentAssembly>

            <!-- Support for backends that wants older versions of NewtonSoft.Json -->
            <!-- The spaces near the equation sign are used to prevent the version being set to the current build by the VersionStamp tool -->
            <dependentAssembly>
                <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0 - 99.9.9.9" newVersion = "12.0.0.0"/>
            </dependentAssembly>

            <!-- Support for backends that wants older versions of KeyVault.Core and System.Net.Http -->
            <!-- The spaces near the equation sign are used to prevent the version being set to the current build by the VersionStamp tool -->
            <dependentAssembly>
                <assemblyIdentity name="Microsoft.Azure.KeyVault.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-3.0.4.0" newVersion = "3.0.4.0" />
            </dependentAssembly>
            <dependentAssembly>
                <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion = "4.0.0.0" />
            </dependentAssembly>

        </assemblyBinding>
    </runtime>

    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.1"/>
    </startup>

    <system.net>
        <defaultProxy>
          <proxy
              proxyaddress="http://proxy.px:8080"
              bypassonlocal="false"/>
        </defaultProxy>
    </system.net>

</configuration>

And it started working...