Giter Club home page Giter Club logo

cmpdl's People

Contributors

alagane avatar blk-addr avatar jmcaffee avatar mitsunee avatar vazkii avatar zachdeibert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cmpdl's Issues

Pam's Harvestcraft can't be used even after downloading

Even after patching URL parsing with #44 Pam doesn't want to play nicely

   Downloading zip file Pam's+HarvestCraft+1.12.2q.jar.zip
   Unzipping file
   Done unzipping
   Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: This modpack has no manifest
   	at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
   Caused by: java.lang.IllegalArgumentException: This modpack has no manifest
   	at vazkii.cmpdl.CMPDL.getManifest(CMPDL.java:196)
   	at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:100)
   	at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)

Error doesn't lie: there's no manifest.json in the archive. There's mcmod.info however.

Feature Request: Continue downloading other mods when one fails.

Please make it so that when one mod fails it does not stop the entire process of downloading. My internet is bad where I live and failures are almost a given. I would like CMPDL to download as many as possible, I can then add the failed ones afterward manually.

doubled HTML encoding

The problem is most likely in getLocationHeader().

modpack URL: https://minecraft.curseforge.com/projects/age-of-engineering
log:
File download URL is https://minecraft.curseforge.com/projects/better-builders-wands/files/2394395/download
Downloading BetterBuildersWands-1.10.2-0.11.1.220%2Bf8232fe.jar
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2394/395/BetterBuildersWands-1.10.2-0.11.1.220%252Bf8232fe.jar

The "%252B" here should be "%2B".

tentative variable backtrace:
CMPDL.java:
315:log("Downloading " + filename); //filename = ...%2B...jar this should be '+'
306:filename = URLDecoder.decode(filename, "UTF-8"); //filename = ...%2B...jar this should be '+'
305:String filename = m.group(1); //filename = ...%252B...jar this should be "%2B"
301:Matcher m = FILE_NAME_URL_PATTERN.matcher(finalUrl);
300:String finalUrl = getLocationHeader(fileDlUrl);
298:log("File download URL is " + fileDlUrl); //fileDlUrl = https://minecraft.curseforge.com/projects/better-builders-wands/files/2394395/download

Error 403 when trying to download any modpack

$ java -jar cmpdl-1.1.3.jar https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded

~ Starting magical modpack download sequence ~
Input URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded
Input Version: latest
File URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded/files/latest
Final URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded/files/latest?cookieTest=1
Modpack filename is latest?cookieTest=1
CMPDL Temp Dir is /home/noctua/.cmpdl_temp
Modpack temporary directory is /home/noctua/.cmpdl_temp/latest?cookieTest=1
Downloading zip file latest?cookieTest=1.zip
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded/files/latest?cookieTest=1
at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded/files/latest?cookieTest=1
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at java.net.URL.openStream(URL.java:1045)
at vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
at vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:167)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)

Getting Java error while trying to download

Using Ubuntu 17.10
OpenJDK Java 8

wjects/proton/files/latest

Modpack filename is latest
CMPDL Temp Dir is /home/toby/.cmpdl_temp
Modpack temporary directory is /home/toby/.cmpdl_temp/latest
Downloading zip file latest.zip
Error: class javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
java.base/sun.security.ssl.Alerts.getSSLException(Alerts.java:214)
java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1969)
java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1921)
java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1904)
java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1436)
java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1563)
java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1491)
java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:236)
java.base/java.net.URL.openStream(URL.java:1117)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:167)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)

Feature Request: Do not download zip if already in temp

In a country where bandwidth is somewhat limited, I would like it if modpack zip files do not get re-downloaded if it still exists in the temp folder. Reason to re-download - if it fails to download all the mods first time round....

Download trips on a caret sign.

Tried downloading Material Energy^Natural Capital, but since it uses that one character in the name...

