# Mudfish Internet Accelerator for Router

{% tabs %}
{% tab title="한국어" %}

#### 작업 개요

1. 기존 공유기 펌웨어를 개발자 펌웨어로 교체
2. 개발자 펌웨어에서 OpenWrt 펌웨어로 교체
3. OpenWrt 펌웨어로 교체된 공유기에 미꾸라지 설치

전원 연결

벽 ─ \[WAN (파란 포트) | LAN (흰 포트 2개)] ─ PC 연결

브라우저에서 [http://192.168.31.1](http://192.168.31.1/) 로 접속하여 로그인

​<http://bigota.miwifi.com/xiaoqiang/rom/r1cl/miwifi_r1cl_all_59371_2.1.26.bin> 또는 <http://static.loxch.com/router/miwifi_r1cl_all_59371_2.1.26.bin> 로 수동으로 펌웨어 교체

![miwifi.com/cgi-bin/luci;stok=32자리영숫자/web/setting/upgrade](/files/-LYRwhtUbdGCl5cI_HX8)

* 1. ***기존 공유기 펌웨어를 개발자 펌웨어로 교체 완료***

브라우저에서 [http://192.168.31.1](http://192.168.31.1/) 로 다시 접속하여 로그인

아무 거나 쉬운 `패스워드1` 지정

로그인 한 후 주소에서 stok= 뒤 `32자리 영숫자` 부분 복사

브라우저에서 [http://192.168.31.1/cgi-bin/luci/;stok=`32자리영숫자`/api/xqsystem/set\_name\_password?oldPwd=`패스워드1`\&newPwd=`패스워드2`](http://192.168.31.1/cgi-bin/luci/;stok=STOK32CHARACTERS/api/xqsystem/set_name_password?oldPwd=CURRENTPASSWORD\&newPwd=NEWPASSWORD)​

> 192.168.31.1로 시작하는 주소로 접속할 때 마다 stok= 뒤 `32자리영숫자`가 매번 바뀌기 때문에 진행 중 막힐 경우 해당 값을 잘 확인하고 다시 작업을 진행해 보시기 바랍니다.

​<https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html> 에서 PuTTY 다운로드

PuTTY에서 192.168.**31**.1로 SSH 접속

{% hint style="info" %}
&#x20;SSH 접속 안 될 경우 *출처:* [*https://jingyan.baidu.com/article/9113f81b1cb2f22b3214c729.html*](https://jingyan.baidu.com/article/9113f81b1cb2f22b3214c729.html)*​*

브라우저에서 [http://192.168.**31**.1/cgi-bin/luci/;stok=32자리영숫자/api/xqnetwork/set\_wifi\_ap?ssid=tianbao\&encryption=NONE\&enctype=NONE\&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd](http://192.168.31.1/cgi-bin/luci/;stok=STOK32CHARACTERS/api/xqnetwork/set_wifi_ap?ssid=tianbao\&encryption=NONE\&enctype=NONE\&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd)

PuTTY에서 192.168.**31**.1에 **포트 23**

```bash
login as: root
password: 패스워드2​

sed -i ":x;N;s/if [.*; thenn.*return 0n.*fi/#tb/;b x" /etc/init.d/dropbear
/etc/init.d/dropbear start
nvram set ssh_en=1; nvram commit
```

으로 SSH 활성

![](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LWoc97xBPh2omTCCksD%2F-LWtqGb_P2Rp01R3517V%2F-LWtqSlKDdoYxwCWZZMl%2Fopenwrt_dropbear_2.png?alt=media\&token=f26bb6ee-3bfd-4f21-b0f3-ad9ec7128463)

![](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LWoc97xBPh2omTCCksD%2F-LWtqGb_P2Rp01R3517V%2F-LWtqaoutZfWxY_8q0RM%2Fopenwrt_dropbear_3.png?alt=media\&token=222b37cc-e7dc-413f-ad3a-c18b9c356b5a)
{% endhint %}

```bash
login as: root
root@192.168.31.1's password: 패스워드2
```

패스워드를 입력할 때 아무 변화가 없어도 입력 중이므로 정상적으로 진행한 뒤 엔터를 누르시면 됩니다.

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LWoc97xBPh2omTCCksD%2F-LWtmrZMi_zgN0-1UQ8e%2F-LWtmzQE5B1AfH8pIOfe%2Fopenwrt_ssh.png?alt=media\&token=e6fa2d38-bdf4-4eaa-a885-db8bce33f9f5)

```bash
cd /tmp
wget http://downloads.openwrt.org/releases/18.06.1/targets/ramips/mt76x8/openwrt-18.06.1-ramips-mt76x8-miwifi-nano-squashfs-sysupgrade.bin
mtd -r write /tmp/openwrt-18.06.1-ramips-mt76x8-miwifi-nano-squashfs-sysupgrade.bin firmware
```

![](/files/-Lb1xfZhVNQp3OvHqiGW)

* ***2. 개발자 펌웨어에서 OpenWrt펌웨어로 교체 완료***

PuTTY에서 192.168.**1**.1에 접속

![Open](/files/-LXP-JKNZOK_iQYieWKA)

![예(Y)](/files/-LXR7onY-y-SapjAopnH)

![](/files/-LXR7s6DBBs78LAovLS3)

```bash
login as: root
패스워드 없음
```

![](/files/-LXR8801l-eeLht4nn5m)

```bash
opkg update
opkg install kmod-tun ip zlib libpthread librt libopenssl luci luci-i18n-base-ko --verbosity
opkg install http://mudfish.net/releases/openwrt/packages-18.06/mipsel_24kc/base/mudfish-pi_2.1.18-1_mipsel_24kc.ipk --verbosity
opkg install http://mudfish.net/releases/openwrt/packages-18.06/mipsel_24kc/luci/luci-app-mudfish-pi_git-18.285.02627-b9e5d56-1_all.ipk --verbosity
```

* ***3. OpenWrt 펌웨어로 교체된 공유기에 미꾸라지 설치 완료***

![192.168.1.1](/files/-LWzjBFrHcGoBbFmSU5S)

![시스템 -> 시스템 -> 시스템 등록 정보 -> 언어와 스타일](/files/-LWttgKMW24S_HDt57pz)

![서비스 -> Mudfish -> BASIC -> Start -> 저장 & 적용](/files/-LWtu_zha7w9USDUVnyh)

위 내용은 샤오미 공유기 기준 미꾸라지 설치 방법입니다.

### 여기까지 진행하셨다면 특별한 문제가 없는 한 공유기로 미꾸라지를 이용하실 수 있습니다.

아래 내용은 미꾸라지 설치 과정을 간략화하면서 생략한 부분이며 추가로 참고하실 수 있도록 안내하고 있습니다.

#### 더 자세한 내용

미꾸라지는 다음 Instruction Sets를 지원하는 플랫폼에 탑재할 수 있습니다.

* [mipsel\_24kc](https://openwrt.org/docs/techref/instructionset/mipsel_24kc)
* [mipsel\_74kc](https://openwrt.org/docs/techref/instructionset/mipsel_74kc)&#x20;
* [mips\_24kc](https://openwrt.org/docs/techref/instructionset/mips_24kc)&#x20;
* [arm\_cortex-a7\_neon-vfpv4](https://openwrt.org/docs/techref/instructionset/arm_cortex-a7_neon-vfpv4)&#x20;
* [arm\_cortex-a9](https://openwrt.org/docs/techref/instructionset/arm_cortex-a9) &#x20;

이 중 [Xiaomi Mi WiFi Nano / Youth (R1CL)](https://openwrt.org/toh/xiaomi/nano) 은 mipsel\_24kc를 실행할 수 있습니다.

이 외에도 미꾸라지 회원님들께서

* TP-Link [Archer C7 AC1750](https://www.tp-link.com/en/products/details/Archer-C7.html) (mips\_24kc)
* GL.iNet [GL-AR300M](https://www.gl-inet.com/ar300m/) (mips\_24kc)
* Buffalo [WZR-HP-AG300H](http://buffalo.jp/products/catalog/network/wzr-hp-ag300h/) (mips\_24kc)
* Western Digital [My Net N750](https://support.wdc.com/product.aspx?ID=1702) (mips\_24kc)
* [Netgear R6250](https://openwrt.org/toh/hwdata/netgear/netgear_r6250) (arm\_cortex-a9)
* [Archer C7 AC1750](https://www.tp-link.com/en/products/details/Archer-C7.html) (mips\_24kc)

에서 작동시켰다는 보고를 해 주셨습니다.

이에 따라 [Xiaomi Mi WiFi Nano / Youth (R1CL)](https://openwrt.org/toh/xiaomi/nano) 이 아닌 router에  미꾸라지 패키지를 설치할 때 <https://mudfish.net/releases/openwrt/> 에 있는 다른 패키지로도 시도해 보실 수 있습니다.

Router에 접속하기 위해 PuTTY를 사용하도록 설명하고 있지만 [bash](https://en.wikipedia.org/wiki/Bash_\(Unix_shell\))로 SSH와 telnet 접속을 할 수 있는  [Git Bash](https://www.git-scm.com/downloads), [Windows Subsystem for Linux](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) 등 다른 console로도 시도해 보실 수 있습니다.

&#x20;[http://192.168.31.1/cgi-bin/luci/;stok=`32자리영숫자`/api/xqsystem/set\_name\_password?oldPwd=`패스워드1`\&newPwd=`패스워드2`](http://192.168.31.1/cgi-bin/luci/;stok=STOK32CHARACTERS/api/xqsystem/set_name_password?oldPwd=CURRENTPASSWORD\&newPwd=NEWPASSWORD)​를 브라우저에서 입력하는 대신 [curl](https://curl.haxx.se/dlwiz/?type=bin)을 설치하여&#x20;

```bash
# curl -d "oldPwd=your_admin_pass&newPwd=desired_root_pass" \
  "http://192.168.31.1/cgi-bin/luci/;stok=<stok from browser url>/api/xqsystem/set_name_password"
```

을 실행하셔도 됩니다. 성공할 경우 `{"code":0}` 을 출력합니다.

telnet에서도 마찬가지로 curl을 쓰시려면

```bash
# curl http://192.168.31.1/cgi-bin/luci/;stok=<stok from browser url>/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd
```

를 실행하여&#x20;

```bash
{"msg":"未能连接到指定WiFi(Connecting)","code":1616}
```

&#x20;가 출력되면 성공한 것입니다.

"SSH 접속 안 될 경우" 에 있는 안내는 포트 22인 SSH 대신 포트 23인 telnet으로 접속하여 dropbear를 통해 SSH를 접속할 수 있도록 하는 부분입니다.

{% embed url="<https://mudfish.net/forums/2/topics/38715>" %}
<https://mudfish.net/forums/2/topics/38715>
{% endembed %}

이상은 OpenWrt에 미꾸라지를 탑재하는 방법에 대한 내용입니다.

## ipTIME

#### 이하 ipTIME 공유기에서 미꾸라지를 설정하는 법에 대해서 다룹니다. 모든 ipTIME 공유기에서 미꾸라지를 지원하는 것은 아닙니다. 가지고 계신 공유기로 미꾸라지를 이용할 수 있는지 확인해 보시기 바랍니다.

![192.168.0.1](/files/-LXNYUmz0oSeAFOA-UpL)

![관리도구](/files/-LXNZ9IXTPZ1aXqVHQQ0)

![고급 설정 - 특수기능 - 게이밍 VPN - 실행 - 적용 - 설정 페이지](/files/-LXNZqyWmLbWRBPd0S9n)

공유기에서 구동하는 미꾸라지는 서버가 아닌 *클라이언트*입니다.
{% endtab %}

{% tab title="English" %}
There's a few ways to apply Mudfish at console.&#x20;

We're officially supports [Mudfish for ipTIME router](http://wiki.mudfish.net/Mudfish%20for%20ipTIME%20router).&#x20;

But actually we're not sure is the Mudfish preinstalled ipTIME shipping properly to overseas because [ipTIME](https://iptime.com/) is our 3rd party cooperator.&#x20;

Also we're officially supports some able to replaced with [OpenWRT](https://mudfish.net/docs/en/vpn/install_openwrt.html) based firmware like [Xiaomi Mi WiFi Nano / Youth (R1CL)](https://openwrt.org/toh/xiaomi/nano) but you have to get it by yourself, too.&#x20;

Theoretically, routers what included in following Instruction Sets should able to run Mudfish&#x20;

List:&#x20;

* [mipsel\_24kc](https://openwrt.org/docs/techref/instructionset/mipsel_24kc)
* [mipsel\_74kc](https://openwrt.org/docs/techref/instructionset/mipsel_74kc)&#x20;
* [mips\_24kc](https://openwrt.org/docs/techref/instructionset/mips_24kc)&#x20;
* [arm\_cortex-a7\_neon-vfpv4](https://openwrt.org/docs/techref/instructionset/arm_cortex-a7_neon-vfpv4)&#x20;
* [arm\_cortex-a9](https://openwrt.org/docs/techref/instructionset/arm_cortex-a9) &#x20;

Then we confirmed they're working fine with&#x20;

[Mi Wi-Fi Nano / Youth (R1CL)](https://www.mi.com/miwifilite/)&#x20;

[Archer C7 AC1750](https://www.tp-link.com/en/products/details/Archer-C7.html)&#x20;

[GL-AR300M](https://www.gl-inet.com/ar300m/)&#x20;

[WZR-HP-AG300H](http://buffalo.jp/products/catalog/network/wzr-hp-ag300h/)&#x20;

[My Net N750](https://support.wdc.com/product.aspx?ID=1702)&#x20;

[Netgear R6250](https://openwrt.org/toh/hwdata/netgear/netgear_r6250)

The other way is attaching multiple Network Interface Cards into your desktop or any other machine able to install [Mudfish Launcher](https://mudfish.net/download)&#x20;

[Internet Connection Sharing with Mudfish](https://mudfish.net/docs/en/vpn/references/intenet_connection_sharing.html)

Run it

* [192.168.1.1](http://192.168.1.1) → Service → [Mudfish](http://192.168.1.1/cgi-bin/luci/admin/services/mudfish-pi) → Start → Save → [Mudfish Launcher UI](http://192.168.1.1:8282)

![192.168.1.1 → Service → Mudfish → Start → Save → Mudfish Launcher UI](/files/-L_Hflg0P0xW64lkxlaT)

ipTIME

![192.168.0.1](/files/-LWzfGYPRc0qNyLvmOtl)

![Advanced Setup -> Utility -> GAMING VPN -> Start -> Apply -> Setup page](/files/-LWzeTo8Fcfl7cj39He3)
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mudfish.gitbook.io/topics/mudfish-router/mudfish-cloud-vpn-for-router.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
