佐须之男 发布的文章

跟着佐大学OpenWrt开发入门培训班开始报名啦!

课程试听地址:
https://pan.baidu.com/s/13nCmoaXTEfKc9F9-bdtHcA

想法的由来:
一晃30岁了,程序员终究不是铁饭碗,最终"大神"也会离去。但我心中还是有一丝不甘,想留下点技术遗产给新人和后辈。虽然OpenWRT这几年很火,但网络上并没有系统性且高质量的教程,所以一直以来都有做教学视频的想法。与以往不同的是此次并非免费,毕竟倾囊相授希望能有所回报,也请大家谅解。希望若干年后,能用上你们的系统,继续传承这份无私奉献的精神。

受众群体:
学生、爱好者、职场新人,入门班主要作用是带大家梳理知点从整体上认识OpenWrt。授课方式采用的是观看预录的视频,你可以在任意时间段内观看。配合线上的答疑,可以让你更快的进步。

授课方式:
网络授课+线上答疑:视频教学、配合QQ群互动答疑。视频为提前录制,非直播授课。每周1-2次更新,教学时间为3-4个月。

费用说明:
299元人民币/人,在付款后7天内可退款,超过7天不可退款。报名人数少于30人,会全额退款。

报名时间:
2018年4月28日-2018年10月30日,2018年5月中旬开班,超过此时间段报名会继续提供课程相关的线上答疑。

报名方法:
支付宝打款后(支付宝账号:forgotfun@qq.com 陆明峰 299元 备注:报名费),发送邮件到 forgotfun@qq.com ,邮件正文需包含:QQ号、联系电话、报名费转款截图凭证。收到邮件后,会在1-2个工作日内与你联系。

教学大纲:
1.路由器硬件、软件的发展历史和演变。
2.路由器的硬件、软件架构分析。
3.OpenWRT开发环境配置。
4.make menuconfig常用选项的含义。
5.Bootloader、固件的关系,以及常见Flash布局方式。
6.固件结构分析,固件头的作用。
7.交叉编译工具链的原理和使用方法。
8.OpenWRT Package结构分析。
9.如何移植、编写简单的软件。
10.OpenWRT UI框架发展历史讲解,石像鬼、X-WRT、Luci。
11.基于uhttpd,lua编写简单的UI界面,基于Luci编写简单的UI界面。
12.OpenWrt常用命令使用方法讲解,bash/lua讲解。
13.OpenWrt UCI框架分析,/etc/config/network、/etc/config/wireless 等文件讲解。
14.OpenWrt sysupgrade命令实现原理分析。
15.OpenWrt 启动过程分析。
16.OpenWrt ipkg软件包结构分析。
17.OpenWrt mtd flash映射关系分析,art、eeprom、nvram、factory分区作用讲解。
18.OpenWrt挂载U盘、SD卡等,讲解hotplug的运行机制。
19.OpenWrt无线工作模式:station模式、ap模式、monitor模式讲解。
20.OpenWrt patch补丁原理。
更新中...

课时安排:
一个时间20-40分钟,由教学内容决定。课时数10-36,由报名人数来决定。课时数算法如下:
30 < 报名人数 < 35人,10课时。
35 < 报名人数 < 40人,12课时。
40 < 报名人数 < 45人,14课时。
45 < 报名人数 < 50人,16课时。
50 < 报名人数 < 55人,18课时。
55 < 报名人数 < 60人,20课时。
60 < 报名人数 < 65人,22课时。
65 < 报名人数 < 70人,24课时。
70 < 报名人数 < 75人,26课时。
75 < 报名人数 < 80人,28课时。
85 < 报名人数 < 90人,30课时。
95 < 报名人数 < 100人,32课时。
105 < 报名人数 < 110人,34课时。
报名人数 > 110人,36课时。

WifiDog在OpenWRT使用过程中的一些注意点

此文总结了当WifiDog跑在OpenWRT上的常见隐患和解决方案:

1)关闭UPNP功能,UPNP简单来说就是一个自动端口映射,此功能会导致QQ等程序在未认证时绕过WifiDog上传和下载数据。

有点累了,改天再完善...

本文章由:http://www.wifidog.pro/2016/12/30/WifiDog%E5%9C%A8OpenWRT%E4%BD%BF%E7%94%A8%E8%BF%87%E7%A8%8B%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%E6%B3%A8%E6%84%8F%E7%82%B9.html

解决WiFiDog在高版本内核下不能使用问题

修改wifidog中的utl.c文件, 修改get_iface_ip 函数
if ((sockd = socket (AF_INET, SOCK_PACKET, htons(0x8086))) < 0) {
这句建议修改为 sockfd = socket(AF_INET,SOCK_DGRAM,0);
原因: 新kernel对于原模式过时

本文章由:http://www.wifidog.pro/2016/04/06/%E8%A7%A3%E5%86%B3WiFiDog%E5%9C%A8%E9%AB%98%E7%89%88%E6%9C%AC%E5%86%85%E6%A0%B8%E4%B8%8B%E4%B8%8D%E8%83%BD%E4%BD%BF%E7%94%A8%E9%97%AE%E9%A2%98.html整理编辑,转载请注明出处

WiFiDog 多线程优化思路

刚开始用wifidog的注意了,如果要用于实际生产环境,那么有一个地方最好改下:
1、auth线程删除,用户状态上报合并到ping线程中去。设想如果50个在线用户,每个用户一次上报,就要50次了,外加一次ping的上报,1分钟内那么多次服务器交互,不但增加服务器负担,还会因为长时间将用户列表锁住导致认证的延迟。
2、libhttpd类库中搜索strtok函数,替换为strsep函数,如何替换请百度搜索这个strsep函数用法。至于为啥要替换,因为strtok函数是线程不安全的,但是却被使用在了多线程中了,libhttpd是被多线程调用的。
3、搜索项目中所有popen函数,自己重写一个,不要用系统的,如果没能力写,可以用execute函数替代,输出到文件后再读取文件。至于为啥?因为wifidog里面有个全局的socket,在使用系统提供的popen函数时,会导致全局socket工作异常,直接表现为已经通过认证的用户正常上网,新用户无论如何都无法再认证了。
至于其它优化就先缓缓,把这3个最主要的处理掉才能产生中使用wifidog

以上建议由WiFiDog 技术交流群 (411349430)的闪电公布。

本文章由http://www.wifidog.pro/2015/11/11/WiFiDog-%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%BC%98%E5%8C%96%E6%80%9D%E8%B7%AF.htmlX62X整理编辑,转载请注明出处