~ Starting magical modpack download sequence ~
Error: Illegal character in path at index 59: http://addons.cursecdn.com/files/2318/810/Material%20Energy^Natural%20Capital-0.11.04.zip
java.net.URI$Parser.fail(URI.java:2848)
java.net.URI$Parser.checkChars(URI.java:3021)
java.net.URI$Parser.parseHierarchical(URI.java:3105)
java.net.URI$Parser.parse(URI.java:3053)
java.net.URI.(URI.java:588)
vazkii.cmpdl.CMPDL.getLocationHeader(CMPDL.java:286)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:58)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:17)

By the way, thank you for doing an amazing job with this.

No gui option

It would be useful to have a no gui option, so it's usable from a distro such as Ubuntu Server.

Something like java -jar cmpdl.jar --url blah.

If you approve, I can submit a PR myself if you prefer.

java.lang.IllegalArgumentException: This modpack has no manifest

Trying to install https://minecraft.curseforge.com/projects/all-the-mods-3/
It fails on two mods;
https://minecraft.curseforge.com/projects/draconic-evolution/
https://minecraft.curseforge.com/projects/minecolonies/

Installing them manually gives:

Done unzipping
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: This modpack has no manifest
	at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.lang.IllegalArgumentException: This modpack has no manifest
	at vazkii.cmpdl.CMPDL.getManifest(CMPDL.java:196)
	at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:100)
	at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)

But when I look at the jar files for both mods, they have manifest files located at META-INF/MANIFEST.MF

Failure to download Nature's Beauty

Hello, I tried downloading Nature's Beauty on linux(ubuntu16.04) using this URL:

https://minecraft.curseforge.com/projects/natures-beauty

I get this error message:

~ Starting magical modpack download sequence ~
Input URL: https://minecraft.curseforge.com/projects/natures-beauty
Input Version: 1.2
File URL: https://minecraft.curseforge.com/projects/natures-beauty/files/1.2/download
Final URL: https://minecraft.curseforge.com/projects/natures-beauty/files

Modpack filename is files
CMPDL Temp Dir is /home/siris-galatas/.cmpdl_temp
Modpack temporary directory is /home/siris-galatas/.cmpdl_temp/files
Downloading zip file files.zip
Unzipping file
Error: class net.lingala.zip4j.exception.ZipException: zip headers not found. probably not a zip file
net.lingala.zip4j.core.HeaderReader.readEndOfCentralDirectoryRecord(HeaderReader.java:122)
net.lingala.zip4j.core.HeaderReader.readAllHeaders(HeaderReader.java:78)
net.lingala.zip4j.core.ZipFile.readZipInfo(ZipFile.java:425)
net.lingala.zip4j.core.ZipFile.extractAll(ZipFile.java:475)
net.lingala.zip4j.core.ZipFile.extractAll(ZipFile.java:451)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:172)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)

I've tried downloading other modpacks and they work fine. So far, it's only with this one.

Feature Request: Instructions in the app

I find it difficult to remember whether I have to use the Curse link or the CurseForge link.
Could some form of clue please be inserted into the app?(Such as change the 'Modpack URL' label to CurseForge Modpack URL')

Option to install from non-curse sources.

The option to install from a non-curse source would be very helpful. When I say non-curse source, I am referring to the packaged files which you can download from the curse site and import into the normal launcher. For example, you could specify to this zip file hosted on your own server, or a local version of it. This would be useful for those who are working on packs that are not fully release yet, and would also give mod pack authors the option to host on other platforms using the curse format.

cmpdl can't download any version of Pam's Harvestcraft

Downloading 221857/2523355
Project URL is http://minecraft.curseforge.com/projects/221857
File download URL is https://minecraft.curseforge.com/projects/pams-harvestcraft/files/2523355/download
Downloading Pam%27s HarvestCraft 1.12.2m.jar
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2523/355/Pam%2527s+HarvestCraft+1.12.2m.jar
at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2523/355/Pam%2527s+HarvestCraft+1.12.2m.jar
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at java.net.URL.openStream(URL.java:1045)
at vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
at vazkii.cmpdl.CMPDL.downloadFile(CMPDL.java:325)
at vazkii.cmpdl.CMPDL.downloadModpackFromManifest(CMPDL.java:218)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:107)
at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)

Brackets in name causing problems downloading

