certbot-auto错误处理

使用 cerbot-auto 时提示如下错误:

1
UnicodeEncodeError: 'ascii' codec can't encode character u'\u4e0e' in position 2870: ordinal not in range(128)

查看日志

1
/var/log/letsencrypt/letsencrypt.log

错误原因:
在 python2.7 下将字符串写入到文件时会出现”UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xa0’ in position”的错误,原因是由于 python 基于 ASCII 处理字符的,当出现不属于 ASCII 的字符时,会出现错误信息。

解决办法:
指定文件字符集为 utf-8

在 letsencryp 头文件

1
vim /opt/eff.org/certbot/venv/bin/letsencrypt

加入以下代码:

1
2
3
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

树莓派chromium设置sock5代理访问

由于在特定网络环境下 chromium 需要通过代理访问,可以用如下方法

1
chromium-browser --proxy-server="socks5://192.168.31.5:1080"

经过测试使用 127.0.0.1 无法代理,必须使用设备 ip。

树莓派连接隐藏wifi网络

使用 nano 编辑器打开 wpa-supplicant 配置文件

1
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

在文件底部添加:

1
2
3
4
5
network={
ssid=”wifi_name”
scan_ssid=1
psk=”wifi_password”
}

关键是 ssid_scan=1 这一句,加上后才能扫描到隐藏的 wifi 网络。之后保存退出(ctrl+o 保存,ctrl+x 退出)nano 编辑器,reboot 重启即可。

相关 network 的配置信息:
network:是一个连接一个 WiFi 网络的配置,可以有多个,wpa_supplicant 会按照 priority 指定的优先级(数字越大越先连接)来连接,当然,在这个列表里面隐藏 WiFi 不受 priority 的影响,隐藏 WiFi 总是在可见 WiFi 不能连接时才开始连接。

1
2
3
4
ssid:网络的ssid
psk:密码
priority:连接优先级,越大越优先
scan_ssid:连接隐藏WiFi时需要指定该值为1

iMac终端走Socks5代理方法

1.找到代理地址和端口
本人的 Socks5 的监听地址是 127.0.0.1,端口 1086

  1. 打开终端添加配置

(我的终端是 zsh)打开终端,输入以下代码打开 vim

1
vim ~/.zshrc

按下键盘上的字母「i」,进入编辑模式,输入以下代码,第二行末尾改成自己的代理地址和端口

1
2
3
# proxy list
alias proxy='export all_proxy=socks5://127.0.0.1:1081'
alias unproxy='unset all_proxy'

按下键盘上的「esc」,退出编辑模式。输入以下代码保存修改并退出 vim

1
:wq

初始化配置

1
source ~/.zshrc
  1. 执行

开启代理模式,查看 ip,看看 brew update 命令顺畅与否

1
2
proxy
brew update

如果不想走代理了则使用 unproxy 命令

1
unproxy

开启代理模式前后可以查看 ip

1
curl cip.cc

树莓派通过Nginx发布共享音频文件

我们想通过局域网共享一下存放在树莓派里面的音频文件,树莓派安装了树莓派自带的系统。

1、安装 Nginx

1
2
sudo apt-get update
sudo apt-get install nginx

2.测试是否安装成功(nginx 默认是 80 端口)

浏览 127.0.0.1 看网页是否正确显示

3.设置配置文件

获取 nginx 配置文件路径

1
sudo nginx -t

输出:

1
2
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

树莓派搭建Nas

Step 1: 更新系统

1
2
sudo apt-get update
sudo apt-get upgrade

Step 2: 安装 Samba

1
2
sudo apt-get install samba samba-common-bin

Step 3: 挂载移动硬盘

Step 4: 使用 Samba 共享文件夹

1
sudo nano /etc/samba/smb.conf

在文件的身份验证下面添加上这一行

1
security = user

Step 5: 设置共享文件夹

还是在刚刚那个配置文件上,在结尾添加:

1
2
3
4
5
6
[MyNas]
path = /home/pi/shared
writeable=Yes
create mask=0777
directory mask=0777
public=no

MyNas: 这定义了与共享文件夹有关的地址和其他配置。例如,共享文件夹将是以下地址:\ raspberrypi \ MyNas。
path:共享文件夹目录;
valid users:有效用户;
read only:是否只读;
create mask:创建文件的权限;
directory mask:创建文件夹的权限;
guest ok:是否允许访客访问;
browseable:是否可见。

添加完成后保存就行了,CTRL + X 然后按 Y and 最后敲个回车

Step 6: 添加用户到 Samba

sudo smbpasswd -a pi
这一步会让你输入密码,这个密码是等会用来登陆 nas 用的,不是系统的那个密码。

pi 是树莓派默认的用户,如果你想改个名也可以,新建用户就完事了。
sudo adduser username
sudo smbpasswd -a username

这一步可能要重启 Samba 才能生效—————–注:samba 默认开机自启,无需为重启担心。

1
2
sudo samba restart

挂载 ntfs 格式硬盘

1
sudo apt-get install ntfs-3g
1
sudo umount /dev/sda2

格式化 NTFS

1
sudo mkfs.ntfs -f /dev/sda2
1
2
sudo mount -t ntfs-3g -o permissions /dev/sda2 /home/ubuntu/share

自动挂载设备

查看要指定加载储存设备的 UUID

1
sudo blkid

结果如下:

1
2
3
4
/dev/mmcblk0p1: LABEL=”boot” UUID=”CDD4-B453” TYPE=”vfat” PARTUUID=”daf17199-01”
/dev/mmcblk0p2: LABEL=”rootfs” UUID=”72bfc10d-73ec-4d9e-a54a-1cc507ee7ed2” TYPE=”ext4” PARTUUID=”daf17199-02”
/dev/mmcblk0: PTUUID=”daf17199” PTTYPE=”dos”
/dev/sda1: LABEL=”piusb” UUID=”3EFBF3DF518ACC17” TYPE=”ntfs” PARTLABEL=”Basic data partition” PARTUUID=”5cb848ac-2940-462f-8600-e881ce428606”
1
2
3
4
5
6
7
8
9
// 编辑设备管理
sudo vim /etc/fstab
// 在最后一行添加你要挂载的设备
// 针对非 ntfs 格式的移动硬盘
UUID=3EFBF3DF518ACC17 /media/piusb auto defaults,noexec,umask=0000 0 0

// 针对 ntfs 格式的移动硬盘
UUID=7AE83E6917B75C04 /home/ubuntu/share ntfs-3g defaults,noexec,umask=0000 0 0

作者:HarryZhang6
链接:https://juejin.im/post/5e5c02dc6fb9a07ccb7e9b58
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。