Granblue Fantasy HTTPS Mudfish Support

Indeed, Mudfish in its current state no longer seems to do anything anymore for Granblue Fantasy now being forced HTTPS. I’ve used Mudfish for several years to play this game and I really hope that there might be something that can be done to make it improve the experience again.

@weongyo Can you share any thoughts on this please?

Experiencing similar latency issues since the recent forced https from gbf. I hope this is looked into as well have been using mudfish for 2 years or so now and it’s been a big help as an overseas player

1 Like

It’s the same here, I hope it’s handled faster because I can’t race in the raid.

I am also having the same issue. With mudfish the game runs slower than without

I am experiencing the same problem granblue fantasy is running very slow and feels unplayable. I hope the mudfish would look into it and see if there is a problem at their hand

I am experiencing issues with https change on the browser extension for chrome. Everything is from not loading at all to taking 3 times the amount of regular loading without even using the extension.

I think most of the users affected by this issue (changing the default protocol HTTP to HTTPS) are the user of Mudfish Browser Extension, right?

I’m not sure how much this could be helpful with Mudfish but you could check some tests as follows:

  1. Instead of using Mudfish Browser Extension, if you use Mudfish Cloud VPN program for PC after equipping “Granblue Fantasy” game item, is it even same? Could you feel that the same latency?
  2. If you’re using a user of Mudfish Browser Extension, did you enable Use the secure connection option? If then, please disable it and test again.

If Granblue Fantasy used HTTP-only in the past, it means the connection was terminated at the proxy side and proxied to the game server. However if the game starts to use HTTPS-only as default, it means the connection isn’t terminated and is continue to the game server. This is a big difference and Mudfish can’t terminate the connection at the proxy side if it’s SSL connection. If Mudfish terminates the connection, it’s called “A man in the middle (MITM) attack” and the browser rejects the connection due to invalid SSL certificates.

In a view of Mudfish Browser Extension, nothing to do regarding to TLS handshake and TLS session reuse because it’s up to the browser’s decision. :frowning:

Is there any way to force the browser to accept invalid SSL certificates?

What if you give us a root CA that we can set the browser to always trust so that we allow mudfish to MITM us?

How to Man in the Middle HTTPS Using mitmproxy - Earthly Blog seems to kind of cover that it should be possible to trick the browser into accepting the MITM attack if we manually add the certificate

using the apps and equipping the Granblue Fantasy item instead of using the browser extension completely solve the issue, however that means when im browsing while playing, the traffic will be counted to the PPT balance right :cry:

Thinking about it more, I think we would need a local proxy so that performs a MITM and then communicates to mudfish over HTTP and mudfish does HTTPS to server. I guess at that point we can just write our own proxy

@weongyo Are the mudfish servers usable with standard proxy protocol if we try to put a proxy on localhost that terminates TLS with a trusted cert? We can fix the HTTPS issue on our own but it would be nice to still be able to use Mudfish in this scenario or we lose the better routing benefits.

@here Not sure how much my trick I can suggest is helpful for you guys but I think it’s worth to test new Mudfish Browser Extension for Chrome. When you get a chance, please follow the below steps, test and let me know whether it works for you.

Steps

1. Download new Mudfish Browser Extension for Chrome.

This is found at Index of /releases/ link and this link is a direct link. After downloading it, please unzip it first at any directory.

2. Uninstall the existing Mudfish extension and load new one.

Follow the steps to load the unpacked extension.

  • Goto Chrome Settings using three dots on the top right corner.
  • Then Select Extensions. Or you may directly open extensions using chrome://extensions URL.
  • Now, enable developer mode
  • Click on “Load Unpacked” button and select your Unzip folder. Note: You need to select the folder in which the manifest file exists.
  • The extension will be installed now.

3. Opens “option” menu of Mudfish Browser Extension.

New option page looks like below.

Click “Advanced” tab. At “PAC” section, please change the body as follows. This rule is to add shExpMatch(url, "https://*.akamaized.net/*") line not to proxy *.akamaized.net domains.

function FindProxyForURL(url, host) {
  host = host.toLowerCase();
  if (isPlainHostName(host) ||
      isInNetEx(host, "127.0.0.0/8") ||
      isInNetEx(host, "10.0.0.0/8") ||
      isInNetEx(host, "172.16.0.0/12") ||
      isInNetEx(host, "192.168.0.0/16") ||
      isInNetEx(host, "fc00::/7") ||
      isInNetEx(host, "fe80::/10") ||
      shExpMatch(url, "https://*.akamaized.net/*") ||
      shExpMatch(url, "http://mudfish.net/*") ||
      shExpMatch(url, "https://mudfish.net/*")) {
        return "DIRECT";
  }
  return "{0}";
}

If this works for your game, the game assets (e.g. images, movies and scripts) provided by Akamai CDN will be accessed directly via the browser.

4. Turn on Mudfish extension, connects the game and test again.

It’s done. I hope it’s helpful a little bit for your gaming experience.

1 Like

I’ve tried it just the same as usual, there is no change in me, I don’t know if others are the same as me.

Yes, this update made the extension more responsive (the performance is similar but no better than the full VPN mode). Unfortunately, the said game has chosen to use HTTP/1.1 protocol instead of HTTP/2, which made it difficult for competitive foreign players to play due to the distance. Regardless, thank you for taking the time to help improve the situation, @weongyo

Hello. Thank you very much for your time coming up with a solution. Unfortunately, this fix does not work for me, and the game still responds slower with mudfish on rather than off. I don’t know if this is helpful information but I was connected to Tokyo - TinMok 5.

HTTP is back but only temporarily, I hope Team Mudfish can find a way to keep Mudfish fast on HTTPS.

Thank you for these tests. It seems few people gets some improvements but most of people doesn’t get any improvements. :frowning:

So if I analyzed this issue properly, the fundamental issue is reusing TCP connection to the game server in Mudfish node. In the past that the game connection was HTTP based, it was possible to reuse the connection to the game server because HTTP protocol was parsed.

However if it’s changed to HTTPS, in a view of Mudfish node, it’s not possible to HTTPS traffics and it can’t reuse the connections to the game server. To solve this issue, as metioned by @comonad, we need a proxy (at local or remote) terminating TLS connection with a trusted cert and proxying the connection to the game server.

At this point, Mudfish doesn’t support the faked root certificate to proxy the HTTPS traffics.

1 Like

Some HTTPS improvements on Cygames’ end have shipped out earlier today and people have been having success again using Mudfish alongside it. I’m not tech-knowledgeable enough to understand it but just wanted to let you know! Thank you for assisting us as well up to this point.