Skip to content

Instantly share code, notes, and snippets.

@sitsh
Created March 28, 2019 06:13
Show Gist options
  • Star 14 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save sitsh/4afd4f7d4b18083c9ebad25adef48599 to your computer and use it in GitHub Desktop.
Save sitsh/4afd4f7d4b18083c9ebad25adef48599 to your computer and use it in GitHub Desktop.
# GLiNet MT300N-V2 安装 SSR plus 插件
GLiNet 是一家 生产 便携路由的国内厂商 好像外销为主。
最主要的是他家 路由系统采用的是开源 OpenWrt 系统 并在github 上开源 并提供sdk 和 很多插件
但是国内政策的关系 国内买到的路由器固件内 并没有提供直接安装 SS SSR V2ray 的方法。
经过在 恩三论坛 学习了下(www.right.com.cn) 已经成功把lean 开源的(https://github.com/coolsnowwolf/lede.git) SSR plus 插件 成功的安装到了 MT300N-V2 固件中,下面记录一些安装步骤。
ps: 这台路由用的MT7628nn 方案 你也可以用 网上一些 已经编译好的固件 比如 老毛子Pavavan Lean大佬的Lede等等 GLiNet 有自家刷不死的 uboot 可玩性很高。这里没有直接去刷第三方固件是因为喜欢他们家定制的UI 可以 比较方便的启用ap 模式加入网络。所以就想着 自建编译ipk 插件在 开源的openwrt 固件内安装 大雕的 SSR Plus 插件。
![1af591f222e7f1e9bc5c5f1ea8b22fdb.png](https://i.jpg.dog/img/1af591f222e7f1e9bc5c5f1ea8b22fdb.png)
## 需要准备的环境和工具
* 一台 全局翻墙的 Linux(我这里用了ubuntu18.04 Lts)
* 大雕老大 开源的插件 [Git-Lede](https://github.com/coolsnowwolf/lede)
* GLiNet 官方 [ramips-SDK](https://github.com/gl-inet/sdk/tree/master/ramips)
* 还有一台 [MT300N-v2](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.157c2e8dX1U3S3&id=555120245987&_u=d1jfkop53a2&qq-pf-to=pcqq.c2c) (op 18.06 版本 3的固件)
* SSH客户端 这里用了 Xshell 和 Xftp 6
## ipk 编译过程
* 不要用 root 用户 git 和编译!!!
* 分别解压 官方sdk 和 lede
把lede package 插件目录 覆盖至 官方sdk/ramips/ sdk package 目录中
然后切换到 官方sdk 主目录下 sdk/ramips/
* 安装依赖 命令行输入 sudo apt-get update ,然后输入
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx
编译amule 需要安装额外的包 autoconf automake libtool autopoint
* ./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
选择 你需要编译的 ipk 插件
* 最后选好你要的路由,输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程,国内请尽量全局科学上网)即可开始编译你要的固件了。
* 找到生成的ipk文件
在SDK的根目录,运行:
> find ./ -name "*.ipk"
SSR Plus 默认包含 ss ssr v2ray 但是 v2ray 编译后的ipk 安装文件偏大8M多 这个便携路由 cpu 和flash 都比较弱 感觉也不适合 v2ray 所有就放弃 v2ray 安装包了。网上好像说是可以压缩ipk 进入固件的这里没怎么去找这类方法了。
所有编译后的ipk 打包上传在了百度上了 SSRPlus目录下 8个关联ipk
[![85931512626edb5369cb43448dac7433.md.png](https://i.jpg.dog/img/85931512626edb5369cb43448dac7433.md.png)](https://jpg.dog/i/NiLlW)
> 链接: https://pan.baidu.com/s/1ewl6gma5lrAHqfwMy3b2LA 提取码: aek2
## 安装
ssh 登陆 路由器
复制 ipk 到 /tmp 目录下
opkg install xxx.ipk
如果提示缺少某些底层依赖ipk 可以通过 更新openwrt 官方源 获取安装
/etc/opkg/customfeeds.conf
```bash
src/gz base https://archive.openwrt.org/releases/18.06.1/packages/mipsel_24kc/base/
src/gz packages https://archive.openwrt.org/releases/18.06.1/packages/mipsel_24kc/packages/
src/gz luci https://archive.openwrt.org/releases/18.06.1/packages/mipsel_24kc/luci/
src/gz routing https://archive.openwrt.org/releases/18.06.1/packages/mipsel_24kc/routing/
src/gz image http://downloads.openwrt.org/releases/18.06.1/targets/ramips/mt76x8/packages/
```
## 芝麻开门
SSR-PLLUS被隐藏了,编译好后装好机,输入以下命令即可出来
> echo 0xDEADBEEF > /etc/config/google_fu_mode
## 引用 感谢 大雕 大佬 开源的 插件 和官方SDK
1. [https://github.com/coolsnowwolf/lede](https://github.com/coolsnowwolf/lede)
2. [gl-inet MT300N-V2 SDK](https://github.com/gl-inet/sdk/tree/master/ramips)
3. [编译后的ipk 打包 提取码: aek2 ](https://pan.baidu.com/s/1ewl6gma5lrAHqfwMy3b2LA)
@MlgmXyysd
Copy link

感觉 没啥邮件价值了,更好的友善 arm 软路由 已经可以取代 300N了 Jim Wu notifications@github.com 于2020年12月14日周一 上午8:04写道:

@MlgmXyysd commented on this gist. ------------------------------ 有没有研究过openwrt clash插件? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://gist.github.com/4afd4f7d4b18083c9ebad25adef48599#gistcomment-3560243, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABD5CFYHYFZ6BGW645GV5N3SUVI7JANCNFSM4QRGFUTQ .

主要是想在Mudi上整一个,CAT6移动路由暂时还是没有什么可以取代的

@gdzhujun
Copy link

gdzhujun commented Jan 2, 2021

感觉 没啥邮件价值了,更好的友善 arm 软路由 已经可以取代 300N了 Jim Wu notifications@github.com 于2020年12月14日周一 上午8:04写道:

@MlgmXyysd commented on this gist. ------------------------------ 有没有研究过openwrt clash插件? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://gist.github.com/4afd4f7d4b18083c9ebad25adef48599#gistcomment-3560243, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABD5CFYHYFZ6BGW645GV5N3SUVI7JANCNFSM4QRGFUTQ .

主要是想在Mudi上整一个,CAT6移动路由暂时还是没有什么可以取代的

老哥我也是这样想,请问你有E750能用的ipk吗?

@SkyFaklist
Copy link

SkyFaklist commented Feb 17, 2021

用kenzok8的归档库文件确实可以编译$$RP,但我在Mudi上安装实测无法运行,我准备尝试用ath79编译,但找不到这个的18.06.1的sdk,目前对mudi比较友好的是openclash,我还试过Luci for Clash,不行,更不提V$$RPA$$WALL了,连编译都报错.
刚刚成功编译了一次(V$$R报错),和$$RP一样,无法运行,而且openclash也开始抽风了.

D-5/2,更新:R201(19.07.7)版E750访问ssrp(基于lean20源码编译)权限不足被拒绝(403),目前正在尝试op官方的ath79-sdk.
注:R201固件的所有ar71xx架构全部移位只ath79分支下
Package Address : https://github.com/liuran001/openwrt-packages (Tips:ChinaDNS有点问题,已经发issue了)

D-6/26 ,更新, E750支持编译整lean-openwrt,但是需要加入他们家的MCU控制

推荐不要这样做,而且这样输出的文件也很难保证内核兼容

地址:https://github.com/gl-inet/GL-E750-MCU-instruction
丢到Packages里面一起编译
附上截图:版本,内核SSRP RUNNING
顺带提一下,GL官方的sdk也更新ath79了

D-7/28更新
SDK编译openclash官方源码以及下载官方成品均报错(Web-Luci 403)

22-29/11更新
破案了,用发行版源码 **交叉编译**成功,几个科学组件都编译成功
Package仓库:https://github.com/kenzok8/openwrt-packages

@helvenk
Copy link

helvenk commented Apr 20, 2021

我已经成功安装了 但是进 luci ssr 管理很卡,不知道为什么

@podipod
Copy link

podipod commented Jul 27, 2021

感觉 没啥邮件价值了,更好的友善 arm 软路由 已经可以取代 300N了 Jim Wu notifications@github.com 于2020年12月14日周一 上午8:04写道:

@MlgmXyysd commented on this gist. ------------------------------ 有没有研究过openwrt clash插件? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://gist.github.com/4afd4f7d4b18083c9ebad25adef48599#gistcomment-3560243, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABD5CFYHYFZ6BGW645GV5N3SUVI7JANCNFSM4QRGFUTQ .

主要是想在Mudi上整一个,CAT6移动路由暂时还是没有什么可以取代的

老哥我也是这样想,请问你有E750能用的ipk吗?

https://op.igotp.com 里面有插件,已经编译好的。

@KnightBlood
Copy link

GL-iNet MT300N-V2 闪存不够大 U盘启动 安装到U盘

查看各个盘的空间
df -h

查看U盘的UUID
block info

如果U盘不是ext3文件系统,需要格式化成ext3
mkfs.ext3 /dev/sda1

查看U盘格式化后的UUID
block info

创建目录
mkdir /mnt/sda1

挂载U盘到新建的目录。可能会提示NTFS什么的,不用理它。
mount /dev/sda1 /mnt/sda1

查看各个盘的空间(看/mnt/sda1是不是有U盘的容量)
df -h

取消挂载U盘
umount /mnt/sda1

编辑fstab文件
vi /etc/config/fstab

fstab文件内容改成如下(uuid的值要替换成真实的):

config 'global'
        option  anon_swap       '1'
        option  anon_mount      '1'
        option  auto_swap       '1'
        option  auto_mount      '1'
        option  delay_root      '5'
        option  check_fs        '0'

config 'mount'
        option  target  '/'
        option  uuid    '38b866a7-6ad0-407c-8041-b9813743d3fd'
        option  enabled '1'

查看fstab文件
cat /etc/config/fstab

重启路由
reboot

查看各个盘的空间(看 / 的空间是不是变成U盘的容量了)
df -h

添加SFTP支持,这样才能用WinSCP传输文件
opkg update
opkg install vsftpd openssh-sftp-server
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start

网上下载一些想要的插件(ipk文件),复制到/目录,然后安装
opkg install abcd.ipk

实测 步骤一致 该方法不能用,设置完后无法启动,灯一直闪烁

@01CreateWorld
Copy link

菜单条上已经露出了ssr。可是运行后报错:
/usr/lib/lua/luci/dispatcher.lua:1379: module 'luci.cbi' not found:
no field package.preload['luci.cbi']
no file './luci/cbi.lua'
no file '/usr/share/lua/luci/cbi.lua'
no file '/usr/share/lua/luci/cbi/init.lua'
no file '/usr/lib/lua/luci/cbi.lua'
no file '/usr/lib/lua/luci/cbi/init.lua'
no file './luci/cbi.so'
no file '/usr/lib/lua/luci/cbi.so'
no file '/usr/lib/lua/loadall.so'
no file './luci.so'
no file '/usr/lib/lua/luci.so'
no file '/usr/lib/lua/loadall.so'
stack traceback:
[C]: in function 'require'
/usr/lib/lua/luci/dispatcher.lua:1379: in function '_cbi'
/usr/lib/lua/luci/dispatcher.lua:1056: in function 'dispatch'
/usr/lib/lua/luci/dispatcher.lua:1032: in function 'dispatch'
/usr/lib/lua/luci/dispatcher.lua:483: in function </usr/lib/lua/luci/dispatcher.lua:482>

8个ipk安装,7个正常完成,一个提示:
正在执行软件包管理器
Multiple packages (libgcc and libgcc1) providing same name marked HOLD or PREFER. Using latest.
Not downgrading package dnsmasq-full on root from 2.86-17 to 2.80test3-1.
Updating database.
Database update completed.
错误
Collected errors:

  • pkg_hash_check_unresolved: cannot find dependency kernel (= 4.14.63-1-6c5df541905ae6bbe8d85627558ea00c) for kmod-nfnetlink
  • pkg_hash_check_unresolved: cannot find dependency kernel (= 4.14.63-1-6c5df541905ae6bbe8d85627558ea00c) for kmod-ipt-ipset
  • pkg_hash_check_unresolved: cannot find dependency kernel (= 4.14.63-1-6c5df541905ae6bbe8d85627558ea00c) for kmod-nf-conntrack-netlink

是因为我路由器的版本高了?
系统
主机名 GL-iNET
型号 GL-MT300N-V2
架构 MediaTek MT7628AN ver:1 eco:2
目标平台 ramips/mt76x8
固件版本 OpenWrt 22.03.4 r20123-38ccc47687 / LuCI openwrt-22.03 branch git-23.093.57104-ce20b4a
内核版本 5.10.176

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment