The Duplicacy CLI executable is not available: Failed to locate the CLI executable

Please describe what you are doing to trigger the bug:
I installed the current version of Duplicacy Web Edition on a Windows 7 64 bit desktop computer. There was no Duplicacy UI installed on this computer before. The installation went through without an error.

Please describe what you expect to happen (but doesn’t):
I expect that the freshly installed Duplicacy Web Edition is working, but t isn’t working.

Please describe what actually happens (the wrong behaviour):
After I open the web UI and want to add a storage I’m getting this error:
“Failed to check the storage at N:/DuplicacyAll: The Duplicacy CLI executable is not available: Failed to locate the CLI executable”.

The log file (~/.duplicacy-web/logs/duplicacy_web.log) should have an error message why it failed to locate the CLI executable. Most likely the computer couldn’t check the latest version from github.com on some reason.

Yes, download of the CLI executable failed because of my firewall – this connection wasn’t whitelisted before.

But there was NO error message at all during installation, and NO “Try again” button.

I think this begs the question as to why Duplicacy needs to download an executable everytime a backup runs? This seems to be a huge security issue. Also, this means backups can’t run offline?

No, that’s not what it’s doing. It checks to see if there’s a new version on Web GUI startup and downloads it. Not for every backup.

Yes and no.

Web Version still needs internet connection for licensing. Might as well use it to check for updated duplicacy_cli.

You can fix the engine version in the UI to prevent it from ever updating. By default however it only updates to a stable version, so it maybe a good idea to leave it on.

I don’t think Web version is suitable for completely offline backups.

Ok - it’s logical that is doesn’t check for every backup but whatever state my Duplicacy is in right now, it’s failing every time because it’s trying to download something from AWS.

The Duplicacy CLI executable is not available: Failed to download the CLI executable: Get https://github-production-release-asset-2e65be.s3.amazonaws.com/52319759/1316bd80-0434-11eb-9e77-c11b39d76b16?.

You can either let it do it – or download the duplicacy cli executable manually and put it to the bin folder under ~/.duplicacy-web

You can either let it do it

Let it keep failing or is it suppose to recover? It’s been doing this for a few days and hasn’t recovered.

I guess my CLI executable got corrupt or deleted somehow? I haven’t changed any settings/config.

Oh, it always fails to download? Maybe it’s a network/firewall issue? Can you curl that url from the same machine to confirm?

This is how web UI determines what to download

Yea, it tries to download it every time and fails every time. I do have Little Snitch firewall on macOS but I cannot find any record of this being blocked. Also it’s been working fine for months. I’m able to load the URL in the browser:

<Error>
<Code>AccessDenied</Code>
<Message>Request has expired</Message>
<X-Amz-Expires>300</X-Amz-Expires>
<Expires>2020-10-19T20:20:07Z</Expires>
<ServerTime>2020-10-22T00:19:41Z</ServerTime>
<RequestId>617360D901C55CA4</RequestId>    <HostId>zn9t17gVXBS0302dE5MDDatzav3lfiBfRLL9DFcFQHvpa7ELSHekQm39wtev+7PMwjzuUJsp1NQ=</HostId>
</Error>

Error in duplicacy log

The Duplicacy CLI executable is not available: Failed to download the CLI executable: Get https://github-production-release-asset-2e65be.s3.amazonaws.com/52319759/1316bd80-0434-11eb-9e77-c11b39d76b16?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201019%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201019T201507Z&X-Amz-Expires=300&X-Amz-Signature=48f5b75e3257813df4fee23dd95586979617ec8b208ced5a1552a9321bc1831c&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=52319759&response-content-disposition=attachment%3B%20filename%3Dduplicacy_osx_x64_2.7.1&response-content-type=application%2Foctet-stream: dial tcp 52.216.136.123:443: i/o timeout
1 Like

Also, here are the executables I already have:

~/.duplicacy-web/bin
❯ ll
total 544520
-rwx------  1 matt  staff    29M Dec  5  2019 duplicacy_osx_x64_2.3.0
-rwx------  1 matt  staff    29M Mar  8  2020 duplicacy_osx_x64_2.4.0
-rwx------  1 matt  staff    34M Apr 12  2020 duplicacy_osx_x64_2.5.0
-rwx------  1 matt  staff    34M Apr 23 14:18 duplicacy_osx_x64_2.5.1
-rwx------  1 matt  staff    34M May 11 09:08 duplicacy_osx_x64_2.5.2
-rwx------  1 matt  staff    34M Aug 11 00:08 duplicacy_osx_x64_2.6.1
-rwx------  1 matt  staff    35M Sep 28 12:15 duplicacy_osx_x64_2.7.0
-rwx------  1 matt  staff    35M Oct 21 20:33 duplicacy_osx_x64_2.7.1

I restarted Duplicacy web UI from the menu bar and now it’s working! :man_shrugging:

1 Like

This

And this

May be indicative of a bug retrying the download. Perhaps the Duplicacy web gets a token once at launch but if the download fails it keeps retrying never refreshing the token, and once it expires it can no longer work.

Seems a bug to me. Summoning @gchen

Edit: hmm. Maybe that is not the case. The access denied maybe expected; I misread your comment and though that was sniffed traffic. If you just paste same url it may not work if there is some side channel auth done.

This looks strange:

dial tcp 52.216.136.123:443: i/o timeout

Does the server it fetches from resolve to the same ip? So strange.

A githug/aws hiccup can cause the download to fail, and the web GUI doesn’t retry on errors. So a restart should fix it.

Yes, the error is strange indeed. It looks like the latest CLI had already been downloaded and the error may have occurred at the end of the transfer.