Looks like the brackets are causing problems, too. Just tried to download PrioR and loads of issues. Oh, looks like "+"s, too!

https://minecraft.curseforge.com/projects/prior

Everything that uses a bracket fails.

Do you refuse to use anything but Vaz's wonderful downloader? Here's a work around until he gets around to fixing it:

Find the errored section:
Downloading 228027/2456045
Project URL is http://minecraft.curseforge.com/projects/228027
File download URL is https://minecraft.curseforge.com/projects/bibliocraft/files/2456045/download
Downloading BiblioCraft%5bv2.2.5%5d%5bMC1.10.2%5d.jar
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2456/45/BiblioCraft%255bv2.2.5%255d%255bMC1.10.2%255d.jar
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
java.net.URL.openStream(URL.java:1045)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
vazkii.cmpdl.CMPDL.downloadFile(CMPDL.java:325)
vazkii.cmpdl.CMPDL.downloadModpackFromManifest(CMPDL.java:218)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:107)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)

Now, go the page download page of the failed mod (http://minecraft.curseforge.com/projects/228027)
Manually download.
Go to your CMPDL download folder and drag your clean, full download into it. Copy the wonky name (in this case BiblioCraft%255bv2.2.5%255d%255bMC1.10.2%255d.jar) and paste it into the legit manual download. Trash the CMPDL download. Start CMPDL again.

It will comb through everything and asses the wonky named file as a successful download and will move on to the next!

Granted, you'll have to download several files manually, but better than 150 manual downloads!

Thanks again, Vazkii, for your amazing mods.

Server returned HTTP response code: 403 for URL

Modpack filename is download
CMPDL Temp Dir is C:\Users\Administrator.BY-201907121248.cmpdl_temp
Modpack temporary directory is C:\Users\Administrator.BY-201907121248.cmpdl_temp\download
Downloading zip file download.zip
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.curseforge.com/minecraft/modpacks/age-of-engineering/files/files/2503175/download
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
java.net.URL.openStream(Unknown Source)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:417)
vazkii.cmpdl.CMPDL.downloadModpackMetadata(CMPDL.java:183)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:32)

Suggestion: include required libs

Considering the dependency on the gson and zip4j libraries, could you please include those?
It would be very helpful if users don't have to figure out how to get them before following the steps as described in the README's usage instructions, particularly when the distro maintainers haven't packaged the libraries in question, such as Debian.

Special characters such as apostrophes are already escaped

I noticed that the URL below has %2527, when it should be left as %27

Downloading 221857/2521633
Project URL is http://minecraft.curseforge.com/projects/221857
File download URL is https://minecraft.curseforge.com/projects/pams-harvestcraft/files/2521633/download
Downloading Pam%27s HarvestCraft 1.12.2L.jar
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2521/633/Pam%2527s+HarvestCraft+1.12.2L.jar
        at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2521/633/Pam%2527s+HarvestCraft+1.12.2L.jar
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
        at java.net.URL.openStream(URL.java:1045)
        at vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
        at vazkii.cmpdl.CMPDL.downloadFile(CMPDL.java:325)
        at vazkii.cmpdl.CMPDL.downloadModpackFromManifest(CMPDL.java:218)
        at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:107)
        at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)

Release 1.2.1 jar not up-to-date

The jar asset you added to the 1.2.1 release doesn't seem to be up to date (or something went wrong when you built it). It doesn't show me the "Choose local modpack" function when I execute it.

To verify that this behavior is not intended I did the following:

  • I built cmpdl with the files from the source code zip asset you provided with the 1.2.1 release and there the "Choose local modpack" option shows up.

  • I pulled files from the master branch of the CMPDL Github project and used those to build cpmdl and there the "Choose local modpack" function shows up.

For all my building and testing I used openjdk version 1.8.0_222

File already exists, No need to download it

This is my first time using CMPDL and i got this issue

Downloading 239431/2290798
Project URL is http://minecraft.curseforge.com/projects/239431
File download URL is https://minecraft.curseforge.com/projects/mcmultipart/files/2290798/download
Downloading MCMultiPart-1.1.1-universal.jar
This file already exists. No need to download it
Downloaded! 37/64 remaining

