Mudfish App for Android
This section describes how to use the mudfish app for Android. You can install it by searching for "Mudfish" n the Play Store.
Introduction
Differences between Android and Desktop
Here's summary what's differences between mudfish app for iOS and mudfish vpn for desktop.
For mudfish app, it supports two mode; Full VPN mode and Per-app VPN mode. So you can pick whather apps you'd like to apply in the configuration menu.
At mudfish app, it doesn't apply "item configuration / program settings" which set from mudfish vpn for desktop. The configuration of mudfish app is completely separated.
Your data plan is shared. If your data plan is PPT (Pay Per Traffic), your credit usage will be charged how much you used.
However if your data plan is Subscription, no extra credit charges but the speed cap.
Mudfish credits are shared cross mudfish services. So you can use it at both mudfish apps and mudfish other services.
How to use at App Players
If you want to use mudfish app for Android at App Players such as Bluestacks, Nox, you should use mudfish app built for Android API 21. You can install it as follows:
Download API file at https://mudfish.net/releases/ link. The file ending with -21 (e.g. net.mudfish.vpn-release-4.4.12-21.apk) means it's for API 21.
To install APK file, please drag and drop the file into the app player.
Menu
Front
Front screen is the sign-in scrrent. By clicking (Plus) icon, you can sign up.
If you want to keep the sign-in alive, you can use "Remember Me" button.
Main screen
This is the screen you see after logging in. You will see summary information about various functions, and when you click on each item, detailed information will be displayed. The current items are respectively:
Credits
Shows the credits currently linked to your account. When you click on the item, you will be taken to the credit purchase menu.
Rate plan
It shows brief information about the rate plan you are currently using. Clicking on that item will take you to the rate plan change screen.
Nodes
Shows information about the Mudfish nodes to be currently used. If you click on the item, you can see the screen for changing the mudfish node.
Node Mode
Currently, the Mudfish app supports the following node modes.
Basic mode
In the basic mode, the destination is reached through one Mudfish node.
Multi-Path mode
In Multi-Path mode, the destination is reached via 2 to 3 mudfish nodes.
Basically, it uses the mudfish node set by the user, and additionally uses other relay servers that are deemed optimal to reach the destination.
Simple FEC mode
Simple FEC mode is designed for users who experience packet loss at their local ISP.
By transmitting the same packet multiple times, even if packet loss occurs in the middle, another packet replaces it.
Buy credits
Configuration
It can be used to change the configuration of mudfish app.
MTU configuration
If you want to change default MTU (Maximum Transmission Unit), it can be used.
Packet Dump
This menu could be used to capture the packets. To perform the packet dump, you can do as follows:
Launch the mudfish app and login with your ID/PWD.
Visit 'Preferences' menu of mudfish app and clicks "Packet Dump" option.
Go back to the main screen and touch 'Connect' button after picking up a mudfish node you'd like to use.
Reproduce your problem or play the game.
Touch 'Disconnect' menu when you completed to reproduce the issue or when you think packets are enough collected.
Visit 'Preferences' menu and turn off 'Packet Dump'.
Touch 'Packet Dump Upload' option and upload it after explaining it briefly.
Release Notes
4.8.5 (2024-04-16)
No longer $2.99 price at the app due to the change of the pricing policy.
Adds a button at the Login screen to enable / disable the firewall bypass mode.
Fixed a buffer overflow issue when the input packet is malformed.
4.7.4 (2023-06-24)
Fixes some crash issues due to null pointer issue.
Adds a warning alert if the battery optimization is enabled for Mudfish app.
Adds a warning alert if Data Saving mode is enabled.
Applies an adaptive icon.
Be more verbose for UI move and adjusted the logging level.
4.6.3 (2023-03-03)
- Fixes a bug that on some devices, calling setrlimit() doesn't work.
4.6.2 (2023-03-02)
- Fixed a launcher permission issue.
4.6.1 (2023-02-26)
- Changed the minimum SDK version from 28 to 25.
- Be more verbose when the app starts to log a edge case that chdir() doesn't work properly.
- Logs the model and version information.
4.5.8 (2022-09-21)
- Uses startForegroundService() method to trigger VPN connection.
- Fixed one exception to crash the app crash.
4.5.7 (2022-09-09)
Support the configuration synchronization feature which saves and loads your mudfish app configuration into mudfish server.
Fixed some edge cases triggered by unexpected exceptions.
Adds a filtering option of mudfish nodes to support the case-insensitive or case-sensitive search.
Tags more error or warning messages.
4.5.5
Fixed some app crash issues at edge cases.
When the auto-login token is expired at beginning of the month, the app will be refreshed properly.
Adds 'Find username' and 'Find password' icons at the login screen.
4.5.4
Makes the VPN service in the foreground not to be killed by the system.
Fixes a crash while checking the credit dialog.
Fixed a crash when JNI calls aren't initialized yet.
4.5.3
- Fixed a crash on the login screen.
4.5.2
Fixed a bug of EBADF error. It was trigged by wrong use of ParcelFileDescriptor class.
Includes the RTT test logs in the problem report.
Fixed a crash issue while setting the configuration.
Fixed a crash issue while signing up to show the progress bar.
Shows a message properly if the data plan hits the speed cap.
4.5.1
- Implements the multi-path mode.
4.4.50
Requires ACCESS_NETWORK_STATE to check that it solves EPERM issue of the socket.
Code clean ups for ping checks. Now as default, it performs the RTT calculation to mudfish nodes.
Shows the recommended pathes for the per-app item if it's possible to show.
Some UI changes to show the data plan properly.
Saves the filtering pattern for the listing of mudfish nodes.
Fixed a crash issue if
fd
is larger than FD_SETSIZE.
4.4.46
Syncs the user configuration for android if you're using Per-App VPN.
Syncs the item configuration for Per-App VPN.
Fixed an exception issue crashing the app.
Added one more firewall check via HTTP request.
Error Codes
In this section, I'll describe each of the error codes that can come up using the Mudfish Android app and describe their solutions.
If the problem is not solved by the methods described below, please ask at the Mudfish Forum.
MUDEXP_00001
Firewall bypass feature is currently disabled.
This message means that the mudfish disabled the authentication via the firewall bypass feature temporarilly.
Normally it happens when Mudfish web site is under DDoS attack. Please don't use the firewall bypass feature. Or please use Mudfish under the environment where no the network firewall exists.
MUDEXP_00023
Failed to get information: (num)
This error can be caused by poor authentication with the mudfish authentication server. Depending on (num), its reason could be different. The reason for each (num) is as follows:
-1
This code means that the TCP connection to the mudfish master server failed to establish due to some unexpected reason.
Please check that there's a network firewall preventing the connection or try to change the network from WIFI to LTE/5G or LTE/5G to WIFI.
-2
This can occur if the connection to the Mudfish Authentication Server is established, but the response cannot be received after sending authentication information.
Usually, in this case, please check that there's a network firewall on your network that prevents you from connecting to the mudfish server, or if your personal firewall / antivirus program is blocking the connection.
-3
This number indicates that your ID/PWD isn't correct or found. Please try to sign out and sign in again. To sign up, you can find a menu at the app configuration.
-9
This number indicates that the authentication using the same ID was repeated several times within a short period of time so your connection was blacklisted by the authentication daemon.
When this error occurs, please stop using the mudfish for a while and try connecting again after about 5 minutes.
MUDEXP_00025
Failed to fetch the staticnodes. (r <error_num>
)
This message means that Mudfish app failed to fetch the information of mudfish nodes.
MUDEXP_00026
Failed to get the default gateway for DNS (sid <sid>
)
This issue means there's a problem to communicate with mudfish RTT server. When this issue happens, other mudfish error codes already are logged to show the details.
Please check that there's a network firewall between your phone and mudfish master servers. As temporary workaronds,
Please terminate the mudfish app completely and restart the mudfish app.
Or try to pick another mudfish node to use.
MUDEXP_00034
No mudfish credits available.
This error message indicates one of the followings:
If your data plan is PPT (Pay-Per-Traffic), the issue is caused by lack of mudfish credits. Please purchase mudfish credits at https://mudfish.net/admin/credits/buy link.
If your data plan is SUB (Subscriptioin), normally you don't have buy the Subscription voucher. For details, please visit Policy change for Data Plan - 20210607 link.
MUDEXP_00035
Can't use the mudfish node you picked.
In the case of this error, if you try to use the mudfish node picked in the mudfish app, but for some reason it can not be used, it could happen. It usually comes out for the following reasons.
If you have a PPT(Pay Per Traffic) data plan but no paid items are equipped.
In this case, log in to https://mudfish.net and equip at least one paid item.
If the mudfish server is dead, this could happen. Then try to log out and log back in to the app to get the latest relay server information.
MUDEXP_00046
Failed to do auto-login: <errno>
This error message means Mudfish App failed to perform the auto-login due to
<errno>
. Each <errno>
points:
-3
This includes multiple meaning. Mostly, the token which used to perform the auto-login is no longer valid or expired.
MUDEXP_00079
talkc_open() fail.
This error indicates that there's a problem to connect to mudfish RTT daemon. Normally other error messages is already logged before showing this message.
MUDEXP_00099
Failed to prepare VPN interface.
This error means that the Mudfish app is not prepared to create a VPN profile on the system or is revoked while creating a VPN profile.
Please check that you're using other VPN programs or running. Sometimes other VPN prgoram running triggers this issue.
MUDEXP_00124
Testing to mudfish.net:443 failed.
This error means that it failed to connect "mudfish.net:443". Due to this issue, the mudfish app enables the firewall bypass mode.
Please check your network has the network firewall which filters accesses to Mudfish.
MUDEXP_00160
tun -> server: Got <exception>
This error points that it failed to send UDP packet due to <exception>
error. It shows more details about why:
java.io.IOException: sendto failed
EPERM (Operation not permitted)
This error indicates that sendto(2) operatioin for UDP (this UDP is used by the mudfish communicateion between app and mudfish node) is blocked by some reason.
Please check you're using a firewall app on your phone or there's OS-dependent configuration to block mudfish.
MUDEXP_00246
VSS_open(14.63.221.44:443) failed: <error_code>
<error_number>
.
Please check MUDEXP_00262
error link for details. This is triggered by
the same reason mentioned in MUDEXP_00262
section.
MUDEXP_00251
talkc__recv() error.
This error indicates that there's a problem to communicate between your phone and mudfish RTT daemon. Normally other error messages will follow up to point the detailed reason.
MUDEXP_00253
VSS_open(14.63.223.218:443) failed: <error_code>
<error_number>
.
For this error code, please check the below MUDEXP_00262 error section. The reason is same.
MUDEXP_00262
VSS_open(14.63.214.216:10010) failed: <error_code>
<error_number>
. Try next.
This error means that there's a problem to communicate between your phone and
mudfish RTT daemon. <error_code>
points more details:
2 SELECT_TIMEOUT
This means that there's no response from mudfish RTT daemon for a while. This could happen if 1) mudfish RTT daemon is down or 2) there's a network firewall which blocks the connections to Mudfish.
4 CONNECT_ERROR
This error means that it failed to perform connect(2) to the mudfish master server.
<error_number>
points why it failed to connect:101 ENETUNREACH
Network is unreachable. By some unknown reason, the network is unreachble to the mudfish master server. Please check what kind apps you're running in the background.
MUDEXP_00263
VSS_open(14.63.214.216:10009) failed: <error_code>
<error_number>
. Try next.
For this error code, please check the above MUDEXP_00262 error section. The reason is same.
MUDEXP_00267
connect(2) fail: <errno>
<err_string>
This warning means that it failed to calculate RTT (Round Trip Time) between
your mobile phone and mudfish nodes using TCP protocol. Please check <errno>
at below for details:
101 Network is unreachable
This code means the network is unreachable where Mudfish app tried to connect.