openwrt搭建http代理,第1张

首先需要一个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、设置完成,连接成功。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » openwrt搭建http代理

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情