The file DOESNT exist. but CMPDL thinks it does... What can i do to solve this?
I'm on Debian 9

Can't find file

I tried running age of engineering. It gave me a error message. This is maybe because the zip file has spaces in it. Here is the outcome:

~ Starting magical modpack download sequence ~
URLs: https://minecraft.curseforge.com/projects/age-of-engineering/files/latest https://minecraft.curseforge.com/projects/age-of-engineering/files/latest
Modpack filename is latest
CMPDL Temp Dir is /home/seb/.cmpdl_temp
Modpack temporary directory is /home/seb/.cmpdl_temp/latest
Directory doesn't exist, making it now
Downloading zip file latest.zip
Error: class java.io.FileNotFoundException: https://minecraft.curseforge.com/projects/age-of-engineering/files/latest
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1872)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
java.net.URL.openStream(URL.java:1045)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:356)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:162)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:93)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)

Getting this error in any modpack I try to download (Server returned HTTP response code: 403 for URL)

`~ Starting magical modpack download sequence ~
Input URL: https://minecraft.curseforge.com/projects/minecraft-billionaire
Input Version: latest
File URL: https://minecraft.curseforge.com/projects/minecraft-billionaire/files/latest
Final URL: https://media.forgecdn.net/files/2548/374/Minecraft+Billionaire-0.7.zip

Modpack filename is Minecraft+Billionaire-0.7.zip
CMPDL Temp Dir is C:\Users\KauzDs.cmpdl_temp
Modpack temporary directory is C:\Users\KauzDs.cmpdl_temp\Minecraft+Billionaire-0.7.zip
Downloading zip file Minecraft+Billionaire-0.7.zip
Unzipping file
Done unzipping
Parsing Manifest
Output Dir is C:\Users\KauzDs\Documents\Curse modpack downloader\Minecraft Billionaire-0.7
Directory doesn't exist, making it now
Downloading modpack from Manifest
Manifest contains 127 files to download

Downloading 231868/2415996
Project URL is http://minecraft.curseforge.com/projects/231868
File download URL is https://minecraft.curseforge.com/projects/endercore/files/2415996/download
Downloading EnderCore-1.10.2-0.4.1.66-beta.jar
Downloaded! 126/127 remaining

Downloading 74924/2380279
Project URL is http://minecraft.curseforge.com/projects/74924
File download URL is https://minecraft.curseforge.com/projects/mantle/files/2380279/download
Downloading Mantle-1.10.2-1.1.5.jar
Downloaded! 125/127 remaining

Downloading 227083/2424565
Project URL is http://minecraft.curseforge.com/projects/227083
File download URL is https://minecraft.curseforge.com/projects/baubles/files/2424565/download
Downloading Baubles-1.10.2-1.3.11.jar
Downloaded! 124/127 remaining

Downloading 225643/2391169
Project URL is http://minecraft.curseforge.com/projects/225643
File download URL is https://minecraft.curseforge.com/projects/botania/files/2391169/download
Downloading Botania r1.9-341.jar
Downloaded! 123/127 remaining

Downloading 224942/2422718
Project URL is http://minecraft.curseforge.com/projects/224942
File download URL is https://minecraft.curseforge.com/projects/dense-ores/files/2422718/download
Downloading denseores-1.11-1.0.2.jar
Downloaded! 122/127 remaining

Downloading 221857/2428363
Project URL is http://minecraft.curseforge.com/projects/221857
File download URL is https://minecraft.curseforge.com/projects/pams-harvestcraft/files/2428363/download
Downloading Pam%27s HarvestCraft 1.10.2j.jar
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2428/363/Pam%2527s+HarvestCraft+1.10.2j.jar
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
java.net.URL.openStream(Unknown Source)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
vazkii.cmpdl.CMPDL.downloadFile(CMPDL.java:325)
vazkii.cmpdl.CMPDL.downloadModpackFromManifest(CMPDL.java:218)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:107)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)`

Server returned HTTP response code: 403 for URL

