openwrt搭建http代理
首先需要一个U盘,插到路由器上面,移动硬盘不推荐,因为移动硬盘会导致休眠,使用WinSCP登陆路由器,

2/8
把/etc/config目录下的uhttpd复制出来,

3/8
编辑uhttpd文件,在最后添加代码:config 'uhttpd' 'web'list 'listen_http' '0000:81' 访问的端口option 'home' '/mnt/sdc/web' U盘路径,在U盘里面新建了一个web文件夹option 'cgi_prefix' '/cgi-bin'

4/8
上面的U盘路径可以在网络共享中看到。我还插了两块移动硬盘,所以显示3个。最后一个是U盘。

5/8
最后把uhttpd文件保存替换回去

6/8
最后重启uhttpd,使用putty登陆重启,重启命令 /etc/initd/uhttpd restart

7/8
最后使用ip+端口就可以访问了。

8/8
公网IP可以进行端口映射与设置动态域名,在外边使用域名+端口也可以访问家里的网站。
百度经验
您好,我看到您的问题很久没有人来回答,但是问题过期无人回答会被扣分的并且你的悬赏分也会被没收!所以我给你提几条建议:
一,你可以选择在正确的分类下去提问,这样知道你问题答案的人才会多一些,回答的人也会多些。
二,您可以到与您问题相关专业网站论坛里去看看,那里聚集了许多专业人才,一定可以为你解决问题的。
三,你可以向你的网上好友问友打听,他们会更加真诚热心为你寻找答案的,甚至可以到相关网站直接搜索
四,网上很多专业论坛以及知识平台,上面也有很多资料,我遇到专业性的问题总是上论坛求解决办法的。
五,将你的问题问的细一些,清楚一些!让人更加容易看懂明白是什么意思!
谢谢采纳我的建议! !
在这里参照SLeung大师的帖子,并感谢大师支持:
https://userqzoneqqcom/112002224/blog/1533986686
由于使用mt7628路由,所以要更新源,使用openwrt源既可:
https://downloadsopenwrtorg/releases/packages-1806/mipsel_24kc/packages/
更新源之后发现安装空间只有700K了,哎,那就装在sd卡上吧!
在以下两个地方/etc/opkgconf和/etc/profile加入挂载目录,source /etc/profile,然后使用opkg install xxxipk -d usb命令
然而,这一装问题就来了,执行主程序找不到文件
最好多次尝试,发现这个主程序是在找/usr/share/xupnpd/目录,于是做了个软链接,问题解决,至于这个工具如何使用,那,有空再玩吧?
1、搭建开发环境
首先,我们需要一个为路由器定制的开发环境,具体可以参考我的另一篇日志:《搭建自己的OpenWrt开发环境》。这里只做一个简单的补充,在执行make menuconfig后,会出现下图:
其中,图中红框部分是我定制路由器的系统版本,大家可以根据不同的路由器进行不同的选择;绿框部分表示我们需要编译一个SDK开发环境(默认情况下,此项未勾选)。
编译过程中需要通过官网下载很多相关的软件包,所以必须保证能够顺利连上外网。由于下载速度的限制,编译过程大概需要数小时。编译结束后,所有的产品都会放在编译根目录下的bin/yourtarget/ 例如:我所编译的产物都放在/bin/brcm47xx/下,其中文件主要有几类:
(1)bin/trx 文件: 这些都是在我们所选的target-system的类别之下,针对不同路由器型号、版本编译的路由器固件。这些不同路由器的型号和版本是openwrt预先设置好的,我们不需要更改。至于bin和trx的区别,一种说法是,第一次刷路由器的时候,需要用bin文件,如果需要再升级,则不能再使用bin文件,而需要用trx文件。原因是,bin是将路由器的相关配置信息和trx封装在一起而生成的封包,也就是说是包含路由器版本信息的trx。在第一次刷固件的时候,我们需要提供这样的信息,而在后续升级时,则不再需要,用trx文件即可。
(2)packages文件夹: 里面包含了我们在配置文件里设定的所有编译好的软件包。默认情况下,会有默认选择的软件包。
(3)OpenWrt-SDKtarbz2: 这个也就是我们定制编译好的OpenWRT SDK环境。我们将用这个来进行OpenWrt软件包的开发。例如,我所编译好的SDK环境包为:/bin/brcm47xx/OpenWrt-SDK-brcm47xx-for-Linux-x86_64-gcc-433+cs_uClibc-09301tarbz2
可以从名称上看出,target system是brcm47xx,host system是Linux-x86_64,使用的编译工具以及库是433+cs_uClibc-09301。
(4)md5sums 文件: 这个文件记录了所有我们编译好的文件的MD5值,来保证文件的完整性。因为文件的不完整,很容易将路由器变成“砖头”。
需要主要的是,编译完成后,一定要将编译好的bin目录进行备份(如果里面东西对你很重要的话),因为在下次编译之前,执行make clean 会将bin目录下的所有文件给清除掉!!
2、 更改原有packages
在编译根目录下会有一个dl的目录,这个目录其实是“download”的简写,在编译前期,需要从网络下载的数据包都会放在这个目录下,这些软件包的一个特点就是,会自动安装在所编译的固件中,也就是我们make menuconfig的时候,为固件配置的一些软件包。如果我们需要更改这些源码包,只需要将更改好的源码包打包成相同的名字放在这个目录下,然后开始编译即可。编译时,会将软件包解压到build_dir目录下。
当然,你也可以自己在dl里面创建自己的软件包,然后更改相关的配置文件,让openwrt可以识别这个文件包。
由于我的项目更改的内容是底层的,需要跟固件一起安装。所以,我使用的方法就是直接更改dl目录下软件包,然后重新进行固件编译。感觉类似于Linux的内核编译。反复编过十多次,没有任何问题。
3、 新建自己的packages
对于自己新建的package,而这个package又不需要随固件一起安装,换句话说,就是可以当做一个可选软件包的话。我们可以利用我们的SDK环境来单独编译,编译后会生成一个ipk的文件包。然后利用 opkg install xxxipk 来安装这个软件。
下面具体说下,如何编译一个helloword的软件包。
(1)首先,编写helloworld程序
编写helloworldc
/
Helloworldc
The most simplistic C program ever written
An epileptic monkey on crack could write this code
/
#include <stdioh>
#include <unistdh>
int main(void)
{
printf("Hell! O' world, why won't my code compile\n\n");
return 0;
}
编写Makefile文件
# build helloworld executable when user executes "make"
helloworld: helloworldo
$(CC) $(LDFLAGS) helloworldo -o helloworld
helloworldo: helloworldc
$(CC) $(CFLAGS) -c helloworldc
# remove object files and executable when user executes "make clean"
clean:
rm o helloworld
在这两个文件的目录下,执行make 应该可以生成helloworld的可执行文件。执行helloworld后,能够打印出“Hell! O' world, why won't my code compile”。 这一步,主要保证我们的源程序是可以正常编译的。下面我们将其移植到OpenWRT上。
(2)将OpenWrt-SDK-brcm47xx-for-Linux-x86_64-gcc-433+cs_uClibc-09301tarbz2解压
tar –xvf OpenWrt-SDK-brcm47xx-for-Linux-x86_64-gcc-433+cs_uClibc-09301tarbz2
(3)进入SDK
cd OpenWrt-SDK-brcm47xx-for-Linux-x86_64-gcc-433+cs_uClibc-09301
可以看到里面的目录结构跟我们之前source的目录结构基本相同,所需要编译的软件包,需要放置在package目录下
(4)在package目录下创建helloworld目录
cd package
mkdir helloworld
cd helloworld
(5)创建src目录,拷贝 helloworld文件
mkdir src
cp /home/wrt/test/helloworldc src
cp /home/wrt/test/Makefile src
(6)在helloworld目录下创建Makefile文件
这个Makefile文件是给OpenWRT读的,而之前写的那个Makefile文件是针对helloworld给编译其读的。两个Makefile不在同一层目录下。
touch Makefile
vim Makefile
(7)返回到SDK的根目录
执行make进行编译
编译过程会在build_dir目录下完成
编译结果会放在 bin/[yourtarget]/package目录下helloworld_1_bcm47xxipk
(8)上传helloworld_1_bcm47xxipk
使用sftp软件上传helloworld_1_bcm47xxipk至路由器
执行 opkg install helloworld_1_bcm47xxipk
输入hello然后按Tab键,发现openwrt中已经有helloworld可执行命令。
执行 helloworld 查看程序的效果。
Hell! O' world, why won't my code compile
1、安装git工具(现在一般是使用git去下载源码)
2、安装依赖的库文件(一起装比较容易出现漏装,建议逐个装)
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk libssl-dev subversion
或者逐个安装:
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install libncurses5-dev
sudo apt-get install gawk
sudo apt-get install libssl-dev
sudo apt-get install subversion
3、下载OpenWRT源码
先创建OpenWRT目录来保存源码
mkdir OpenWRT
cd OpenWRT
git clone https://githubcom/openwrt-mirror/openwrtgit (下载源码)
4、更新源码上的软件
为了使 OpenWrt 支持更多的软件,需要更新和安装其它源上面的软件
cd openwrt
/scripts/feeds update -a
/scripts/feeds install -a
5、进行OpenWRT配置
make menuconfig
1) 选择 CPU 型号
Target System -> Ralink RT288x/RT3xxx
2) 选择 CPU 子型号
Subtarget -> RT3x5x/RT5350 based boards
3) 选择具体路由器型号
Target profile -> HAME-MPR-A2
保存退出
6、编译源码
make V=99
注意:编译过程要联网哦,如果编译出错大部分都是由于网络不好。所以重新编译就OK了
烧录文件在哪? openwrt/bin/ramips/openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgradebin
更多精彩文章,欢迎关注微信公众号"嵌入式软件开发交流"
路由器fm发射器软件?
大部分路由器并不自带FM发射器功能,但是有一些路由器可以通过第三方软件或固件进行扩展,以实现FM发射器功能。下面是一些可用于路由器的FM发射器软件:
PiFmRds:这是一个适用于RaspberryPi和某些路由器的软件,可将音频流转换为FM广播信号。可以使用命令行控制该软件,例如设置广播频率和RDS数据。
Darkice:这是一个适用于Linux系统的音频流媒体服务器,可以将音频流转换为各种格式,包括MP3和OggVorbis,还可以将其发送到FM调频发射器。
OpenWRT:这是一个适用于路由器的开源嵌入式操作系统,可以通过安装相应的软件包来实现FM发射器功能。例如,使用OpenWRT的路由器可以安装“pifm”软件包来实现FM发射器功能。
请注意,在使用FM发射器功能时,需要确保遵守当地的广播法规和规定,以避免不必要的法律风险和电磁干扰问题。
linuxlive555流媒体怎么播放?
(1)先下载live555的源码如:live20110614atargz(2)解压源码tar-zxvflive20110614atargz(3)cdlive(4)/genMakefileslinux-gdb(5)make经过以上步骤生成的live555MediaServer可以用于gdb调试,如果要使源代码中的DEBUG宏有效,还需要修改live/configlinux-gdb文件,在COMPILE_OPTS一行中添加-DDEBUG即可。
流媒体视频需要什么样的服务器?要求不卡顿就行?
一般的云服务器都可以用,阿里云,腾讯云都可以。如果用物理机,建议使用志强系列CPU,内存16GB以上。云视睿博工程师推荐的硬件配置,一般价格在2万左右。
主要还要看你的并发量有多少,并发量越大,要求配置越高。
另外,还要看流媒体服务器系统本身的架构,通常基于linux系统的硬件利用率更高,如云视睿博的NTVMediaServerG3,对硬件要求相对较低,性能也可靠。
基于Windows架构的对硬件要求更高些,如WindowsMediaServer。不建议使用windows系统,无法保障长期稳定运行的需要。
看看桥接方法:
无线路由器桥接
主路由器设置
1、进入主路由器的设置界面,然后在左侧选项条中点击运行状态,在WAN口状态栏可以找到DNS服务器,一共有两个,主DNS和备选DNS服务器,记录下来。
2、点击网络参数---LAN口设置,把路由器的LAN地址设置为19216811保存,此时会重启重启后回到设置界面点击无线设置---基本设置。
3、设置SSID为TP_LINK_A。设置无线信道为:11。注意:必须关闭WDS或Bridge功能。
4、点击无线设置---无线安全设置,加密方式选WPA-PSK,本例以12345678为例。注意:相比旧式的WE加密,WPA/WPA2加密更安全,且桥接起来更稳定,所以推荐使用WPA/WPA2加密。
5、点击DHCP服务器---DHC服务器设置,把地址池起始地址设置为1921681100;把地址池结束地址设置为1921681149 点击保存,重启主路由器。主路由器设置完成。
设置副路由器
1、进入副路由器的设置界面。
2、点击网络参数---LAN口设置。
3、把副路由器的LAN地址设置为19216812防止与主路由器冲突,同时也便于管理主和副路由器。
4、点击无线设置---基本设置。
5、设置SSID为TP_LINK-B。设置无线信道为:11。
6、勾选开启WDS,在弹出的界面点击扫瞄,得到AP列表以后找到主路由器的SSID,即TP_LINK_A,点击右边的连接按钮,加密方式选WPA-PSK,密钥填主路由的密钥:12345678,(保持与主路由器一致即可),点击保存。
7、由于新的WDS功能于老式的Bridge有所不同,更为高级,所以仅需所有副路由器开启WDS并填入主路由的信息即可,如主路由开启WDS或Bridge功能,请关闭,否则WDS功能无法使用。
8、点击无线设置---无线安全设置 在这里设置副路由无线的密码。
9、点击DHCP服务器---DHCP服务器设置,把地址池起始地址改为1921681150,把地址池起始地址改为1921681199。网关填写主路由器的IP地址,即19216811。主和备选DNS服务器填之前记录下来的地址保存并重启路由器。
10、设置完成,连接成功。
0条评论