rovo89 / XposedInstaller

3.89k stars 1.51k forks source link

Modules list download error: 301 (Moved Permanently) #454

Closed mdesantis closed 6 years ago

mdesantis commented 6 years ago

I just installed Xposed but I can't install any module; when I go to the modules list and I try to update it, the update fails with the following error:

09-30 16:47:36.846 I/XposedInstaller( 7286): Downloaded http://dl.xposed.info/repo/full.xml.gz with status 2 (error: Download di http://dl.xposed.info/repo/full.xml.gz fallito: 301 (Moved Permanently)), size 0 bytes

rovo89 commented 6 years ago

Please try again now. I had enforced HTTPS on the server, but the HttpURLConnection class used by Xposed Installer doesn't follow redirects from HTTP to HTTPS.

mdesantis commented 6 years ago

Now it works. Thank you <3

agross commented 6 years ago

My Xposed installer fails to follow this redirect (still redirecting to TLS):

wget --spider http://dl.xposed.info/repo/partial/15864.xml.gz
Spider mode enabled. Check if remote file exists.
--2018-10-15 23:20:54--  http://dl.xposed.info/repo/partial/15864.xml.gz
Resolving dl.xposed.info (dl.xposed.info)... 45.55.233.97
Connecting to dl.xposed.info (dl.xposed.info)|45.55.233.97|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 302 Moved Temporarily
  Server: nginx
  Date: Mon, 15 Oct 2018 21:12:39 GMT
  Content-Type: text/html
  Content-Length: 154
  Connection: keep-alive
  Keep-Alive: timeout=10
  Location: https://dl-xda.xposed.info/repo/full.xml.gz
  X-XSS-Protection: 1; mode=block
  X-Frame-Options: DENY
  X-Content-Options: nosniff
Location: https://dl-xda.xposed.info/repo/full.xml.gz [following]
Spider mode enabled. Check if remote file exists.
--2018-10-15 23:20:54--  https://dl-xda.xposed.info/repo/full.xml.gz
Resolving dl-xda.xposed.info (dl-xda.xposed.info)... 174.127.84.25
Connecting to dl-xda.xposed.info (dl-xda.xposed.info)|174.127.84.25|:443... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Server: nginx
  Date: Mon, 15 Oct 2018 21:20:54 GMT
  Content-Type: application/octet-stream
  Content-Length: 1484930
  Last-Modified: Mon, 15 Oct 2018 08:23:47 GMT
  Connection: keep-alive
  ETag: "5bc44e93-16a882"
  Accept-Ranges: bytes
Length: 1484930 (1.4M) [application/octet-stream]
Remote file exists.
craftwar commented 6 years ago

I fix this by clearing app data. Remember to enable modules after data clean, no reboot is required if you don't install new module.

Ibuprophen commented 6 years ago

I'm not sure but, it looks like @Rovo89 may be working on something "Incognito" with the Repo server...

Here's a detailed report...


XPosed Installer Log Entry:

10-18 13:52:16.836 I/XposedInstaller( 5260): RepoLoader -> Downloaded http://dl.xposed.info/repo/partial/15892.xml.gz with status 2 (error: Downloading http://dl.xposed.info/repo/partial/15892.xml.gz failed: 302 (Moved Temporarily)), size 0 bytes


URL: http://dl.xposed.info/repo/partial/15892.xml.gz

RESULT: 302 - Moved Temporarily to https://dl-xda.xposed.info/repo/full.xml.gz (200 OK)

Detailed results of: http://dl.xposed.info/repo/partial/15892.xml.gz


302 Moved Temporarily

Status: 302 Moved Temporarily Code: 302 Server: nginx Date: Thu, 18 Oct 2018 17:51:42 GMT Content-Type: text/html Content-Length: 154 Connection: close Location: https://dl-xda.xposed.info/repo/full.xml.gz X-XSS-Protection: 1; mode=block X-Frame-Options: DENY X-Content-Options: nosniff

https://dl-xda.xposed.info/repo/full.xml.gz


200 OK

Status: 200 OK Code: 200 Server: nginx Date: Thu, 18 Oct 2018 18:00:03 GMT Content-Type: application/octet-stream Content-Length: 1485594 Last-Modified: Thu, 18 Oct 2018 15:45:32 GMT Connection: close ETag: "5bc8aa9c-16ab1a" Accept-Ranges: bytes


I hope this helps out! 👍

~Ibuprophen

Ibuprophen commented 6 years ago

I believe that the https://github.com/rovo89/XposedInstaller/pull/458 fix proposed may be the fix needed for the repository url change made by @Rovo89.

Please advise... :-)

~Ibuprophen

IzzySoft commented 6 years ago

@rovo89 As much as I encourage enforcing https: would you consider postponing that until the clients can deal with it (or have their URLs patched)? While @ibuprophen1 has provided patched versions for yours and the materialized one, we Magisk users (systemless Xposed) are still sitting in the dark as there hasn't been an update since May.

If as a work-around there's a way to manually download the index file and put it to the right place on-device (who uses Xposed has root access to do so :wink:), please let us know so we could at least do that periodically and keep our modules updated.

Ibuprophen commented 6 years ago

@IzzySoft, I had provided a link on the Magisk XPosed thread with a download link for the Magisk XposedInstaller v3.1.5 app that has the same Repo URL fix applied to it.

https://www.androidfilehost.com/?w=files&flid=284387

Enjoy! :-)

~Ibuprophen

IzzySoft commented 6 years ago

Ah, thanks, I missed that thread! I never side-loaded a Magisk module yet. Guess it's the same as with any app, or expecially with Xposed modules: just adb install it, check it's enabled, then reboot?

Ibuprophen commented 6 years ago

@IzzySoft, I can't really provide any Magisk guidance since I don't use it and only possess a working knowledge.

My apologies! :-(

~Ibuprophen

IzzySoft commented 6 years ago

@ibuprophen1 thanks nevertheless! And to all with the same question: here's the matching XDA tutorial. In short: after downloading the file to your device, open Magisk Manager, switch to the "modules" section, and use the big yellow "+" button to sideload the file. After reading that tut I remembered having wondered about that button before 🤣

Ibuprophen commented 6 years ago

Thank you for pointing this out @IzzySoft.

Regarding the Magisk XposedInstaller app, I've only noticed that those who already has the Original Installer just installs the one I had fixed as an update, then clear the apps Cache and all was working well.

When i had modified the various XposedInstaller apps, I only changed the Repo URL. Everything else (like the signature and such) remained untouched.

This was to ensure that there were no issues with installing the fixed apk files like Signature Missmatches and such.

I even fixed the Old Experimental 2.7 XposedInstaller app because I was asked about it from members who are unable to upgrade their firmware past the older Android versions like Lollipop.

I hope that this all works out and, if there's others in search of support for or the fix app itself, just let them know where to find it.

You just may be the Hero for pointing this out! 👑

~Ibuprophen

IzzySoft commented 6 years ago

@ibuprophen1 I have to correct the above: That's valid for Magisk Modules one wishes to sideload. The Xposed Installer comes as APK and is installed as any other APK is (the original installation instructions even point that out: installing this app is the very first step, before flashing the systemless Xposed framework) – so ideally using adb install -r XposedInstaller_3.1.5-Magisk_URL-Fix.apk.

Unfortunately, using your modified APK as update to the existing one doesn't work: the original one is signed by topjohnwu (Signed by "CN=John Wu, L=Taipei, C=TW"), your modified one is not (Signed by "CN=apk-icon-editor, O=Internet Widgits Pty Ltd, ST=Some-State, C=AU"), despite your writing the signature remained untouched – so installing as an update seems to be no option. And I hesitate to uninstall/reinstall (had to do that again with the next update – and furthermore, with installing this app as the first step in the original instructions, am unsure whether that might have unwanted side-effects).

Ibuprophen commented 6 years ago

Oh No! Thanks for pointing this out!

That was the wrong apk I had uploaded... I'm going to pull the AFH one and locate where I had placed the right one.

Your the only one who had pointed this out too.

I'm sorry for the inconvenience! :-(

~Ibuprophen

Ibuprophen commented 6 years ago

Check the following out @IzzySoft. I'm hoping that I had found the right one.

https://github.com/ibuprophen1/Odds-N-Ends/raw/master/XDA-Developers-Forum/XposedInstaller_3.1.5-Magisk_URL-Fix.apk

The thing is that I had tried different avenues with the fixes and this one looks like I had uploaded the wrong one but, now if that one isn't the right one, I may have to knock this one out again.

~Ibuprophen

IzzySoft commented 6 years ago

@ibuprophen1 happens – and did no damage :wink:

But the new one again is Signed by "CN=apk-icon-editor, O=Internet Widgits Pty Ltd, ST=Some-State, C=AU", and not by John. You can check for yourself:

jarsigner -verify -certs -verbose XposedInstaller_3.1.5-Magisk_URL-Fix.apk
eku commented 6 years ago

Devices run on KK still use on older version of XPosed Framework as well as Installer. Will the new installer work on these devices?

Ibuprophen commented 6 years ago

@IzzySoft, the following one should be good to go (almost positive LOL!)...

https://github.com/ibuprophen1/Odds-N-Ends/raw/master/TEMP/XposedInstaller_3.1.5-Magisk_URL-Fix2.apk

I can't actually use my PC to verify the signature till, hopefully, tomorrow.

@eku, are you referring to the XposedInstaller 2.7 Experimental app?

~Ibuprophen

IzzySoft commented 6 years ago

@ibuprophen1 sorry, but no:

$ jarsigner -verify -certs -verbose XposedInstaller_3.1.5-Magisk_URL-Fix2.apk
jarsigner: java.lang.SecurityException: SHA1 digest error for classes.dex

Haven't tried to adb install it, though. If classes.dex is what you've modified, that's the error I'd expect.

Ibuprophen commented 6 years ago

@IzzySoft, your correct... the fix resides within the Classes.dex file.

I believe that the discrepancy for the last one you had tested was the mismatched SHA1-Digest within the Manifest for the Classes.dex file.

I've got a just a couple of options now with the following one that may hopefully work.

https://github.com/ibuprophen1/Odds-N-Ends/raw/master/TEMP/XposedInstaller_3.1.5-Magisk-Fix5.apk

~Ibuprophen

eku commented 6 years ago

@IzzySoft, I'm refering to Installer 2.6.1.

IzzySoft commented 6 years ago

@eku you're pinging the wrong person, I've got no matching device. But basically, isn't the installer app the same for all Android versions? AFAIK it's only the framework which is version specific. Only trouble is if there's no installer matching your Xposed version. No idea whether KK is still supported with recent versions.

Ibuprophen commented 6 years ago

LMAO! :-)