Modpack filename is download
CMPDL Temp Dir is C:\Users\Administrator.BY-201907121248.cmpdl_temp
Modpack temporary directory is C:\Users\Administrator.BY-201907121248.cmpdl_temp\download
Downloading zip file download.zip
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.curseforge.com/minecraft/modpacks/age-of-engineering/files/files/2503175/download
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
java.net.URL.openStream(Unknown Source)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:417)
vazkii.cmpdl.CMPDL.downloadModpackMetadata(CMPDL.java:183)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:32)

Help! There are illegal characters in my path!

hi,
Seems like cmpdl has an issue with urls/paths that include an ^.

~ Starting magical modpack download sequence ~
java.net.URISyntaxException: Illegal character in path at index 60: https://addons.cursecdn.com/files/2363/358/Material%20Energy^Natural%20Capital-0.11.04.zip
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.checkChars(URI.java:3021)
at java.net.URI$Parser.parseHierarchical(URI.java:3105)
at java.net.URI$Parser.parse(URI.java:3053)
at java.net.URI.(URI.java:588)
at vazkii.cmpdl.CMPDL.getLocationHeader(CMPDL.java:346)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:86)
at vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)

I am unsure on why curse isn't encoding the ^ as %5E, but maybe cmpdl could fix the urls instead of just failing?

403 error

Successfully downloaded Age of Engineering last week. Today I receive the following error when attempting to download All the Mods 3, using URL, "https://mods.curse.com/modpacks/minecraft/269708-all-the-mods-3"
The error occurs whether I use "latest" or enter a curse ID.
~ Starting magical modpack download sequence ~ URLs: https://mods.curse.com/modpacks/minecraft/269708-all-the-mods-3/files/latest https://mods.curse.com/modpacks/minecraft/269708-all-the-mods-3/files/latest?cookieTest=1 Modpack filename is latest?cookieTest=1 CMPDL Temp Dir is /home/something/.cmpdl_temp Modpack temporary directory is /home/something/.cmpdl_temp/latest?cookieTest=1 Downloading zip file latest?cookieTest=1.zip Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://mods.curse.com/modpacks/minecraft/269708-all-the-mods-3/files/latest?cookieTest=1 sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876) sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) java.net.URL.openStream(URL.java:1045) vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:356) vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:162) vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:93) vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)

I tried to download age of engineering again, as a test, and received the same 403 error.

[Feature request] Modpack builder

Vazkii,
While I can just assume that you have been asked for something like this n-1 times, but can you add a modpack builder into this?

Here is the rundown: I use Linux on my main computer and like to design modpacks. This is made difficult by the severe lack of a modpack creation system FOR Linux. I believe that this project may be a way to make a better launcher than twitch for the Linux platform(and, if done correctly by adding an integrated launcher, update systems, and overall functionality boosting, for other platforms) and finally allow me to build packs on Linux. BTW, I only use it due to my problems with Windows’ UI and this.

Much appreciated,
Enderger.

Erroring when trying to download.

~ Starting magical modpack download sequence ~
URLs: http://mods.curse.com/modpacks/minecraft/254433-invasion/files/latest http://mods.curse.com/modpacks/minecraft/254433-invasion/files/latest
Modpack filename is latest
CMPDL Temp Dir is /home/claudia/.cmpdl_temp
Modpack temporary directory is /home/claudia/.cmpdl_temp/latest
Downloading zip file latest.zip
Error: Server returned HTTP response code: 403 for URL: http://mods.curse.com/modpacks/minecraft/254433-invasion/files/latest
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
java.net.URL.openStream(URL.java:1045)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:296)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:119)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:65)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:17)
~ Starting magical modpack download sequence ~
URLs: https://addons-origin.cursecdn.com/files/2402/833/Invasion-1.0.4.zip/files/latest https://addons-origin.cursecdn.com/files/2402/833/Invasion-1.0.4.zip/files/latest
Modpack filename is latest
CMPDL Temp Dir is /home/claudia/.cmpdl_temp
Modpack temporary directory is /home/claudia/.cmpdl_temp/latest
Downloading zip file latest.zip
Error: https://addons-origin.cursecdn.com/files/2402/833/Invasion-1.0.4.zip/files/latest
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1872)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
java.net.URL.openStream(URL.java:1045)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:296)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:119)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:65)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:17)

