only urlencode $ if filename is not local
@@ -585,7 +585,7 @@ class ComposerRepository extends ArrayRepository
}
// url-encode $ signs in URLs as bad proxies choke on them
- if ($pos = strpos($filename, '$')) {
+ if (($pos = strpos($filename, '$')) && preg_match('{^https?://.*}i', $filename)) {
$filename = substr($filename, 0, $pos) . '%24' . substr($filename, $pos+1);