
正文
go语言openwrt go语言适合做什么
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
OpenWrt 安装软件不显示在服务 Service 里的问题
OpenWrt 统一使用 OPKG 作为包管理器go语言openwrt,其软件包后缀名大多为 .ipk 。而 ipk 文件大概可以按下列分类:
目前 OpenWrt 大部分 Web 管理端采用 LuCI ,对应go语言openwrt的软件管理包一般取名为 luci-app-软件包名 ,对应软件管理包go语言openwrt的语言包一般取名为 luci-i18n-软件包名-语言名 。举个例子,下面是 Frp 在 OpenWrt 上的完整系统:
实际上,没有软件管理包的情况下,底包也可以正确运行,只不过无法通过 Web 管理端管理。因为底包实际上就是一个二进制文件的集合,只要架构正确,在任何系统上皆可以运行。
那么知道了原理,go语言openwrt我们可得解决方案如下:
如上所述,你需要安装对应软件管理包。你可以搜索 luci-app-软件包名 来安装。
有些时候安装软件管理包后还是没有出现相应管理面板,那么我们需要刷新缓存。
登录 SSH,输入以下命令:
随后输入下面命令重启:
重启后就搞定了。
相关问答
Q1: hiwifi里更新了openwrt的刷机包,刷完了怎样安装goagent等
1、安装python
下载本页附件libopenssl_1.0.1c-1_brcm63xx.zip,解压后将libopenssl_1.0.1c-1_brcm63xx.ipk上传到路由器/tmp目录
如果你的路由器是Atheros AR7161,请下载libopenssl_1.0.1c-1_ar71xx.zip
官方libopenssl的安全线程支持上有问题,会出现“ssleay_rand_add: Assertion `md_c[1] ==
md_count[1]' failed”这样错误,用这个libopenssl就没有问题了。用ssh或者telnet登录到路由器运行如下命令:
cd /tmp
opkg update
opkg install libopenssl_1.0.1c-1_brcm63xx.ipk
opkg install python
opkg install pyopenssl python-openssl
复制代码
2、在OpenWrt上安装goagent
GoAgent是一个基于Google Appengine,因此你必须在app engine上部署goagent的服务端。关于goagent部署请看这里,很详细:或者
现假定你的goagent服务端已经部署了
下载goagent:,解压出来,修改/local/proxy.ini
将ip改成0.0.0.0
[listen]
ip = 0.0.0.0
复制代码
将appid改成你的appid,多个appid用“|”分隔
[gae]
appid = myvpn|myvpn2
复制代码
用ssh或者telnet登录到路由器运行如下命令:
mkdir -p /app/goagent/local
复制代码
将certs目录、CA.crt、proxy.ini、proxy.py上传到路由器/app/goagent/local目录下。
3、启动goagent
python /app/goagent/local/proxy.py
复制代码
先不要关闭ssh控制台,使用chrome的SwitchySharp插件测试一下代理是否成功。将其中“HTTP 代理”地址改成路由器地址,我这里是192.168.11.1
使用SwitchySharp访问一下twitter.com或者facebook.com看看是否成功:
如果成功,ssh控制台也会滚屏显示日志:
4、设置开机启动goagent
将下面代码加入到/etc/rc.local(或者直接在luci界面,系统启动项本地启动脚本 中添加)中
python /app/goagent/local/proxy.py
复制代码
重启路由看看是否正常。
5、PAC文件利用
利用PAC文件可以实现自动代理。
打开SwitchySharp》导入/导出》导出PAC文件,将导出SwitchyPac.pac文件上传到路由器/www目录中。根据这个文件浏览器就能确定哪些网址需要使用代理,哪些直接连接就可以了。
或者,打开proxxy.ini修改[pac]中的ip地址为0.0.0.0,将SwitchyPac.pac放入proxy.ini相同目录中,此时pac访问地址为。
pac在chrome、ie、firefox等上都支持的(有的要插件),包括ios平台也可以使用pac文件。上传几张图,大家一看就明白了:
IE中自动代理设置:
ios中自动代理设置:
我的rg100a-aa刷完Attitude Adjustment 12.09后,装了一些常用的软件,再装python、goagent,空间基本够用了。
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 13.0M 11.1M 1.9M 86% /
/dev/root 1.8M 1.8M 0 100% /rom
tmpfs 14.3M 476.0K 13.8M 3% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/mtdblock3 13.0M 11.1M 1.9M 86% /overlay
overlayfs:/overlay 13.0M 11.1M 1.9M 86% /
复制代码
如果你刷了那些大而全的版本,空间不够的话可以装在U盘上了。
Q2: 如何编译OpenWrt
搭建编译环境。编译建议在Linux下进行。我的系统是Linux mint 17,执行以下命令,构建编译环境go语言openwrt:
sudo apt-get update
sudo apt-get install git-core build-essential
获取openwrt源码。在当前用户主目录下执行
git clone git://git.openwrt.org/openwrt.git
等待代码下载。结束后,目录下会出现openwrt文件夹。
配置软件源。进入openwrt目录,执行
./scripts/feeds update -a
./scripts/feeds install -a
检查编译环境是否完整:
make defconfig
make prereq
根据提示信息安装需要的软件包。如果提示类似
“tmp/.config-package.in:22022:warning: multi-line strings not supported”
的信息,打开 openwrt/tmp/.config-package.in,定位到对应行,添上丢掉的一个引号就可以了。
编译选项:
执行 make menuconfig,根据路由器情况,选择 Target System 和 Subtarget。如意云一代和极壹S的 Target System 均为 Ralink RT288x/RT3xxx 。对于Subtarget ,前者为 MT7620n based boards ,后者为 MT7620a based boards。
其go语言openwrt他选项根据个人喜好选择。一般来说要选中LuCI界面,选中中文语言包等等。
开始编译:
执行 make -j2 V=s 进行编译。-j后面的数字是电脑物理CPU数量加一。V=s可以显示出编译的详细信息。首次编译大概需要几个小时的时间。
错误排查:
编译失败,一般有两种情况:
1.代码下载链接失效。首次编译时,编译程序会实时从网上下载一些软件包的代码。如果下载链接失效,编译就会失败。这时需要根据软件包的名称,从网上自行下载,然后放在 openwrt/dl/ 目录下,执行 make -j2 V=s 继续编译即可。
2.软件包自身有问题。这时重新执行 make menuconfig ,取消对应软件包选中即可。这种情况比较少见,目前已知的有 tor 等。
编译成功,但没有生成固件。这种情况一般是因为选中的软件包过多,导致固件大小超过16MB。重新执行 make menuconfig,去掉一些软件包,重新执行编译即可。
得到固件。在排除了所有错误后,现在终于得到了固件。对于如意云RY-1,固件在 openwrt/bin/ramips 目录下,形如
openwrt-ramips-mt7620n-rt-n14u-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-mlw221-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wr8305rt-squashfs-sysupgrade.bin
等等。
关于go语言openwrt和go语言适合做什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





