EFForg / https-everywhere

A browser extension that encrypts your communications with many websites that offer HTTPS but still allow unencrypted connections.
https://eff.org/https-everywhere
Other
3.37k stars 1.09k forks source link

Google App Engine rule breaks sound in Flash game "Realm of the Mad God" #9667

Closed confluence closed 6 years ago

confluence commented 7 years ago

Affected URL: http://www.realmofthemadgod.com/

Tested in Firefox 53.0 with Adobe Flash 25 on Ubuntu 16.10.

While sound can be turned on and off in the game settings, this rule prevents sound from being played even if it is switched on (the same game issue has previously been traced to players using certain web proxies, so I assume that it has something to do with specific web requests failing).

J0WI commented 7 years ago

Can you provide any output from the browser console?

confluence commented 7 years ago

I can. I don't see any failures to load resources when the App Engine rule is on -- just an absence of requests for the audio files which I see when the rule is off. I definitely have all log levels enabled in the "Net" menu in the console.

Rule on:

GET http://www.realmofthemadgod.com/ [HTTP/1.1 304 Not Modified 370ms] GET http://www.realmofthemadgod.com/js/AC_OETags.js [HTTP/1.1 304 Not Modified 40ms] GET http://www.realmofthemadgod.com/js/jquery-1.8.0.min.js [HTTP/1.1 304 Not Modified 47ms] GET http://www.realmofthemadgod.com/js/rotmg.UrlLib.js [HTTP/1.1 304 Not Modified 48ms] GET http://www.realmofthemadgod.com/js/rotmg.KabamPayment.js [HTTP/1.1 304 Not Modified 59ms] GET http://www.realmofthemadgod.com/js/rotmg.Paymentwall.js [HTTP/1.1 304 Not Modified 78ms] GET http://www.realmofthemadgod.com/js/rotmg.Marketing.js [HTTP/1.1 304 Not Modified 75ms] GET http://www.realmofthemadgod.com/js/rotmg.SalesForce.js [HTTP/1.1 304 Not Modified 113ms] GET http://www.realmofthemadgod.com/js/rotmg.Xsolla.js [HTTP/1.1 304 Not Modified 109ms] GET http://www.realmofthemadgod.com/css/rotmg.common.css [HTTP/1.1 304 Not Modified 215ms] GET https://static.xsolla.com/embed/paystation/1.0.6/widget.min.js [HTTP/1.1 200 OK 1414ms] GET http://payv2.kabam.com/js/jquery-1.7.1.min.js [HTTP/1.1 200 OK 1270ms] GET http://payv2.kabam.com/js/KBPAY_api.js [HTTP/1.1 200 OK 674ms] GET https://kabam1-a.akamaihd.net/pixelkabam/html/pixels/rmgdirectp2.html [HTTP/1.1 200 OK 0ms] GET http://www.realmofthemadgod.com/images/DecaLogoWhite.png [HTTP/1.1 304 Not Modified 206ms] GET http://www.realmofthemadgod.com/AGCLoader1493315063.swf [HTTP/1.1 304 Not Modified 41ms] GET http://www.realmofthemadgod.com/version.txt [HTTP/1.1 200 OK 337ms] GET http://www.realmofthemadgod.com/AssembleeGameClient1493315063.swf [HTTP/1.1 200 OK 0ms] GET https://realmofthemadgodhrd.appspot.com/crossdomain.xml [HTTP/2.0 200 OK 0ms] POST https://realmofthemadgodhrd.appspot.com/app/getLanguageStrings [HTTP/2.0 200 OK 338ms] POST https://realmofthemadgodhrd.appspot.com/app/init [HTTP/2.0 200 OK 421ms] POST https://realmofthemadgodhrd.appspot.com/char/list [HTTP/2.0 200 OK 1894ms] POST https://realmofthemadgodhrd.appspot.com/dailyLogin/fetchCalendar [HTTP/2.0 200 OK 1385ms] POST https://realmofthemadgodhrd.appspot.com/inGameNews/getNews [HTTP/2.0 200 OK 306ms] POST https://realmofthemadgodhrd.appspot.com/package/getPackages [HTTP/2.0 200 OK 445ms] POST https://realmofthemadgodhrd.appspot.com/app/globalNews [HTTP/2.0 200 OK 309ms] POST https://realmofthemadgodhrd.appspot.com/mysterybox/getBoxes [HTTP/2.0 200 OK 417ms] GET https://storage.googleapis.com/rotmg_images/Mystery%20Boxes/KeysExtravaganza.png [HTTP/2.0 200 OK 0ms] GET https://storage.googleapis.com/rotmg_images/Mbox%202017/Maiden%20Box.png [HTTP/2.0 200 OK 0ms] GET https://storage.googleapis.com/rotmg_images/Mystery%20Boxes/SAJP.png [HTTP/2.0 200 OK 0ms] GET https://storage.googleapis.com/rotmg_images/Mystery%20Boxes/SkuldReduxBox.png [HTTP/2.0 200 OK 0ms]

Rule off:

GET http://www.realmofthemadgod.com/ [HTTP/1.1 304 Not Modified 344ms] GET http://www.realmofthemadgod.com/js/AC_OETags.js [HTTP/1.1 304 Not Modified 41ms] GET http://www.realmofthemadgod.com/js/jquery-1.8.0.min.js [HTTP/1.1 304 Not Modified 44ms] GET http://www.realmofthemadgod.com/js/rotmg.UrlLib.js [HTTP/1.1 304 Not Modified 47ms] GET http://www.realmofthemadgod.com/js/rotmg.KabamPayment.js [HTTP/1.1 304 Not Modified 49ms] GET http://www.realmofthemadgod.com/js/rotmg.Paymentwall.js [HTTP/1.1 304 Not Modified 77ms] GET http://www.realmofthemadgod.com/js/rotmg.Marketing.js [HTTP/1.1 304 Not Modified 76ms] GET http://www.realmofthemadgod.com/js/rotmg.SalesForce.js [HTTP/1.1 304 Not Modified 74ms] GET http://www.realmofthemadgod.com/js/rotmg.Xsolla.js [HTTP/1.1 304 Not Modified 147ms] GET http://www.realmofthemadgod.com/css/rotmg.common.css [HTTP/1.1 304 Not Modified 145ms] GET https://static.xsolla.com/embed/paystation/1.0.6/widget.min.js [HTTP/1.1 200 OK 1411ms] GET http://payv2.kabam.com/js/jquery-1.7.1.min.js [HTTP/1.1 200 OK 2564ms] GET http://payv2.kabam.com/js/KBPAY_api.js [HTTP/1.1 200 OK 808ms] GET https://kabam1-a.akamaihd.net/pixelkabam/html/pixels/rmgdirectp2.html [HTTP/1.1 200 OK 0ms] GET http://www.realmofthemadgod.com/images/DecaLogoWhite.png [HTTP/1.1 304 Not Modified 315ms] GET http://www.realmofthemadgod.com/AGCLoader1493315063.swf [HTTP/1.1 304 Not Modified 41ms] GET http://www.realmofthemadgod.com/version.txt [HTTP/1.1 200 OK 407ms] GET http://www.realmofthemadgod.com/AssembleeGameClient1493315063.swf [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/button_click.mp3 [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/death_screen.mp3 [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/enter_realm.mp3 [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/inventory_move_item.mp3 [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/level_up.mp3 [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/loot_appears.mp3 [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/no_mana.mp3 [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/use_key.mp3 [HTTP/1.1 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/use_potion.mp3 [HTTP/1.1 304 Not Modified 398ms] GET http://realmofthemadgodhrd.appspot.com/music/sorc.mp3 [HTTP/1.1 200 OK 0ms] GET https://realmofthemadgodhrd.appspot.com/crossdomain.xml [HTTP/2.0 200 OK 0ms] GET http://realmofthemadgodhrd.appspot.com/sfx/error.mp3 [HTTP/1.1 304 Not Modified 382ms] POST https://realmofthemadgodhrd.appspot.com/app/getLanguageStrings [HTTP/2.0 200 OK 463ms] POST https://realmofthemadgodhrd.appspot.com/app/init [HTTP/2.0 200 OK 312ms] POST https://realmofthemadgodhrd.appspot.com/char/list [HTTP/2.0 200 OK 929ms] POST https://realmofthemadgodhrd.appspot.com/dailyLogin/fetchCalendar [HTTP/2.0 200 OK 1303ms] POST https://realmofthemadgodhrd.appspot.com/inGameNews/getNews [HTTP/2.0 200 OK 322ms] POST https://realmofthemadgodhrd.appspot.com/package/getPackages [HTTP/2.0 200 OK 467ms] POST https://realmofthemadgodhrd.appspot.com/app/globalNews [HTTP/2.0 200 OK 307ms] POST https://realmofthemadgodhrd.appspot.com/mysterybox/getBoxes [HTTP/2.0 200 OK 334ms] GET https://storage.googleapis.com/rotmg_images/Mystery%20Boxes/KeysExtravaganza.png [HTTP/2.0 200 OK 0ms] GET https://storage.googleapis.com/rotmg_images/Mbox%202017/Maiden%20Box.png [HTTP/2.0 200 OK 0ms] GET https://storage.googleapis.com/rotmg_images/Mystery%20Boxes/SAJP.png [HTTP/2.0 200 OK 0ms] GET https://storage.googleapis.com/rotmg_images/Mystery%20Boxes/SkuldReduxBox.png [HTTP/2.0 200 OK 0ms]

