树莓派+开启热点+mentohust+caddy

硬件

  • 笔记本电脑
  • 树莓派3B+
  • 网线一根

树莓派连接

1.网络共享

由于购买树莓派时,未额外选择显示屏,所以树莓派的连接部分还是稍显麻烦的。

注:树莓派官方系统未开启ssh功能,而我所购买的商家提供了已经开启ssh、中文等功能的版本,如果你使用的是官方系统,那么建议你使用Linux系统,直接修改烧录的系统文件以开启ssh

电脑接入无线网,使用网线将电脑和树莓派连接,打开网络连接,将无线网共享给以太网端口:

树莓派+开启热点+mentohust+caddy_第1张图片

2.ssh连接

在电脑cmd命令行或power shell中使用命令arp -a查询,与电脑连接的树莓派的IP地址一般为:“192.168.137.xxx”,接着使用 xshell 或 putty 连接:

树莓派+开启热点+mentohust+caddy_第2张图片

设备的用户名及密码一般为:账户:pi,密码:raspberry

若是已经修改的系统版本,其用户名及密码已经被修改,自行询问商家。

开启热点

这里使用的是GitHub上的一个项目,直接复制下面的命令进行安装:

# 获取root权限
sudo -i

#将代码copy到本地,安装
git clone https://github.com/oblique/create_ap
cd create_ap
make install

#安装依赖的库
apt-get install util-Linux procps hostapd iproute2 iw haveged dnsmasq

以上就已经完成了该项目的安装,使用时只需要执行下列命令:

# 自行设置热点名及密码
sudo create_ap wlan0 eth0 热点名 密码

这是开启WPA + WPA2密码模式的WiFi,还有其他的方式,请访问Github查看。

想要开机即启动热点,需要将sudo create_ap wlan0 eth0 热点名 密码添加到/etc/rc.local(在eixt 0之前)。

第一个提及开启热点是因为设置了热点后,即便你不用网线,在树莓派开机后连上它的WiFi,你也可以通过ssh连接设备,进行操作了。

如果你所使用的以太网需要mentohust登陆的话,先别急着拔掉与电脑连接的网线

mentohust编译安装

如果宽带不需要认证则可跳过该部分。

源码编译

由于mentohust并没有基于armv7的软件包,因而需要我们自行从源码编译。

执行下列命令进行安装:

# 进入操作目录:
  sudo -i
  mkdir /home/mentohust
  cd /home/mentohust
# 下载libpcap:
  wget http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz
# 配置libpcap编译环境:
  apt-get install gcc libc6-dev m4 flex bison
# 编译libocap:
  tar zxvf libpcap-1.0.0.tar.gz
  cd libpcap-1.0.0/
  ./configure
  make
# 下载mentohust:
  ls
  cd ..
  wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mentohust/mentohust-0.3.1.tar.gz

如果执行上面最后一条命令后无法下载,那么你下面两种选择:

  • 打开树莓派的VNC服务(网上有教程),使用笔记本登陆VNC,搜索mentohust源码包(CSDN上可找到),下载之后移动到/home/mentohust
  • 使用笔记本下载mentohust源码,或在CSDN上下载,在树莓派上执行apt install lrzsz,之后利用rz命令将本地文件上传到树莓派,继续下面的命令
# 配置编译环境:
  apt-get install build-essential bison flex zlib1g-dev libncurses5-dev subversion quilt intltool ruby fastjar unzip gawk
# 配置编译mentohust:若文件名不同,则自行修改
  tar zxvf mentohust-0.3.1.tar.gz
  cd mentohust-0.3.1/
  ./configure --disable-encodepass --disable-arp --disable-notify --disable-nls --with-pcap=/home/mentohust/libpcap-1.0.0/libpcap.a
  make

执行完以上命令后,mentohust可执行文件在当前文件夹的src目录中(绝对路径为 /home/mentohust/mentohust-0.3.1/src/),将该文件移动到/usr/bin目录下:

cp mentohust /usr/bin

配置连接信息

此时你已经获得了可用的mentohust文件,使用sudo mentohust -h将获得以下结果:

欢迎使用MentoHUST	版本: 0.3.3
Copyright (C) 2009 HustMoon Studio
人到华中大,有甜亦有辣。明德厚学地,求是创新家。
Bug report to http://code.google.com/p/mentohust/issues/list
用法:	mentohust [-选项][参数]
选项:	-h 显示本帮助信息
	-k 退出程序
	-w 保存参数到配置文件
	-u 用户名
	-p 密码
	-n 网卡名
	-i IP[默认本机IP]
	-m 子网掩码[默认本机掩码]
	-g 网关[默认0.0.0.0]
	-s DNS[默认0.0.0.0]
	-o Ping主机[默认0.0.0.0,表示关闭该功能]
	-t 认证超时()[默认8]
	-e 响应间隔()[默认30]
	-r 失败等待()[默认15]
	-a 组播地址: 0(标准) 1(锐捷) 2(赛尔) [默认0]
	-d DHCP方式: 0(不使用) 1(二次认证) 2(认证后) 3(认证前) [默认0]
	-b 是否后台运行: 0() 1(是,关闭输出) 2(是,保留输出) 3(是,输出到文件) [默认0]
	-y 是否显示通知: 0() 1~20()[默认5]
	-f 自定义数据文件[默认不使用]
	-c DHCP脚本[默认dhclient]
