有没有办法在 openwrt ssh 上传文件上实现自动分发 PAC 文件的功能

3456人阅读
Openwrt(1)
前一阵子偶然了解到Openwrt这个开源的Linux项目,一时兴起,在淘宝上买了一个据说是刷了不死U-boot的小米路由器,附上链接地址
/item.htm?spm=a230r.1.14.102.EhyNzd&id=&ns=1&abbucket=19#detail。
第一次接触,主要是想玩玩这个系统,刚开始使用,感觉它的迅雷远程下载的功能挺实用的,总结一下实用的方法。
默认IP地址:192.168.1.1
这个是登陆见面:
默认用户名:root
默认密码:admin
然后按照下面设置,注意直接接光纤猫选PPPOE协议,接其他交换机或路由器选DHCP客户端,我接的是路由器,所以选DHCP客户端。
然后选择“无线”,rai0:Master->无线安全,然后设置或修改密码,记得ra0:Master也要修改。
到此,基本功能就设置OK了。
然后点击“服务”->迅雷远程下载,勾上启用迅雷下载,点击右下角保存&应用按钮,当然,前提是有个硬盘或U盘插在路由器上,我插的是硬盘。
有一点注意一下,只有迅雷正常启动后才能获取启动信息,所以先确保迅雷已经启动。
正常启动后如图示:
点击远程下载页面按钮,启动前会让你输入激活码绑定设备,可以通过获取启动信息获得,具体百度一下就知道了。
然后讲一下如何从其他设备直接获取挂载到路由器上的硬盘里的数据:
PC打开我的电脑->网络设备:
手机也是一样,直接打开连接的网络邻居即可。
也可以用Putty远程登录,登录界面如图:
在目录/mnt/sda1/TDDOWNLOAD/下便可以找到下载的文件。
注意上层目录的xunlei便是软件的安装目录,可以参考一下下面的链接:
.cn/forum/thread--1.html
另外,如果不小心删掉了xunlei或其它相关目录导致迅雷不能正常启动,需要做一下修改:
在网页上勾选删除迅雷VOD服务器,或者去掉,搞忘记了,然后点击右下角保存&应用,然后确认迅雷启动,必要时远程下载界面的下载器得手动重新添加。
需要交流的可以发邮件给我,第一次使用,希望感兴趣的伙伴可以多多交流。
邮箱: &或
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:10202次
排名:千里之外
(2)(3)(1)(2)(4)(1)OpenWrt自动备份文件到SAE(离线上传)
我的图书馆
OpenWrt自动备份文件到SAE(离线上传)
&本帖最后由 TopFlowOA办公平台 于
17:54 编辑
离线下载大家都玩熟了,离线上传玩的人不多。上传主要就是为了文件备份,例如照片、文档等...
要实现的目标是:
1、回到家后,自动把手机里面的照片等内容传到路由里面去备份
2、路由自动上传到SAE里面去备份
首先需要有一个带USB口的路由,能刷OpenWrt的,几十块的Tp-link 703N都可以,刷好OpenWrt后就安装curl
opkg update
opkg install curl
(具体配USB那些就不多说了,教程一搜一大把)
在SAE上开好Storage服务,建个domain叫upload,MySql也开好,upload.php上传到服务器上PHP代码 &?php /*设置用户名和密码*/ $user="name"; $pass="password";
if (!isset($_SERVER['PHP_AUTH_USER'])) { &&header('WWW-Authenticate: Basic realm="My Realm"'); &&header('HTTP/1.0 401 Unauthorized'); &&echo 'Access Denied'; && &&} else if($_SERVER['PHP_AUTH_USER']!=$user || $_SERVER['PHP_AUTH_PW']!=$pass){ &&echo "[error] Bad username or password for {$_SERVER['PHP_AUTH_USER']}\n"; &&&& &&}else{ &&echo "========Welcome, {$_SERVER['PHP_AUTH_USER']}!========\n"; &&}
if ($_FILES["file"]["size"] & 10 * 1024 * 1024) { &&if ($_FILES["file"]["error"] & 0) { &&&&echo "[error] " . $_FILES["file"]["error"] . "\n"; &&} else { &&&&echo "File: " . $_FILES["file"]["name"] . "\n"; &&&&echo "Type: " . $_FILES["file"]["type"] . "\n"; &&&&echo "Size: " . ($_FILES["file"]["size"] / 1024) . " KB\n"; &&&&echo "Temp: " . $_FILES["file"]["tmp_name"] . "\n"; &&&&$stor = new SaeStorage(); &&&& &&&& &&&&$mysql = new SaeMysql(); &&&& &&&&$sql&&= "SELECT * FROM&&`ch_uploads` WHERE `filehash`='" . md5_file($_FILES["file"]["tmp_name"]) . "'"; &&&&$data = $mysql-&getLine($sql); &&&&if ($data !== false) { &&&&&&&&//秒传 &&&&&&&&$url = $data['storurl']; &&&&&&&&if($data['filename']!=$_FILES["file"]["name"]){ &&&&&&&&&&&&//非同名文件则新建记录,做链接,不存文件 &&&&&&$sql = "INSERT INTO `app_cloudhub`.`ch_uploads` (`filename`, `filesize`, `filehash`, `storurl`, `uploadtime`, `filetype`) VALUES ('" . $_FILES["file"]["name"] . "', '" . $_FILES["file"]["size"] . "', '" . md5_file($_FILES["file"]["tmp_name"]) . "', '" . $url . "', CURRENT_TIMESTAMP, '" . $_FILES["file"]["type"] . "');"; &&&&&&$mysql-&runSql($sql); &&&&&&if ($mysql-&errno() != 0) { &&&&&&&&die("[error] " . $mysql-&errmsg() . "\n"); &&&&&&} &&&&&&&&} &&&&&&&&//直接返回地址
&&&&} else { &&&&if ($stor-&fileExists("upload", $_FILES["file"]["name"])) { &&&&&&echo "existed: http://cloudhub-upload./".$_FILES["file"]["name"] . "\n"; &&&&} else { &&&&&&$stor-&upload('upload', $_FILES["file"]["name"], $_FILES["file"]["tmp_name"]); &&&&&& &&&&&&$url = $stor-&getUrl('upload', $_FILES["file"]["name"]); &&&&&&// will echo 'http://appname-example./thebook'; &&&&&& &&&&&&$sql = "INSERT INTO `app_cloudhub`.`ch_uploads` (`filename`, `filesize`, `filehash`, `storurl`, `uploadtime`, `filetype`) VALUES ('" . $_FILES["file"]["name"] . "', '" . $_FILES["file"]["size"] . "', '" . md5_file($_FILES["file"]["tmp_name"]) . "', '" . $url . "', CURRENT_TIMESTAMP, '" . $_FILES["file"]["type"] . "');"; &&&&&&$mysql-&runSql($sql); &&&&&&if ($mysql-&errno() != 0) { &&&&&&&&die("[error] " . $mysql-&errmsg() . "\n"); &&&&&&} &&&&&& &&&&} &&&& &&&&$mysql-&closeDb(); &&&&} &&&&&&echo "[success] " . $url . "\n";
&&} } else { &&echo "[error] Illegal file:".$_FILES["file"]["type"]."(".$_FILES["file"]["size"].")\n"; &&&&//var_dump($_REQUEST); // Does not contain elements 'foo' or 'bar' } ?& 程序原理:首先就是要认证身份,然后上传文件,如果有文件hash一样的,就不保存,保存了就写mysql....
说到mysql,只有一个表:SQL代码 CREATE TABLE IF NOT EXISTS `ch_uploads` ( &&`id` int(11) NOT NULL AUTO_INCREMENT, &&`filename` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '文件名', &&`filesize` int(11) NOT NULL COMMENT '大小', &&`filehash` varchar(32) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Hash', &&`storurl` varchar(500) COLLATE utf8_unicode_ci NOT NULL COMMENT '地址', &&`uploadtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间', &&`filetype` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT '类型', &&PRIMARY KEY (`id`), &&KEY `filename` (`filename`) ) ENGINE=MyISAM&&DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='上传文件' AUTO_INCREMENT=31 ; 然后就是OpenWrt端的脚本了:upload.shC代码 upload_dir=/mnt/sda4 echo [Info]Scaning ${upload_dir}...
if [ -d ${upload_dir} ]; then &&echo '\033[31m[OK]\033[0m'; else &&echo '[NOT FOUND]'${upload_dir} ; && fi
mkdir -p ${upload_dir}/uploaded for x in ${upload_dir}/*.*
do &&if [ -f $x ]; then &&&&echo Uploading $x... &&&&local response=$(curl --user ayeah:password --silent --form file=@$x --form submit=Submit /connectors/sae.php) &&&&local success=$(echo $response | grep '\[success\]') &&&&if [ "$success" = "" ]; then &&&&echo '[debug]'$ &&&&else &&&&echo $ &&&&mv $x ${upload_dir}/uploaded/ &&&&fi &&fi
done echo "[OK]All files uploaded."
这个upload.sh放到/root目录下,然后chmod +x upload.sh,然后执行./upload.sh,就会把/mnt/sda4下面的文件自动上传了,/mnt/sda4是我插的U盘映射的目录,只要放进这个文件夹的文件,upload.sh都会上传。
至于手机怎么放到/mnt/sda4里面那就有很多方法了,安卓,iOS都很多应用,OpenWrt可以开ftp服务,用应用自动同步也行,在OpenWrt里面加个Cron定时任务自动启动upload.sh,就能全自动备份了。
1、SAE的上传大小限制10M
2、量大的同学,小心自己的豆豆哦
这只是今天花了几个钟头初步搞了一下,功能还不完善,等有空时再继续研究,说不定会加上channel监控上传的功能。。。(待续)
TA的最新馆藏[转]&[转]&LINUX(88)
openwrt(11)
系统要删除hostapd-mini 和wpad-min这两个模块, 然后安装hostapd-utils和wpad模块。
修改配置文件/etc/config/wirless 添加 option wps_pushbutton '1'
接收wps按键消息并调用命令:hostapd_cli wps_pbc 即可实现。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:299817次
积分:3624
积分:3624
排名:第8188名
原创:70篇
转载:109篇
评论:34条
(1)(2)(1)(2)(2)(1)(5)(1)(8)(7)(3)(2)(2)(2)(2)(1)(3)(3)(3)(1)(3)(1)(4)(1)(2)(5)(1)(1)(2)(7)(7)(9)(4)(1)(3)(4)(2)(2)(3)(9)(1)(5)(5)(9)(5)(7)(10)(5)(2)(9)

我要回帖

更多关于 openwrt文件系统目录 的文章

 

随机推荐