Can not start CMPDL on arch linux

Java Version: 1.7.0_131

Exception in thread "main" java.lang.UnsupportedClassVersionError: vazkii/cmpdl/CMPDL : Unsupported major.minor version 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

Program is freezing

As soon as I click download the program freezes and does not do anything.

Problem with " ' " or "+" in names

When download mods like "Tinkers'+Addons-1.12.1-1.0.7.jar" you get "Tinkers%27 Addons-1.12.1-1.0.7.jar" and file with 0 size.
"angelRingToBauble-1.12-0.3.1.50%2Bd4e654e.jar" you get
"angelRingToBauble-1.12-0.3.1.50+d4e654e.jar" and 0 size.
Try ti get woth gie this "Pam's+HarvestCraft+1.12.2o.jar" ))

Feature Request: manual mod id supplement after timeout

I'd like to suggest to add an option to manually add a to downloaded file after a certain timeout (say, when the mod haven't been grabbed for 60 seconds), because it happens too often in the last weeks that the curse project id resolver just keeps looping on itself (but the pointed to source it should point to IS available!) and so cmpdl never finishes with the modpack download.

An easy way would be just do dump the time-outed mods in the log at the end, like it's already done with completely failed mod downloads.

CMPDL Not working - Download URL format changed on site.

Curseforge has changed their URL format. It's not a big change, but it effectively disables CMPDL.

Where CMPDL is downloading files from "[project]/files/[file-id]/download"
Curseforge now hosts downloads at "[project]/download/[file-id]"

It's a simple spell, but quite unbreakable.

Signature check failure

Invoked via java -jar cmpdl-1.0.2.jar https://minecraft.curseforge.com/projects/proton

Exception in thread "main" java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
	at vazkii.cmpdl.CMPDL.main(CMPDL.java:40)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
	at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
	at java.net.URL.openStream(URL.java:1045)
	at vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:296)
	at vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:119)
	at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:65)
	at vazkii.cmpdl.CMPDL.main(CMPDL.java:38)
Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
	at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:352)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:249)
	at sun.security.validator.Validator.validate(Validator.java:260)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)
	... 17 more
Caused by: java.security.cert.CertPathValidatorException: signature check failed
	at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:135)
	at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:219)
	at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
	at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
	at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
	at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:347)
	... 23 more
Caused by: java.security.SignatureException: Signature does not match.
	at sun.security.x509.X509CertImpl.verify(X509CertImpl.java:424)
	at sun.security.provider.certpath.BasicChecker.verifySignature(BasicChecker.java:166)
	at sun.security.provider.certpath.BasicChecker.check(BasicChecker.java:147)
	at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:125)
	... 28 more

Using icedtea 3.3.0 (java 1.8.0_121)
No other java based applications do this, so I'm fairly certain it's with cmpdl

Missing Mods

When installing a mod pack. Many packs complete but have a few or many missing mods. Is this an error or just letting you know that you will have to download and add them manually?

Done copying overrides
Setting up MultiMC info
And we're done!
Output Path: /home/dan/usbdrive/Agrarian Skies 2-1.1.14

################################################################################################
IMPORTANT NOTE: If you want to import this instance to MultiMC, you must install Forge manually
The Forge version you need is 10.13.4.1492
A later version will probably also work just as fine, but this is the version shipped with the pack
This is also added to the instance notes
################################################################################################
Missing mod! : https://minecraft.curseforge.com/projects/cofhcore/files/2246919/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/redstone-arsenal/files/2246927/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/journeymap-32274/files/2245168/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/thermal-foundation/files/2246921/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/thermal-dynamics/files/2246949/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/progressive-automation-early-miner/files/2251149/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/agricraft/files/2260954/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/custom-npcs/files/2260026/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/thermalexpansion/files/2246924/download?cookieTest=1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.