例如:	mentohust -uusername -ppassword -neth0 -i192.168.0.1 -m255.255.255.0 -g0.0.0.0 -s0.0.0.0 -o0.0.0.0 -t8 -e30 -r15 -a0 -d1 -b0 -fdefault.mpf -cdhclient
使用时请确保是以root权限运行!

因此你可以直接复制他给出的例子,将参数填入其中,在最后加上一个’-w’,就会将所有的参数保存到/etc/mentohust.conf中,当然运行时别忘了加上sudo

开机自启

那么接下来就要设置mentohust的开机启动了:

编辑启动脚本:sudo vim /etc/init.d/mentohust
内容入下:

#!/bin/sh
#
# chkconfig: 2345 80 20
# description: mentohust
#
./usr/bin/mentohust

设置可执行权限:chmod 755 /etc/init.d/mentohust

使用chkconfig添加脚本以在开机时启动:

apt install chkconfig
chkconfig --add mentohust 
chkconfig mentohust on

查看脚本是否成功添加:

chkconfig --list mentohust 

若成功则得到以下结果:

mentohust                 0:off  1:off  2:on   3:on   4:on   5:on   6:off

若想禁用脚本,则执行:

chkconfig mentohust off
chkconfig --del mentohust

以上,搞定了mentohust连接的问题,你就可以尝试将以太网插入树莓派中,并对其进行重启,手机或电脑连接WiFi,尝试一下树莓派的热点啦。

caddy安装配置

下载安装

这一部分是因为个人需求,树莓派的内存卡只有16G,因而注定了它无法存储太大的文件,该项也只是为了方便多设备连接树莓派时,文件的即时传输。

可在caddy官网上选择自己的设备框架及插件:

树莓派+开启热点+mentohust+caddy_第3张图片

然后下拉界面,你会看到这个:
树莓派+开启热点+mentohust+caddy_第4张图片
实际上我在安装的时候并没有看到这个,,,所以废了好大一番功夫才搞定caddy的安装的,现在,建议直接使用该命令安装caddy:

curl https://getcaddy.com | bash -s personal http.filebrowser

并随着脚本的提示进行简单的操作。

那么你可能想要问,上面那一行链接是什么呢?
一开始我以为是用来方便命令行下载的,但,,,我并没有成功:

root@raspberrypi:~# wget https://caddyserver.com/download/linux/arm7?plugins=http.filebrowser&license=personal&telemetry=off
[1] 17651
[2] 17652
root@raspberrypi:~# --2019-03-02 21:54:33--  https://caddyserver.com/download/linux/arm7?plugins=http.filebrowser
正在解析主机 caddyserver.com (caddyserver.com)... 2604:a880:2:d0::1145:e001, 138.68.240.78
正在连接 caddyserver.com (caddyserver.com)|2604:a880:2:d0::1145:e001|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 400 Bad Request
2019-03-02 21:54:34 错误 400:Bad Request。

^C
[1]-  退出 8                wget https://caddyserver.com/download/linux/arm7?plugins=http.filebrowser
[2]+  已完成               license=personal

因而若你想下载之后再配置,只能使用VNC连接树莓派,从图形化界面下载,也就是和我一开始麻烦的下载方法。

下载完成后,进入文件目录,运行以下命令:

tar zxvf caddy_*
mv caddy /usr/local/bin

额,我并不清楚解压后的文件名称,因此,自己记得修改哈。

这时,你可以执行caddy然后访问 “路由器内网IP:2015” ,你如果看到404错误,说明caddy正在运行,但站点的根目录缺少index文件。

配置信息

首先,你要选定一个目录作为你的网站目录,文件夹位置自行选择,我这里是:

mkdir /home/www/file

之后,你可以编辑一个文件作为caddy的配置文件:

vim /etc/Caddyfile

文件内容如下:

:80 {
  root /home/www/file
  timeouts none
  gzip
  filebrowser / /home/www/file {
  # 数据库文件可自行设定位置
    database /home/www/filebrowser.db
  }  
}

caddy还有更多的插件和设定,但我的目的只是在局域网下快速的传递文件,因而不做更多叙说。

开机设置

编辑启动脚本:sudo vim /etc/init.d/caddy
内容入下:

#!/bin/bash
#
# chkconfig: 2345
# description: caddy
#
./usr/local/bin/caddy -conf /etc/Caddyfile

设置可执行权限:chmod 755 /etc/init.d/caddy

使用chkconfig添加脚本以在开机时启动:

apt install chkconfig
chkconfig --add caddy 
chkconfig caddy on

查看脚本是否成功添加:

chkconfig --list caddy  

OVER

你可能感兴趣的:(ubuntu)