homebrew-cask icon indicating copy to clipboard operation
homebrew-cask copied to clipboard

Dropbox url (e.g. MacSpice) download error due to using limited-access, resolved url

Open persello opened this issue 3 years ago • 12 comments

Description of issue

Downloading MacSpice fails with 403 error, but the link is valid and works in Safari. I also followed all the instructions about curl errors, I checked that the version is effectively the latest.

If I copy the first link (https://www.macspice.com/mirror/binaries/v3.1.24/MacSpice3f5.dmg) on Safari, the downloads completes correctly. But the redirected link to Dropbox returns a 403. I suspect that the redirection breaks something.

Command that failed

brew install macspice --cask

Output of command with --verbose --debug

Click to expand

brew install macspice --cask --verbose --debug
==> Cask::Installer#install
==> Printing caveats
==> Cask::Installer#fetch
/usr/bin/curl --disable --globoff --show-error --user-agent Homebrew/3.1.9-5-g1bdfacd\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 11.3.1\)\ curl/7.64.1 --header Accept-Language:\ en --retry 3 --location --silent --head --request GET https://www.macspice.com/mirror/binaries/v3.1.24/MacSpice3f5.dmg
==> Downloading https://www.macspice.com/mirror/binaries/v3.1.24/MacSpice3f5.dmg
==> Downloading from https://ucbc20b03f6c39dc110bc3bebefd.dl.dropboxusercontent.com/cd/0/get/BPL0tBIv27Dh7z6672UxAGWfKnxiQS5hD5tuD69w-dXLtRlMVu9EXNlYbEWgqR5xJ0SI63Nf7xsiaQQ-a80x23aJBvpKRwgo6ayW9PVSh9KiMGxsv7ZrVnQMR3GK5u66yLYOMtPW4GFY8QSqpmf7ejz3/file?dl=1#
/usr/bin/curl --disable --globoff --show-error --user-agent Homebrew/3.1.9-5-g1bdfacd\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 11.3.1\)\ curl/7.64.1 --header Accept-Language:\ en --retry 3 --location --head https://ucbc20b03f6c39dc110bc3bebefd.dl.dropboxusercontent.com/cd/0/get/BPL0tBIv27Dh7z6672UxAGWfKnxiQS5hD5tuD69w-dXLtRlMVu9EXNlYbEWgqR5xJ0SI63Nf7xsiaQQ-a80x23aJBvpKRwgo6ayW9PVSh9KiMGxsv7ZrVnQMR3GK5u66yLYOMtPW4GFY8QSqpmf7ejz3/file\?dl=1\#
/usr/bin/curl --disable --globoff --show-error --user-agent Homebrew/3.1.9-5-g1bdfacd\ \(Macintosh\;\ arm64\ Mac\ OS\ X\ 11.3.1\)\ curl/7.64.1 --header Accept-Language:\ en --fail --retry 3 --location --remote-time --output /Users/riccardo/Library/Caches/Homebrew/downloads/b272b1e17bcb094f4eaafd68f29ffed68004603b64d0d65f701a059f41de8fbb--MacSpice3f5.dmg.incomplete https://ucbc20b03f6c39dc110bc3bebefd.dl.dropboxusercontent.com/cd/0/get/BPL0tBIv27Dh7z6672UxAGWfKnxiQS5hD5tuD69w-dXLtRlMVu9EXNlYbEWgqR5xJ0SI63Nf7xsiaQQ-a80x23aJBvpKRwgo6ayW9PVSh9KiMGxsv7ZrVnQMR3GK5u66yLYOMtPW4GFY8QSqpmf7ejz3/file\?dl=1\#
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 403
Error: Download failed on Cask 'macspice' with message: Download failed: https://www.macspice.com/mirror/binaries/v3.1.24/MacSpice3f5.dmg
/opt/homebrew/Library/Homebrew/download_strategy.rb:407:in `rescue in fetch'
/opt/homebrew/Library/Homebrew/download_strategy.rb:404:in `fetch'
/opt/homebrew/Library/Homebrew/cask/download.rb:25:in `fetch'
/opt/homebrew/Library/Homebrew/cask/installer.rb:169:in `download'
/opt/homebrew/Library/Homebrew/cask/installer.rb:71:in `fetch'
/opt/homebrew/Library/Homebrew/cask/installer.rb:98:in `install'
/opt/homebrew/Library/Homebrew/cask/cmd/install.rb:69:in `block in install_casks'
/opt/homebrew/Library/Homebrew/cask/cmd/install.rb:68:in `each'
/opt/homebrew/Library/Homebrew/cask/cmd/install.rb:68:in `install_casks'
/opt/homebrew/Library/Homebrew/cmd/install.rb:167:in `install'
/opt/homebrew/Library/Homebrew/brew.rb:122:in `
'

~ took 10s

Output of brew doctor --verbose

Click to expand

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed formulae are deprecated or disabled. You should find replacements for the following formulae: ilmbase

Warning: Unbrewed header files were found in /usr/local/include. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

Unexpected header files: /usr/local/include/node/cppgc/allocation.h /usr/local/include/node/cppgc/common.h /usr/local/include/node/cppgc/custom-space.h /usr/local/include/node/cppgc/default-platform.h /usr/local/include/node/cppgc/garbage-collected.h /usr/local/include/node/cppgc/heap.h /usr/local/include/node/cppgc/internal/api-constants.h /usr/local/include/node/cppgc/internal/atomic-entry-flag.h /usr/local/include/node/cppgc/internal/caged-heap-local-data.h /usr/local/include/node/cppgc/internal/compiler-specific.h /usr/local/include/node/cppgc/internal/finalizer-trait.h /usr/local/include/node/cppgc/internal/gc-info.h /usr/local/include/node/cppgc/internal/logging.h /usr/local/include/node/cppgc/internal/persistent-node.h /usr/local/include/node/cppgc/internal/pointer-policies.h /usr/local/include/node/cppgc/internal/prefinalizer-handler.h /usr/local/include/node/cppgc/internal/process-heap.h /usr/local/include/node/cppgc/internal/write-barrier.h /usr/local/include/node/cppgc/liveness-broker.h /usr/local/include/node/cppgc/macros.h /usr/local/include/node/cppgc/member.h /usr/local/include/node/cppgc/persistent.h /usr/local/include/node/cppgc/platform.h /usr/local/include/node/cppgc/prefinalizer.h /usr/local/include/node/cppgc/source-location.h /usr/local/include/node/cppgc/trace-trait.h /usr/local/include/node/cppgc/type-traits.h /usr/local/include/node/cppgc/visitor.h /usr/local/include/node/js_native_api.h /usr/local/include/node/js_native_api_types.h /usr/local/include/node/libplatform/libplatform-export.h /usr/local/include/node/libplatform/libplatform.h /usr/local/include/node/libplatform/v8-tracing.h /usr/local/include/node/node.h /usr/local/include/node/node_api.h /usr/local/include/node/node_api_types.h /usr/local/include/node/node_buffer.h /usr/local/include/node/node_object_wrap.h /usr/local/include/node/node_version.h /usr/local/include/node/openssl/aes.h /usr/local/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/BSD-x86/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/BSD-x86/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/BSD-x86/asm/include/progs.h /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/BSD-x86/no-asm/include/progs.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/include/progs.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/include/progs.h /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix-gcc/asm/include/progs.h /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/include/progs.h /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/include/progs.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm/include/progs.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/progs.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-armv4/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-elf/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-elf/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x32/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x32/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/include/progs.h /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux64-mips64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux64-mips64/asm/include/progs.h /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/include/progs.h /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/include/progs.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/include/progs.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/progs.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/progs.h /usr/local/include/node/openssl/asn1.h /usr/local/include/node/openssl/asn1_mac.h /usr/local/include/node/openssl/asn1err.h /usr/local/include/node/openssl/asn1t.h /usr/local/include/node/openssl/async.h /usr/local/include/node/openssl/asyncerr.h /usr/local/include/node/openssl/bio.h /usr/local/include/node/openssl/bioerr.h /usr/local/include/node/openssl/blowfish.h /usr/local/include/node/openssl/bn.h /usr/local/include/node/openssl/bn_conf.h /usr/local/include/node/openssl/bn_conf_asm.h /usr/local/include/node/openssl/bn_conf_no-asm.h /usr/local/include/node/openssl/bnerr.h /usr/local/include/node/openssl/buffer.h /usr/local/include/node/openssl/buffererr.h /usr/local/include/node/openssl/camellia.h /usr/local/include/node/openssl/cast.h /usr/local/include/node/openssl/cmac.h /usr/local/include/node/openssl/cms.h /usr/local/include/node/openssl/cmserr.h /usr/local/include/node/openssl/comp.h /usr/local/include/node/openssl/comperr.h /usr/local/include/node/openssl/conf.h /usr/local/include/node/openssl/conf_api.h /usr/local/include/node/openssl/conferr.h /usr/local/include/node/openssl/crypto.h /usr/local/include/node/openssl/cryptoerr.h /usr/local/include/node/openssl/ct.h /usr/local/include/node/openssl/cterr.h /usr/local/include/node/openssl/des.h /usr/local/include/node/openssl/dh.h /usr/local/include/node/openssl/dherr.h /usr/local/include/node/openssl/dsa.h /usr/local/include/node/openssl/dsaerr.h /usr/local/include/node/openssl/dso_conf.h /usr/local/include/node/openssl/dso_conf_asm.h /usr/local/include/node/openssl/dso_conf_no-asm.h /usr/local/include/node/openssl/dtls1.h /usr/local/include/node/openssl/e_os2.h /usr/local/include/node/openssl/ebcdic.h /usr/local/include/node/openssl/ec.h /usr/local/include/node/openssl/ecdh.h /usr/local/include/node/openssl/ecdsa.h /usr/local/include/node/openssl/ecerr.h /usr/local/include/node/openssl/engine.h /usr/local/include/node/openssl/engineerr.h /usr/local/include/node/openssl/err.h /usr/local/include/node/openssl/evp.h /usr/local/include/node/openssl/evperr.h /usr/local/include/node/openssl/hmac.h /usr/local/include/node/openssl/idea.h /usr/local/include/node/openssl/kdf.h /usr/local/include/node/openssl/kdferr.h /usr/local/include/node/openssl/lhash.h /usr/local/include/node/openssl/md2.h /usr/local/include/node/openssl/md4.h /usr/local/include/node/openssl/md5.h /usr/local/include/node/openssl/mdc2.h /usr/local/include/node/openssl/modes.h /usr/local/include/node/openssl/obj_mac.h /usr/local/include/node/openssl/objects.h /usr/local/include/node/openssl/objectserr.h /usr/local/include/node/openssl/ocsp.h /usr/local/include/node/openssl/ocsperr.h /usr/local/include/node/openssl/opensslconf.h /usr/local/include/node/openssl/opensslconf_asm.h /usr/local/include/node/openssl/opensslconf_no-asm.h /usr/local/include/node/openssl/opensslv.h /usr/local/include/node/openssl/ossl_typ.h /usr/local/include/node/openssl/pem.h /usr/local/include/node/openssl/pem2.h /usr/local/include/node/openssl/pemerr.h /usr/local/include/node/openssl/pkcs12.h /usr/local/include/node/openssl/pkcs12err.h /usr/local/include/node/openssl/pkcs7.h /usr/local/include/node/openssl/pkcs7err.h /usr/local/include/node/openssl/rand.h /usr/local/include/node/openssl/rand_drbg.h /usr/local/include/node/openssl/randerr.h /usr/local/include/node/openssl/rc2.h /usr/local/include/node/openssl/rc4.h /usr/local/include/node/openssl/rc5.h /usr/local/include/node/openssl/ripemd.h /usr/local/include/node/openssl/rsa.h /usr/local/include/node/openssl/rsaerr.h /usr/local/include/node/openssl/safestack.h /usr/local/include/node/openssl/seed.h /usr/local/include/node/openssl/sha.h /usr/local/include/node/openssl/srp.h /usr/local/include/node/openssl/srtp.h /usr/local/include/node/openssl/ssl.h /usr/local/include/node/openssl/ssl2.h /usr/local/include/node/openssl/ssl3.h /usr/local/include/node/openssl/sslerr.h /usr/local/include/node/openssl/stack.h /usr/local/include/node/openssl/store.h /usr/local/include/node/openssl/storeerr.h /usr/local/include/node/openssl/symhacks.h /usr/local/include/node/openssl/tls1.h /usr/local/include/node/openssl/ts.h /usr/local/include/node/openssl/tserr.h /usr/local/include/node/openssl/txt_db.h /usr/local/include/node/openssl/ui.h /usr/local/include/node/openssl/uierr.h /usr/local/include/node/openssl/whrlpool.h /usr/local/include/node/openssl/x509.h /usr/local/include/node/openssl/x509_vfy.h /usr/local/include/node/openssl/x509err.h /usr/local/include/node/openssl/x509v3.h /usr/local/include/node/openssl/x509v3err.h /usr/local/include/node/uv.h /usr/local/include/node/uv/aix.h /usr/local/include/node/uv/android-ifaddrs.h /usr/local/include/node/uv/bsd.h /usr/local/include/node/uv/darwin.h /usr/local/include/node/uv/errno.h /usr/local/include/node/uv/linux.h /usr/local/include/node/uv/os390.h /usr/local/include/node/uv/posix.h /usr/local/include/node/uv/stdint-msvc2008.h /usr/local/include/node/uv/sunos.h /usr/local/include/node/uv/threadpool.h /usr/local/include/node/uv/tree.h /usr/local/include/node/uv/unix.h /usr/local/include/node/uv/version.h /usr/local/include/node/uv/win.h /usr/local/include/node/v8-cppgc.h /usr/local/include/node/v8-fast-api-calls.h /usr/local/include/node/v8-internal.h /usr/local/include/node/v8-metrics.h /usr/local/include/node/v8-platform.h /usr/local/include/node/v8-profiler.h /usr/local/include/node/v8-util.h /usr/local/include/node/v8-value-serializer-version.h /usr/local/include/node/v8-version-string.h /usr/local/include/node/v8-version.h /usr/local/include/node/v8-wasm-trap-handler-posix.h /usr/local/include/node/v8-wasm-trap-handler-win.h /usr/local/include/node/v8.h /usr/local/include/node/v8config.h /usr/local/include/node/zconf.h /usr/local/include/node/zlib.h

Output of brew tap

Click to expand

homebrew/cask
homebrew/cask-fonts
homebrew/core
mono0926/license-plist
octave-app/octave-app
swiftdocorg/formulae

persello avatar May 25 '21 14:05 persello

Can confirm that brew fetch macsplice fails, but curl --location https://www.macspice.com/mirror/binaries/v3.1.24/MacSpice3f5.dmg succeeds.

It does four redirects
HTTP/1.1 301 Moved Permanently
Date: Tue, 25 May 2021 14:42:27 GMT
Server: Apache
Location: https://www.macspice.com/binaries/v3.1.24/MacSpice3f5.dmg
Cache-Control: max-age=86400
Expires: Wed, 26 May 2021 14:42:27 GMT
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1
Age: 6331
X-Cache: HIT from lin-10-170-0-147.gridhost.co.uk
X-Cache-Lookup: HIT from lin-10-170-0-147.gridhost.co.uk:3128
Connection: close
Set-Cookie: DYNSRV=lin-10-170-0-147; path=/

HTTP/1.1 301 Moved Permanently
Date: Tue, 25 May 2021 16:27:58 GMT
Server: Apache
Location: https://www.dropbox.com/s/wsv31jwet8p7zf8/MacSpice3f5.dmg?dl=1
Cache-Control: max-age=86400
Expires: Wed, 26 May 2021 16:27:58 GMT
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1
X-Cache: MISS from lin-10-170-0-78.gridhost.co.uk
X-Cache-Lookup: MISS from lin-10-170-0-78.gridhost.co.uk:3128
Connection: close
Set-Cookie: DYNSRV=lin-10-170-0-78; path=/

HTTP/2 301
cache-control: no-cache,no-cache, no-store
content-security-policy: sandbox
content-type: text/html; charset=utf-8
date: Tue, 25 May 2021 16:27:59 GMT
location: /s/dl/wsv31jwet8p7zf8/MacSpice3f5.dmg
pragma: no-cache
referrer-policy: strict-origin-when-cross-origin
server: envoy
set-cookie: locale=en; Domain=dropbox.com; expires=Sun, 24 May 2026 16:27:59 GMT; Path=/; secure
set-cookie: gvc=MjQwOTIxOTExNTg2NjEwODk4ODI5NjE3MTM1MTcyODg0OTMwODk3; expires=Sun, 24 May 2026 16:27:59 GMT; httponly; Path=/; secure
set-cookie: flash=; Domain=dropbox.com; expires=Tue, 25 May 2021 16:27:59 GMT; Path=/; secure
set-cookie: bang=; Domain=dropbox.com; expires=Tue, 25 May 2021 16:27:59 GMT; Path=/; secure
set-cookie: t=CTH8oK6cSr38VvO31VX_BJLK; Domain=dropbox.com; expires=Fri, 24 May 2024 16:27:59 GMT; httponly; Path=/; secure
set-cookie: __Host-js_csrf=CTH8oK6cSr38VvO31VX_BJLK; expires=Fri, 24 May 2024 16:27:59 GMT; Path=/; secure
x-content-type-options: nosniff
x-frame-options: DENY
x-permitted-cross-domain-policies: none
x-robots-tag: noindex, nofollow, noimageindex
x-xss-protection: 1; mode=block
strict-transport-security: max-age=31536000; includeSubDomains
strict-transport-security: max-age=31536000; includeSubDomains
vary: Accept-Encoding
x-dropbox-response-origin: far_remote
x-dropbox-request-id: 8febb57918074aeb85c911c63a3861de

HTTP/2 302
cache-control: no-cache,no-cache, no-store
content-security-policy: sandbox
content-type: text/html; charset=utf-8
date: Tue, 25 May 2021 16:27:59 GMT
location: https://ucff943a0821489473393f276cbe.dl.dropboxusercontent.com/cd/0/get/BPKw8D92Qs6JiwKsSxiCZUwEWNrkftmALCcyUYlkyU0lgMzs2Q1N1tHFj5CMGPgCU84n3q4cW-W87C1OpAK0EaDhro46tpMTMvYHeP_wSIJrooDsWCUhhq0_-NriXfm9qnfKpX2TzU32ZpdLD0pg0rN6/file?dl=1#
pragma: no-cache
referrer-policy: strict-origin-when-cross-origin
server: envoy
set-cookie: locale=en; Domain=dropbox.com; expires=Sun, 24 May 2026 16:27:59 GMT; Path=/; secure
set-cookie: gvc=MzI4OTU0OTI3NDk1MTY5MzMxNjQ4MDMyODE1NzE5Njg1MzY1MTA0; expires=Sun, 24 May 2026 16:27:59 GMT; httponly; Path=/; secure
set-cookie: flash=; Domain=dropbox.com; expires=Tue, 25 May 2021 16:27:59 GMT; Path=/; secure
set-cookie: bang=; Domain=dropbox.com; expires=Tue, 25 May 2021 16:27:59 GMT; Path=/; secure
set-cookie: t=uo7wG90KV0Iz7s4k7yoo4-c1; Domain=dropbox.com; expires=Fri, 24 May 2024 16:27:59 GMT; httponly; Path=/; secure
set-cookie: __Host-js_csrf=uo7wG90KV0Iz7s4k7yoo4-c1; expires=Fri, 24 May 2024 16:27:59 GMT; Path=/; secure
x-content-type-options: nosniff
x-frame-options: DENY
x-permitted-cross-domain-policies: none
x-xss-protection: 1; mode=block
strict-transport-security: max-age=31536000; includeSubDomains
strict-transport-security: max-age=31536000; includeSubDomains
vary: Accept-Encoding
x-dropbox-response-origin: far_remote
x-dropbox-request-id: 1af5173f085543fc81dad7bc81f2e907

HTTP/2 200
server: envoy
date: Tue, 25 May 2021 16:28:00 GMT
content-type: application/binary
content-length: 3631319
cache-control: max-age=60
pragma: public
x-robots-tag: noindex, nofollow, noimageindex
referrer-policy: no-referrer
etag: 1586464789283605d
x-content-type-options: nosniff
accept-ranges: bytes
content-disposition: attachment; filename="MacSpice3f5.dmg"; filename*=UTF-8''MacSpice3f5.dmg
content-security-policy: sandbox
x-webkit-csp: sandbox
x-content-security-policy: sandbox
vary: Origin
x-server-response-time: 153
strict-transport-security: max-age=31536000; includeSubDomains
strict-transport-security: max-age=31536000; includeSubDomains
x-robots-tag: noindex, nofollow, noimageindex
x-dropbox-response-origin: remote
x-dropbox-request-id: 243dd274ca454ec8bf984b2882f3ad44

vitorgalvao avatar May 25 '21 16:05 vitorgalvao

This may have been a temporary issue, as I cannot reproduce:

|-> brew fetch macspice
==> Downloading https://www.macspice.com/mirror/binaries/v3.1.24/MacSpice3f5.dmg
==> Downloading from https://ucbe212b3213eddad16b6b9fa109.dl.dropboxusercontent.com/cd/0/get/BPNekMyZKUf2Q0i3ZKYIHm8_a14io0uqs2qX7adWmz6DoeO_elaM0Aj8KtaOV8Ic57IVUsAUW0_6Qxx7bJFfFUAaljwS8qIbcM-kFOX4rKWWj_kD-B36rTNeVOqpHD3Ztt_QOIBIIyayK-q
######################################################################## 100.0%
Downloaded to: /Users/miccal/Library/Caches/Homebrew/downloads/b272b1e17bcb094f4eaafd68f29ffed68004603b64d0d65f701a059f41de8fbb--MacSpice3f5.dmg
SHA256: 486baee366773f3589c870d9294e1028c118e29f9bf4dc824322e37f2782475f

miccal avatar May 26 '21 00:05 miccal

For me it continues to fail the same way.

Also, as @vitorgalvao said, I can confirm that curl is able to download it without issues.

persello avatar May 26 '21 09:05 persello

I can no longer reproduce.

vitorgalvao avatar May 27 '21 00:05 vitorgalvao

Ok, this is really strange. I tried to brew install macspice about 15 times in a row right now. It completed successfully only twice. Downloading the DMG with curl works every time.

I also tried connecting from my mobile hotspot, but the issue persists. In the meantime, I installed at least other 7 formulas and casks with no issues at all, and no general connectivity issues overall. What could I do to further debug this issue?

(The issue persists after an update to macOS 11.4)

persello avatar May 27 '21 10:05 persello

What could I do to further debug this issue?

There’s no one else with this issue right now. Because it redirects to Dropbox and is inconsistent, there’s a strong chance it’s them doing it on purpose.

Unless you can find proof the issue is with Homebrew, doesn’t seem worth it to investigate further.

vitorgalvao avatar May 27 '21 17:05 vitorgalvao

One possibility I see is that the final direct download URL has some restrictions in place (access/bot-protection/etc).

I can also reproduce the problem on my local system and see that if I use the final URL back-to-back, it stops working on the 2nd/3rd curl attempt.

~~I have been able to get downloads to work better by using user_agent: :fake~~ EDIT: Actual just downloads incorrect HTML file.


Not sure what is best approach for Homebrew as the back-to-back curl calls may be causing problems.

If I change the cask code path to set try_partial: false to avoid the extra curl, the downloads seem to have better chance of succeeding: https://github.com/Homebrew/brew/blob/7ae9cc346788ab7a022f033df08943df52e60273/Library/Homebrew/utils/curl.rb#L131

Or perhaps adding an option to pass through unresolved URLs: https://github.com/Homebrew/brew/blob/7ae9cc346788ab7a022f033df08943df52e60273/Library/Homebrew/download_strategy.rb#L405

cho-m avatar May 27 '21 19:05 cho-m

Based on some hacked together changes, I see that disabling partial download still fails around same rate at original behavior (for me ~50% of the time).

Using unresolved URLs seems to be the best at avoiding download error for Dropbox downloads, but has a performance hit from redirects and possibly other demerits that I am unaware of.

Quickly hacked together changes with :unresolved input
diff --git a/Library/Homebrew/cask/url.rb b/Library/Homebrew/cask/url.rb
index d88e8dbc8..404cd89b5 100644
--- a/Library/Homebrew/cask/url.rb
+++ b/Library/Homebrew/cask/url.rb
@@ -15,7 +15,7 @@ class URL < Delegator
                 :verified, :using,
                 :tag, :branch, :revisions, :revision,
                 :trust_cert, :cookies, :referer, :header, :user_agent,
-                :data
+                :data, :unresolved
 
     extend Forwardable
     def_delegators :uri, :path, :scheme, :to_s
@@ -36,6 +36,7 @@ class URL < Delegator
         header:     T.nilable(String),
         user_agent: T.nilable(T.any(Symbol, String)),
         data:       T.nilable(T::Hash[String, String]),
+        unresolved: T.nilable(T::Boolean),
       ).void
     }
     def initialize(
@@ -51,7 +52,8 @@ class URL < Delegator
       referer: nil,
       header: nil,
       user_agent: nil,
-      data: nil
+      data: nil,
+      unresolved: nil
     )
 
       @uri = URI(uri)
@@ -69,6 +71,7 @@ class URL < Delegator
       specs[:header]     = @header     = header
       specs[:user_agent] = @user_agent = user_agent || :default
       specs[:data]       = @data       = data
+      specs[:unresolved] = @unresolved = unresolved
 
       @specs = specs.compact
     end
@@ -156,6 +159,7 @@ class URL < Delegator
       header:          T.nilable(String),
       user_agent:      T.nilable(T.any(Symbol, String)),
       data:            T.nilable(T::Hash[String, String]),
+      unresolved:      T.nilable(T::Boolean),
       caller_location: Thread::Backtrace::Location,
       dsl:             T.nilable(Cask::DSL),
       block:           T.nilable(T.proc.params(arg0: T.all(String, BlockDSL::PageWithURL)).returns(T.untyped)),
@@ -175,6 +179,7 @@ class URL < Delegator
     header: nil,
     user_agent: nil,
     data: nil,
+    unresolved: nil,
     caller_location: T.must(caller_locations).fetch(0),
     dsl: nil,
     &block
@@ -202,6 +207,7 @@ class URL < Delegator
         header:     header,
         user_agent: user_agent,
         data:       data,
+        unresolved: unresolved,
       )
     end
     )
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index d0c755ed5..39ea8477d 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -512,7 +512,8 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy
   end
 
   def _fetch(url:, resolved_url:, timeout:)
-    ohai "Downloading from #{resolved_url}" if url != resolved_url
+    download_url = (meta.key?(:unresolved) and meta[:unresolved] == true) ? url : resolved_url
+    ohai "Downloading from #{download_url}" if url != download_url
 
     if Homebrew::EnvConfig.no_insecure_redirect? &&
        url.start_with?("https://") && !resolved_url.start_with?("https://")
@@ -520,7 +521,7 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy
       raise CurlDownloadStrategyError, url
     end
 
-    curl_download resolved_url, to: temporary_path, timeout: timeout
+    curl_download download_url, to: temporary_path, timeout: timeout
   end
 
   # Curl options to be always passed to curl,

I guess another alternative would be downloading from unresolved URL as fallback if resolved URL fails. Probably need better exception handling logic (detect error, re-raise, etc), but a quick change:

diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb
index d0c755ed5..9bd7ddb36 100644
--- a/Library/Homebrew/download_strategy.rb
+++ b/Library/Homebrew/download_strategy.rb
@@ -520,7 +520,14 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy
       raise CurlDownloadStrategyError, url
     end

-    curl_download resolved_url, to: temporary_path, timeout: timeout
+    begin
+      curl_download resolved_url, to: temporary_path, timeout: timeout
+    rescue
+      if url != resolved_url
+        ohai "Retrying download from #{url}"
+        curl_download url, to: temporary_path, timeout: timeout
+      end
+    end
   end

   # Curl options to be always passed to curl,

cho-m avatar May 30 '21 22:05 cho-m

There’s no one else with this issue right now. Because it redirects to Dropbox and is inconsistent, there’s a strong chance it’s them doing it on purpose.

Unless you can find proof the issue is with Homebrew, doesn’t seem worth it to investigate further.

@vitorgalvao I have this same problem with all of my tapped Casks that rely on Dropbox URLs… They work with curl, but break as urls inside formulae! 😕

danielbayley avatar Jun 22 '21 13:06 danielbayley

@danielbayley This will require some way of using unresolved or partially resolved URLs in Homebrew's infra code.

Some options:

  1. Always fallback to unresolved URL like my hacked together diff
  2. Have a blacklist of URLs that we should stop resolving at. This would allow us to partially resolve Dropbox URLs and reduce impact to other URLs.
    • In this example, we can safely resolve up to the 3rd redirect:
      • https://www.dropbox.com/s/dl/wsv31jwet8p7zf8/MacSpice3f5.dmg
    • But can hit a failure if we resolve the 4th redirect:
      • https://ucff943a0821489473393f276cbe.dl.dropboxusercontent.com/cd/0/get/BPKw8D92Qs6JiwKsSxiCZUwEWNrkftmALCcyUYlkyU0lgMzs2Q1N1tHFj5CMGPgCU84n3q4cW-W87C1OpAK0EaDhro46tpMTMvYHeP_wSIJrooDsWCUhhq0_-NriXfm9qnfKpX2TzU32ZpdLD0pg0rN6/file?dl=1#
    • So, we can possibly blacklist using URLs that match *.dl.dropboxusercontent.com from redirects

cho-m avatar Jun 22 '21 21:06 cho-m

@danielbayley This will require some way of using unresolved or partially resolved URLs in Homebrew's infra code.

Some options:

  1. Always fallback to unresolved URL like my hacked together diff

  2. Have a blacklist of URLs that we should stop resolving at. This would allow us to partially resolve Dropbox URLs and reduce impact to other URLs.

    • In this example, we can safely resolve up to the 3rd redirect:

      • https://www.dropbox.com/s/dl/wsv31jwet8p7zf8/MacSpice3f5.dmg
    • But can hit a failure if we resolve the 4th redirect:

      • https://ucff943a0821489473393f276cbe.dl.dropboxusercontent.com/cd/0/get/BPKw8D92Qs6JiwKsSxiCZUwEWNrkftmALCcyUYlkyU0lgMzs2Q1N1tHFj5CMGPgCU84n3q4cW-W87C1OpAK0EaDhro46tpMTMvYHeP_wSIJrooDsWCUhhq0_-NriXfm9qnfKpX2TzU32ZpdLD0pg0rN6/file?dl=1#
    • So, we can possibly blacklist using URLs that match *.dl.dropboxusercontent.com from redirects

Nice. Might you be submitting a PR to handle this? @cho-m

danielbayley avatar Jun 22 '21 22:06 danielbayley

FYI, MacSpice was removed in #117594 at the author's request.

carlocab avatar Jan 28 '22 13:01 carlocab