Diff (after differing times have been stripped out):

18a19,28

GET http://realmofthemadgodhrd.appspot.com/sfx/button_click.mp3 [HTTP/1.1 200 OK XXXms] GET http://realmofthemadgodhrd.appspot.com/sfx/death_screen.mp3 [HTTP/1.1 200 OK XXXms] GET http://realmofthemadgodhrd.appspot.com/sfx/enter_realm.mp3 [HTTP/1.1 200 OK XXXms] GET http://realmofthemadgodhrd.appspot.com/sfx/inventory_move_item.mp3 [HTTP/1.1 200 OK XXXms] GET http://realmofthemadgodhrd.appspot.com/sfx/level_up.mp3 [HTTP/1.1 200 OK XXXms] GET http://realmofthemadgodhrd.appspot.com/sfx/loot_appears.mp3 [HTTP/1.1 200 OK XXXms] GET http://realmofthemadgodhrd.appspot.com/sfx/no_mana.mp3 [HTTP/1.1 200 OK XXXms] GET http://realmofthemadgodhrd.appspot.com/sfx/use_key.mp3 [HTTP/1.1 200 OK XXXms] GET http://realmofthemadgodhrd.appspot.com/sfx/use_potion.mp3 [HTTP/1.1 304 Not Modified XXXms] GET http://realmofthemadgodhrd.appspot.com/music/sorc.mp3 [HTTP/1.1 200 OK XXXms] 19a30 GET http://realmofthemadgodhrd.appspot.com/sfx/error.mp3 [HTTP/1.1 304 Not Modified XXXms]

AssembleeGameClient1493315063.swf is the actual game file.

I see that the mp3s are the only requests to the appspot domain that use http URLs. I have tried loading one of them using an https URL and it works, so it looks like the rewriting itself is not a problem.

I guess that the requests for the mp3s are triggered by the loading of the game somehow, but it's not clear to me why they are not made at all when the rule is on. Is the game detecting some kind of state? How, without making any requests?

I can report this to the game developers as a bug, but I would like to gather any information from this side that might help to diagnose the problem.

confluence commented 7 years ago

If you would like the verbose output for any of these logs, please let me know.

J0WI commented 7 years ago

Smells like a CORS issue with the crossdomain.xml

confluence commented 7 years ago

Would that be their bug to fix?

J0WI commented 7 years ago

You can try to exclude http://realmofthemadgodhrd.appspot.com/crossdomain.xml

gloomy-ghost commented 6 years ago

massive close per #15157