@eku, was it you who I had responded to on the XDA Forum regarding the XposedInstaller v2.6?

When i get some time, I'll see about fixing the URL issue with v2.6/2.6.1.

~Ibuprophen

IzzySoft commented 6 years ago

@ibuprophen1 just wondering: must the version of the installer match that of the framework? I just looked for an old device of mine where Kitkat was the last version available for (a Motorola Milestone 2) – and indeed it has Xposed v2.6 installed. And the installer asked to be upgraded to the latest version (I didn't do that, but that raised this question).

Ibuprophen commented 6 years ago

@IzzySoft, the XposedInstaller is by Android version/SDK...

I've never really explained this before so I'm going to try as briefly as I can but, the information to answer your question really reside on a few links.

If you look at the following link....

https://repo.xposed.info/module/de.robv.android.xposed.installer

... Please Note the information explained and even the last note there. Also select the "show older versions" for the information regarding the releases previous to that.

To sum it up a bit more, the Android SDK versions previous to SDK21 doesn't require the separate Framework to be downloaded because the XPosed Framework for the Android SDK20 and older resides within the XposedInstaller and the Framework is only installed via the Installer.

This is why Rovo89 has the XPosed Framework available on the following link beginning with the SDK21 (Android 5.0).

http://dl-xda.xposed.info/framework/

Lastly, the XposedInstaller your referring to is only pointing to either the XposedInstaller 2.6.1 or the 2.7 Experimental version. That was the last Installer to have the XPosed Framework included within it.

If your Android Version is still the same, it's only the Installer itself that is notifying you to update, not the Framework.

I hope that I had helped explain this okay via text... :-)

~Ibuprophen

IzzySoft commented 6 years ago

Thanks for the explanations, @ibuprophen1 – but no, on my old KK device it showed an update available for the installer, to update it from 2.6.1 to 3.1.5. Seeing the download link you've mentioned: there're only the framework packages, no installer. So is the installer part of the framework now? I thought it had to be installed separately (at least that's what's to be done with Magisk).

Ibuprophen commented 6 years ago

@IzzySoft, your XposedInstaller app shouldn't be reflecting/notifying you regarding any XposedInstaller versions beyond the 2.7 Experimental.

This is because the XposedInstaller Repo doesn't have any of the later versions within it because Rovo89 severed the Installers beyond that version to be manually obtained and installed.

~Ibuprophen

IzzySoft commented 6 years ago

Need to check again what proposed the update on that device. I just saw (and ignored) the notification.

Ibuprophen commented 6 years ago

@eku, I had just uploaded the Rovo89's XposedInstaller 2.6 & 2.6.1 app with the Repo URL Fix on the following link.

It's located within the "Android 4.X and Below" Directory.

https://www.androidfilehost.com/?w=files&flid=284172

Everything should be good to go now (hopefully). :)

~Ibuprophen

trash739 commented 6 years ago

Sorry, Erik (@eku), but it does not work - your modded app cannot be installed at KitKat