************************** Installation (for Desktop) ************************** Mudfish is an application which could be used to avoid the network congestion by changing the physical routing path through Mudfish VPN servers. Please check the below table of contents: .. contents:: :local: Download ======== The latest package found at the download section of https://mudfish.net . The packages for 32 bit and 64 bit machines are available. For Windows =========== Install and Uninstall --------------------- Install ^^^^^^^ The first screen of Mudfish installer is the component menu. .. image:: _static/setup_1_instopt.png :align: center :alt: Select components There are two components and each item installs as follows: * Mudfish - Core Binaries Core files. Three programs are contained that Mudfish Core, Mudfish Flow Controller and Mudfish Launcher. * TAP-Win32 Adapter v9 Miniport adapter working with core programs. tap0901 driver distributed by OpenVPN technology Inc. will be installed. Next step is an installation folder selection. In this document we assume that you install the program at ``C:\Program Files\Mudfish Cloud VPN`` ( ``C:\Program Files (x86)\Mudfish Cloud VPN`` for 64-bit machine). .. image:: _static/setup_2_instfolder.png :align: center :alt: Select installation folder After selecting the install folder then click 'Install' button. .. image:: _static/setup_3_cert.en.jpg :align: center :alt: Error screen on the certificate If it's your first installation for Mudfish, you could encounter the following warning messages to install TAP-Win32 Adapter v9. This network driver **must** be installed. If you're a Windows 7 user, the following dialog box could come up. .. image:: _static/setup_3_cert_w7.en.png :align: center :alt: Diaglog box of Windows 7 Keeps going to install. .. image:: _static/setup_4_done.en.png :align: center :alt: Completed Uninstall ^^^^^^^^^ With Windows Explorer, please move to ``C:\Program Files\Mudfish Cloud VPN`` folder (``C:\Program Files (x86)\Mudfish Cloud VPN`` in 64-bit machine). Just run ``uninstall.exe`` file. It will uninstall all files and directory including TAP-Win32 Adapter v9 driver. How to use ---------- Mudfish consists of three programs that Mudfish Core (mudfish.exe), Mudfish Flow Controller (mudflow.exe) and Mudfish Launcher (mudrun.exe). Each program's roles are as follows: * Mudfish Core (mudfish.exe) Core program to handle the routing table, RX/TX packets and the communication between Master server. Command line options are also available to launch it at Windows console. * Mudfish Flow Controller (mudflow.exe) Flow controller to manage the routing table and RTT measurement. * Mudfish Launcher (mudrun.exe) Web UI based on the reverse proxy. Launch it! ^^^^^^^^^^ Let's launch Mudfish Launcher. * Opens "Mudfish Launcher" from "All Programs" -> Mudfish". If you're a Windows Vista or any later version like 7/8/8.1 and 10 user it should run as administrator privileges by right-clicking on "Mudfish Launcher" icon, and selecting "Run as administrator". .. image:: _static/mudrun_run.en.png :align: center If it works with problems, your default browser will be opened and move to http://127.0.0.1:8282 Port number could be vary that one of random number (1024 - 65535) if port 8282 is in use. Sign in ^^^^^^^ If Mudfish Launcher is working correctly, your default browser will be launched then automatically visit the Web UI as follows: .. image:: _static/qs_signin.en.png :align: center :alt: Sign in for "Mudfish Launcher" How to use Mudfish Launcher ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following screen will be shown when the sign-in process was good. .. image:: _static/qs_dashboard.en.png :align: center :alt: "Mudfish Launcher" Dashboard Now it's ready to use all Mudfish nodes. Stop Mudfish ^^^^^^^^^^^^ Clicks the exit menu of Mudfish's system tray icon if you want to terminate. If it's not existed properly, the following processes should be killed by Task Manager: * mudfish.exe * mudflow.exe * mudrun.exe For Mac OS X ============ Install and Uninstall --------------------- Install ^^^^^^^ We assume that you downloaded a Mudfish package from the download page and the file extension of package is ".dmg". With double-clicking the file, it'll be mounted on the OS and show the folder. You can install the Mudfish by copying the icon into Applications folder. .. image:: _static/macosx_installer_main.png :align: center Like other applications, the drag-and-drop into Applications folder is all to install .. warning:: Please note that just clicking the Mudfish icon on .dmg image would not work. It's required to install it into the Applications to run. Uninstall ^^^^^^^^^ Like other applications, moving the application icon into Trash is all. However if you'd like to remove manually, the below command could be used to remove all files. .. code-block:: bash $ sudo rm -rf /Applications/Mudfish\ Cloud\ VPN.app/ How to use ---------- Mudfish consists of three programs that Mudfish Core (mudfish), Mudfish Flow Controller (mudflow) and Mudfish Launcher (mudrun). Each program's roles are as follows: * Mudfish Core (mudfish) Core program to handle the routing table, RX/TX packets and the communication between Master server. Command line options are available to launch it at console. * Mudfish Flow Controller (mudflow) Flow controller to manage the routing table and RTT measurement. * Mudfish Launcher (mudrun) Web UI based on the reverse proxy. Launch it! ^^^^^^^^^^ .. warning:: As some security reasons, running the Mudfish could be blocked with the following window: .. image:: _static/macosx_installer_secwarn_en.png :align: center Then you should manually add the application at the exceptional list which is available at 'System Preferences -> Security & Privary' menu. .. image:: _static/macosx_installer_sec_en.png :align: center When it's launched, it'll ask your root's password. .. image:: _static/macosx_installer_auth_en.png :align: center If it works successfully, the icon will be shown on the top-right as follow. .. image:: _static/macosx_menulet.png :align: center Please note that Mudfish requires root permission to launch because * It needs to use raw-socket interface for calculating RTT (Round Trip Time) with ICMP protocol. * It needs to modify the system routing table for redirecting the specific traffic. * It needs to launch dhclient(8) for fetching IP address. When it's launched, it opens a listening address at 127.0.0.1:8282 accessible with web browser using http://127.0.0.1:8282 Sign in ^^^^^^^ If Mudfish Launcher is working correctly, your default browser will be launched when you click 'Open Dashboard' menu on the Mudfish menulet icon as follows: .. image:: _static/qs_signin.en.png :align: center :alt: Sign in for "Mudfish Launcher" How to use Mudfish Launcher ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following screen will be shown when the sign-in process was good. .. image:: _static/qs_dashboard.en.png :align: center :alt: "Mudfish Launcher" Dashboard Now it's ready to use all Mudfish nodes Stop Mudfish ^^^^^^^^^^^^^ At the Mudfish menulet icon, the exit menu is available to terminate. If you'd like to kill all Mudfish processes, the following is processes used by Mudfish application. * mudfish * mudflow * mudrun For Linux =========== Install and Uninstall --------------------- Install ^^^^^^^ We assume that that you downloaded a Mudfish package from the download page and its file extension is ``.sh``. .. code-block:: bash $ wget http://static.loxch.com/releases/mudfish-4.3.16-linux-x86_64.sh $ sudo sh mudfish-4.3.16-linux-x86_64.sh Verifying archive integrity... All good. Uncompressing Mudfish v4.3.16...... Installation is done under /opt/mudfish/4.3.16. $ ls -l /opt/mudfish/4.3.16/bin/ At linux package, there are three executable binary files and the installation path would be always ``/opt/mudfish/$(VERSION)/bin/``. Please note that ``$(VERSION)`` is vary depending on what version you're installed. Uninstall ^^^^^^^^^ The below command could be used to remove Mudfish package. .. code-block:: bash $ sudo rm -rf /opt/mudfish/4.3.16/ How to use ---------- Mudfish consists of three programs that Mudfish Core (mudfish), Mudfish Flow Controller (mudflow) and Mudfish Launcher (mudrun). Each program's roles are as follows: * Mudfish Core (mudfish) Core program to handle the routing table, RX/TX packets and the communication between Master server. Command line options are available to launch it at console. * Mudfish Flow Controller (mudflow) Flow controller to manage the routing table and RTT measurement. * Mudfish Launcher (mudrun) Web UI based on the reverse proxy. Launch it! ^^^^^^^^^^ Let's launch Mudfish Launcher. The version could vary depending on your package. .. code-block:: bash $ sudo /opt/mudfish/4.3.16/bin/mudrun Mudfish requires root permission to launch because * It needs to use raw-socket interface for calculating RTT (Round Trip Time) with ICMP protocol. * It needs to modify the system routing table for redirecting the specific traffic. * It needs to launch dhclient(8) for fetching IP address. When it's launched, it opens a listening address at 127.0.0.1:8282 accessible with web browser using http://127.0.0.1:8282 Sign in ^^^^^^^ On Linux system you should manually open the browser and access to Mudfish UI which is normally available at http://127.0.0.1:8282 .. image:: _static/qs_signin.en.png :align: center :alt: Sign in for "Mudfish Launcher" How to use Mudfish Launcher ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following screen will be shown when the sign-in process was good. .. image:: _static/qs_dashboard.en.png :align: center :alt: "Mudfish Launcher" Dashboard Now it's ready to use all Mudfish nodes. Stop Mudfish ^^^^^^^^^^^^ Terminates mudrun process with Ctrl-C if you're running as foreground process or kill(1) it.