配置树莓派2 Raspberry 2 Model B V1.1 2014从USB boot startup的SSD固态硬盘启动 2022-1-9

第一章 需求描述

如文章标题所示的,需要配置树莓派Raspberry从USB的SSD固态硬盘启动,将保证它运行的性能,同时又能获取较大的容量

第二章 硬件清单

01 树莓派2 Raspberry 2 Model B V1.1 2014版

02 USB电源插头,规格为5V-1A,配套的USB线

03 固态硬盘一个,容量为120GB的SSD固态硬盘,及配套的硬盘盒,USB连接线

04 microSD存储卡,及配套的USB读卡器

05 显示器,及有HDMI接口的显示器连接线/转接线(用于调试)

第三章 安装实施

3-01 状况描述

默认情况下,Raspberry Pi 从 microSD 存储卡启动。但是自从 Raspberry Pi 3 发布以来,新的 Pi 也能够从 USB 大容量存储设备启动。

新的启动模式处于试验阶段,因此它可能不适用于您的 U 盘或硬盘,就是说有些硬盘可能未必兼容。

设置启动模式是永久性的。实际如果插入了 microSD 卡,您的 Pi 仍会优先从 microSD 存储卡启动。

看到这里,我就无语了,我吃灰的树莓派,版本是(Raspberry 2 Model B V1.1 2014),好像版本有点旧了。网络上的文章大多是基于pi3 或者pi 4的,因为我有这样的旧设备,本篇文章正好再来尝试一下旧设备的安装方式。

原理也很简单,写入一个镜像到microSD存储卡,写入一个镜像到120GB的SSD固态硬盘,在 microSD卡的/boot/cmdline.txt中指向启动的分区为120G固态硬盘上的文件系统,就可以了

3-02 尝试安装

本次操作是在上次已经写入镜像的基础上进行操作的,写入树莓派镜像到microSD存储卡的教程在 https://dasmz.com/?p=1045

格式化存储卡,写入镜像,在该/boot中,创建SSH空白文件的操作不要忘记

格式化120G的固态硬盘,写入镜像,写完之后,再插入一下台式机,格式化掉它的/boot这个卷

把树莓派插上供电,连接网线,通过路由器的管理页面,找到它的IP地址

通过终端连接树莓派,最好有显示器接在树莓派上,可以看到树莓派的启动状态

user@local:~ $ ssh pi@10.11.11.114
// 密码为初始的 raspberry

3-03 指定启动的文件系统

设备的系统本质上是2个分区,一个是/root 一个是常规的文件系统/

pi@raspberrypi:~ $ blkid

/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="C839-E506" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="3f7dd594-01"

/dev/mmcblk0p2: LABEL="rootfs" UUID="568caafd-bab1-46cb-921b-cd257b61f505" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="3f7dd594-02"

/dev/sda1: LABEL_FATBOOT="NBOOT" LABEL="NBOOT" UUID="E2A7-DCF9" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="8acef004-01"

/dev/sda2: LABEL="rootfs" UUID="568caafd-bab1-46cb-921b-cd257b61f505" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8acef004-02"

pi@raspberrypi:~ $ 

// 16GB存储卡 
// Disk /dev/mmcblk0: 15 GiB, 16110321664 bytes, 31465472 sectors

// 120GB的SSD固态硬盘
// Disk /dev/sda: 111.79 GiB, 120034123776 bytes, 234441648 sectors

看到如上的信息之后,记录下来,把树莓派关机,把存储卡拔出来,插进存储卡读卡器,插上电脑,在/boot/cmdline.txt中指向启动的分区为120G固态硬盘上的文件系统,应该就可以了。

root@raspberrypi:/boot# vi cmdline.txt
console=serial0,115200 console=tty1 root=PARTUUID=8acef004-02 rootfstype=ext4 fsck.repair=yes rootwait
root@raspberrypi:/boot# reboot


// 修改PARTUUID的3f7dd594-02到我们120GB固态硬盘的那个8acef004-02
// 可选用UUID,root=LABEL=FuDatui或者root=UUID=CB99-9527

修改完成,直接重启,重启后,登录系统,在扩展一下磁盘到SSD的整个分区,再重启

root@raspberrypi:~# raspi-config
-- 选择 advanced option
-- 选择 Expand Filesystem ...
root@raspberrypi:~# reboot

3-04 更新

切换到root用户后,执行更新操作,这两个的更新,纯国内网络环境,可能需要比较久的时间,如果有条件的,尽量让 raspberrypi.org 这个相关的域名,走到代理去。

root@raspberrypi:~# apt-get update
root@raspberrypi:~# apt-get upgrade

执行过程的截图,不走代理,和走代理更新的速度巨大差别。配置apt走代理的教程 https://dasmz.com/?p=19

因为是microSD存储卡,升级upgrade的操作时间比较久,一共用了4分45秒

3-05 补缺

执行过程提示了,两个报错,故而建议把语言和时区设置一下

root@raspberrypi:/home/pi# dpkg-reconfigure locales
// 增加勾选 en_US.UTF-8 zh_CN.UTF-8这两个,因为树莓派Raspberry是英国出品,所以,默认语言是en_GB

设置服务器的时区,设置为亚洲/上海

root@raspberrypi:/home/pi# dpkg-reconfigure tzdata

Current default time zone: 'Asia/Shanghai'
Local time is now:      Sun 09 Jan 2022 08:44:02 PM CST.
Universal Time is now:  Sun Jan  9 12:44:02 UTC 2022.

debconf: DbDriver "templatedb": could not sync /var/cache/debconf/templates.dat-new: Input/output error
root@raspberrypi:/home/pi# 

如果觉得这篇文章很赞,欢迎赞赏/打赏

Donate
云乞讨

参考文章 https://forums.raspberrypi.com/viewtopic.php?t=193157

参考文章 https://thepi.io/how-to-boot-your-raspberry-pi-from-a-usb-mass-storage-device/

参考文章 http://www.maoyingdong.com/raspberry_4b_usb_boot/

参考文章 https://www.cnblogs.com/sjqlwy/p/4495917.html 基本无用

参考文章 https://blog.51cto.com/u_15162069/2782366 基本无用

VMess MD5 认证信息 淘汰机制 2022-1-6

问题描述:

好几个小伙伴向我反馈,其用一键脚本搭建的V2ray梯子,最近”不好用了”。

大概率的影响因素,就是如本文标题所说的vmess md5认证信息,淘汰机制的影响。

官方的链接说明: https://www.v2fly.org/config/protocols/vmess.html

自 2022 年 1 月 1 日起,服务器端将默认禁用对于 MD5 认证信息 的兼容。

换成大白话就是,在2022-1-1开始,服务端的V2ray会默认自动拒绝旧版的Header,造成客户端发送的连接请求,在服务端进程上被拒绝连接。

常见的报错信息如下:

2022/01/02 16:26:41 127.0.0.1:57634 rejected common/drain: common/drain: unable to drain connection > websocket: close 1000 (normal) > proxy/vmess/encoding: invalid user: VMessAEAD is enforced and a non VMessAEAD connection is received. You can still disable this security feature with environment variable v2ray.vmess.aead.forced = false . You will not be able to enable legacy header workaround in the future.

// 当 alertID >0 时,VMess 出站仍将使用 VMess MD5

// 影响的版本范围 4.35.0

因为,不同平台,不同的客户端,开发者适配工作暂时未完成,且为了兼容很多不懂升级客户端的人,暂时应优先考虑将V2RAY_VMESS_AEAD_FORCED在环境变量中关闭的方式。

处理的办法1

修改systemd服务

修改 /etc/systemd/system/v2ray.service

增加一行内容

Environment="V2RAY_VMESS_AEAD_FORCED=false"

增加完,重启服务即可

systemctl daemon-reload

systemctl restart v2ray

处理办法2

修改systemd服务

修改 /etc/systemd/system/v2ray.service

ExecStart=/usr/bin/env v2ray.vmess.aead.forced=false /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json

增加完,重启服务即可

systemctl daemon-reload

systemctl restart v2ray

处理办法3

下载旧版本(低于4.35.0)的对应平台的release二进制文件压缩包,解压覆盖到/usr/bin/v2ray/目录

附录1:

# 如果是Docker,修改 docker-compose.yml
environment:
        - 'config/etc/v2ray/config.json'
        - 'V2RAY_VMESS_AEAD_FORCED=false'
Donate
云乞讨

树莓派Raspberry 写入镜像 2022-1-4

需求:手头有一个上古时期的树莓派,型号是B V1.1 2014,可以给它写入一个镜像,用来当作下载机。

一、下载Win32 Disk Imager

https://sourceforge.net/projects/win32diskimager/

二、下载树莓派Raspberry的镜像文件

https://www.raspberrypi.com/software/operating-systems/

三、安装Win32 Disk Imager

四、格式化U盘

五、解压镜像文件,用Win32 Disk Imager写入镜像到TF存储卡

六、在boot分区下,写入一个空白的名称为SSH文件

七、TF存储卡插入树莓派,接上网线,接上电源

Donate
云乞讨

收集网络公开的测速文件 2021-12-29

更新时间 2021-12-29 20:19,已执行,基于行的去重复。

加拿大-Toronto https://lg.yyz.as212934.net/10MB.test
德国-Niederlande https://lg.nl.haendler.it/100MB.test
日本-Equinix-TY8-Japan http://tyo.lg.webhorizon.in/50MB.test
波兰 http://waw.lg.webhorizon.in/50MB.test
澳大利亚-Sydney https://lg.quantumcore.com.au/15MB.test
澳大利亚-Sydney https://lg.quantumcore.com.au/25MB.test
澳大利亚-Sydney https://lg.quantumcore.com.au/50MB.test
罗马尼亚-Bacau http://proof.hazi.ro/100MB.test   
美国-Dallas http://66.11.123.33/100.mb
美国-Dallas http://66.11.123.33/10.mb
美国-Dallas https://dal.lg.leveloneservers.com/1000MB.test
美国-Dallas https://dal.lg.leveloneservers.com/100MB.test
美国-Dallas https://dal.lg.leveloneservers.com/25MB.test
美国-Dallas https://dal.lg.leveloneservers.com/500MB.test
美国-Dallas https://dal.lg.leveloneservers.com/50MB.test
美国-Las-Vegas-NV https://lv.hostodo.com/100MB.test
美国-Las-Vegas-NV https://lv.hostodo.com/10MB.test
美国-Miami-FL https://mia.hostodo.com/100MB.test
美国-Miami-FL https://mia.hostodo.com/10MB.test
美国-Miami-FL https://mia.hostodo.com/50MB.test
美国-Spokane-WA  https://wa.hostodo.com/100MB.test
美国-Spokane-WA  https://wa.hostodo.com/10MB.test
芬兰-Helsinki https://lg-fin.incognet.io/100MB.test
芬兰-Helsinki https://lg-fin.incognet.io/10MB.test
英国-Kent https://looking-glass.cloudxtiny.co.uk/25MB.test
英国-London 51.195.146.211 http://51.195.146.211/LookingGlass/25MB.test
英国OVHhttp://51.195.146.211/LookingGlass/100MB.test
英国OVH http://51.195.146.211/LookingGlass/25MB.test
英国OVH http://51.195.146.211/LookingGlass/50MB.test
荷兰-Dronten http://lg.hostslim.nl/LookingGlass/100M.test
荷兰-Dronten http://lg-nl.viridweb.com/100MB.test
荷兰-Dronten http://lg-nl.viridweb.com/25MB.test
荷兰-Dronten http://lg-nl.viridweb.com/50MB.test
荷兰-Lelystad-The-Netherlands http://lg.hostslim.nl/LookingGlass/100M.test
荷兰-Naaldwijk https://lg-nl.incognet.io/100MB.test
荷兰-Naaldwijk https://lg-nl.incognet.io/10MB.test
荷兰-Wormer-Netherlands http://ams-test.softshellhosting.com/25MB.test
西班牙-Madrid http://lg.ginernet.com/100MB.test
Donate
云乞讨

媒体服务器 Jellyfin的研究 2021-12-23

从 Emby 独立出来的 Jellyfin,继承了 Emby 的完整功能,而且是开源和完全免费的

官网地址 https://jellyfin.org/

安装步骤,在官方的页面有,https://jellyfin.org/downloads/

官方的安装指导 https://jellyfin.org/docs/general/quick-start.html

命令行安装方式

sudo apt install apt-transport-https
wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo apt-key add -
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin

Docker镜像

docker pull jellyfin/jellyfin:latest
mkdir -p /srv/jellyfin/{config,cache}
docker run 
-d \
-v /srv/jellyfin/config:/config \
-v /srv/jellyfin/cache:/cache \
-v /media:/media \
--net=host \
jellyfin/jellyfin:latest

推荐的 https://hub.docker.com/r/linuxserver/jellyfin

version: "2.1"
services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional
    volumes:
      - /path/to/library:/config
      - /path/to/tvseries:/data/tvshows
      - /path/to/movies:/data/movies
    ports:
      - 8096:8096
      - 8920:8920 #optional
      - 7359:7359/udp #optional
      - 1900:1900/udp #optional
    restart: unless-stopped
docker run -d \
  --name=jellyfin \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e JELLYFIN_PublishedServerUrl=192.168.0.5 `#optional` \
  -p 8096:8096 \
  -p 8920:8920 `#optional` \
  -p 7359:7359/udp `#optional` \
  -p 1900:1900/udp `#optional` \
  -v /path/to/library:/config \
  -v /path/to/tvseries:/data/tvshows \
  -v /path/to/movies:/data/movies \
  --restart unless-stopped \
  lscr.io/linuxserver/jellyfin

视频方向的研究 update at 2021-12-20

一、需求描述,调研分析:

搭建一个视频汇聚转发平台,实现将多个国标GB28181的摄像头的视频,进行收集,进行转发出去。需要高效稳定。

为了避免重复造轮子,尽快实现这样的需求,考察了几个视频转发的项目,选中了ZLMediaKit这个项目,为主要的核心后端。

项目地址 https://github.com/ZLMediaKit/ZLMediaKit

配套项目 https://github.com/ireader/media-server 提供了基础的视频能力

按照其官方给到的功能示意图,理论上其基本可以满足我这里的功能需求

官方给到几个上下游的项目,其中就有专门针对流管理的项目

如图,就有5个配套的流媒体管理的UI项目可供选择。

看上去第一个”GB28181完整解决方案”的这个比较受欢迎,项目地址 https://github.com/648540858/wvp-GB28181-pro ,那么这次,就选用这个项目作为UI前端进行尝试。

二、软件实施部署环节

2.1、手工方式配置后端ZLMediaKit,以便熟悉功能模块。

-- 本次实施的环境是2U物理服务器,操作系统为Debian 10 Buster amd64
2.1.1 获取代码
apt-get update 
apt-get install git
mkdir -p /root/src/
cd /root/src/
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
-- 千万不要忘记执行这句命令
git submodule update --init

2.1.2 安装编译器
apt-get install build-essential gcc cmake

2.1.3 安装编译需要的cmake工具
apt-get install cmake

2.1.4 安装必要的依赖库
apt-get install libssl-dev libsdl-dev libavcodec-dev libavutil-dev ffmpeg

2.1.5 构建和编译项目,我这里用6个核心来编译,速度还可以。默认的编译是不带webrtc功能的。
cd ZLMediaKit
mkdir build
cd build
cmake ..
make -j6  

2.1.6 启动程序
cd ZLMediaKit/release/linux/Debug
-- 通过-h可以了解启动参数,先用这个前台启动,后期调试完成后,再后台启动
./MediaServer -h
-- 以守护进程模式启动
./MediaServer -d &

2.1.7 拿一个MP4视频文件,压流测试看看
ffmpeg -re -i /root/MTV02.mp4 -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://0.0.0.0/live/mtv02

视频在局域网的播放地址: rtsp://10.150.150.101/live/mtv02

其实到了这步,后端就算构建完成了,后续如果无前端,理论上可以通过API进行操作。

– 备注,官方也给到一个Docker可以直接使用,本次未使用这个

docker run -id -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp panjjo/zlmediakit

2.2、手工方式配置wvp-GB28181-pro

根据项目描述,基于MediaServerUI进行修改,进MediaServerUI围观了一下,是基于nodejs。官方给到的部署技术指导页面为 https://github.com/648540858/wvp-GB28181-pro/wiki#%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B

-- 项目运行依赖redis、jdk1.8,打包依赖git、maven、nodejs、npm
2.2.1 安装nodejs
mkdir -p /usr/bin/nodejs
tar -xJvf node-v16.13.1-linux-x64.tar.xz -C /usr/bin/nodejs/
~/.profile  增加环境PATH
~/.bashrc  增加环境PATH
export PATH=/usr/bin/nodejs/node-v16.13.1-linux-x64/bin:$PATH
node -v         
java -version
-- 这次安装到的版本为nodejs-v16.13.1
-- 这次安装到的版本为openjdk-11.0.12
apt-get install openjdk-11-jre git

2.2.2 下载源码
git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git

2.2.3 编译静态页面
cd wvp-GB28181-pro/web_src/
npm --registry=https://registry.npm.taobao.org install
npm run build
-- 编译如果报错, 一般都是网络问题, 导致的依赖包下载失败
-- 编译完成后在src/main/resources下出现static目录
2.2.4-Pre maven需要java环境,前面我这里安装过了,现在去apache官网下载maven的二进制文件
-- 官方地址 https://maven.apache.org/download.cgi
-- 下载地址 https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
-- 下载的版本注意随着时间的推移,会更新,注意用新的版本的
cd /root/src/
wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
tar -zxvf apache-maven-3.8.4-bin.tar.gz
mkdir -p /usr/bin/maven/
mv /root/src/apache-maven-3.8.4 /usr/bin/maven
~/.bashrc  增加环境PATH
~/.profile 增加环境PATH
export PATH=/usr/bin/maven/bin:/usr/bin/nodejs/node-v16.13.1-linux-x64/bin:$PATH

2.2.4 打包项目, 生成可执行jar 
cd wvp-GB28181-pro
mvn package
-- 编译如果报错, 一般都是网络问题, 导致的依赖包下载失败
-- 编译完成后在target目录下出现wvp-pro-x.x-xxxxxxxx.jar
-- 未完成,待续
https://github.com/648540858/wvp-GB28181-pro/wiki/%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8C

轻松获取土耳其或其他任意地区的IP地址,巧用双层隧道,注册土耳其区域的Netflix 2021-12-15

Netflix的账号注册地区,决定了账号的付款货币,因为全球汇率的因素,各个地区存在很大的汇率差异,故而,有一些数字时代的移民,用这种办法获取土耳其/巴西/印度等汇率相对合算的区域的IP地址,虚拟身份信息,进行Netflix账号注册,以获得更优惠的一个价格。

目前阶段,在Netflix上,视频资源的区域限制,主要是根据观看时候的IP地址,故而使得这种跨区域注册的账号,可以正常使用。

通常注册Netflix,所需要的资源:

1、 土耳其/巴西/印度等区域的IP地址

2、 土耳其/巴西/印度等区域的虚拟个人身份信息,可能需要手机号验证

3、 VISA或者Master Card这类的支付方式

本文,侧重给大家讲解一下,如何获取一个土耳其的IP地址

相关项目地址 https://github.com/constverum/ProxyBroker — 放弃

推荐一个现成的接口 https://www.proxyscan.io/api/proxy?country=tr

用工具请求这个接口,只需要修改国家或地区的2位字符的编码,就可以获取到你想要的地区的IP地址。

cd C:\Users\admxn\Downloads\gost-windows-amd64-2.11.1

gost-windows-amd64.exe -L=socks5://127.0.0.1:9999 -F=socks5://127.0.0.1:10808 -F=socks4://95.*.7.41:10800

gost-windows-amd64.exe -L=socks5://127.0.0.1:9999 -F=socks5://127.0.0.1:10808 -F=socks4://84.*.56.123:4145

gost-windows-amd64.exe -L=socks5://127.0.0.1:9999 -F=socks5://127.0.0.1:10808 -F=socks4://195.*.42.18:4153

搭配浏览器插件SwitchyOmega,让浏览器所有流量走到本地的9999

视频地址 https://youtu.be/nHe5NnEInqE

轻松获取土耳其的IP地址,巧用双层隧道,注册土耳其区域的Netflix,其他冷门地区的IP也可同理获取到。 2021-12-15
博客  https://dasmz.com/?p=943
视频  https://youtu.be/nHe5NnEInqE
Donate
云乞讨

国行安卓Android设备,收看TikTok技术指南 2021-12-14

首先,大家面对的地一个问题是从哪里下载TikTok对应的APK文件呢

首选的是Google Play,但是这门槛高,有的设备根本安装不上Google Play客户端

那么,只能选择一些其他的资源分发站点了

比较推荐的如下四个

EVOZI, APKPURE, APKMIRROR, APKCOMBO

EVOZI 官网 https://apps.evozi.com/apk-downloader/

APKPURE 官网 https://m.apkpure.com

APKMIRROR 官网 https://www.apkmirror.com

APKCOMBO 官网 https://www.apkcombo.com (本次视频使用的这个站点)

在搜索框里搜索 TikTok

选择下载量为1 B+ 90MB大小的这个

链接 https://apkcombo.com/tiktok/com.zhiliaoapp.musically/

选择点击Download APK (90MB)

点击跳出来的页面上的下载按钮

等待下载完成,安装即可

打开TikTok,可以自己邮箱注册账号,收看收藏

YouTube:

TikTok 收看指南
苹果手机 https://dasmz.com/?p=793  https://youtu.be/7QQeZZlGSWs
苹果平板 https://dasmz.com/?p=793  https://youtu.be/Ut2BCz_3K-o
安卓 https://dasmz.com/?p=921  https://youtu.be/fj8gjnosz8Y
Donate
云乞讨

Windows环境上使用Nginx1.26.2最新稳定版本,做一个列表式样的文件服务器 2024-10-23

前缀、文档修改记录

20211213 初始化编辑此文章,完稿,Nginx 1.20.2稳定版本
20241023 更新此文章,更新,Nginx 1.26.2稳定版本

章节1、需求描述

在Windows系统环境下,使用最新的Nginx for Windows稳定版本(时间戳2024-10-23 Nginx版本号1.26.2),做一个文件服务器。

在2024-10-23,增加Nginx的文件服务器的访问验证,需要用户名密码才能看到文件清单。

章节2、环境

Nginx官网下载页面 http://nginx.org/en/download.html

章节3、操作步骤

下载Windows环境的最新稳定版本的压缩包,解压,增加一个文件夹,sites-enabled,用于存放自定义站点的conf配置文件,增加一个文件夹,certs,用于存放站点的证书文件。

此外,增加一个documents文件夹,这个是我自己用来放文件的。

修改配置文件 conf\nginx.conf,增加一个自定义目录的引用

// 绝对路径
include "C:/Users/Administrator/Downloads/nginx-1.26.2/sites-enabled/*.conf";
或者
// 相对路径
include ./sites-enabled/*.conf;

增加一个文件服务器的自定义站点配置文件 sites-enabled\http.conf

在该文件中写入如下的配置文件

server {
    listen       0.0.0.0:4433;
    server_name  WebServer;

    charset UTF-8;

    location / {
	auth_basic "Auth Login";
        auth_basic_user_file "./passwd.dat";
		
        root "./documents";
        index index.html;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }
}

其中密码文件,可以用htpasswd或者openssl来生成密码,写入对应的密码保存文件即可,且比较推荐用openssl,因为这个很多Linux主机,都是默认安装了的。

root@server# openssl passwd -apr1
Password: 
Verifying - Password: 
$apr1$rtk/C2Aa$eXaamdfTgCU0AXLpmF.vH/
root@server#

// 将生成的密钥对字符串,写入到passwd.dat文件即可,我这里,把这个文件,放在nginx.exe同目录下。
写入格式为:
用户名:加密后的密码字符串

即:
user:$apr1$rtk/C2Aa$eXaamdfTgCU0AXLpmF.vH/

参数
-apr1(数字):apache中使用的备选md5算法代号,不能和"-1"选项一起使用,因为apr1本身就默认了md5。htpasswd工具生成的身份验证密码就是此方法。

$为分隔符号
$apr1$ 为 哈希类型
$rtk/C2Aa$ 为 加密密码时使用的随机salt
$eXaamdfTgCU0AXLpmF.vH/ 为 实际的密码哈希
openssl passwd -apr1 -salt "rtk/C2Aa" "pass12341234"
$apr1$rtk/C2Aa$eXaamdfTgCU0AXLpmF.vH/
// 如果操作系统为 Debian/Ubuntu
root@server#  apt update
root@server#  apt-get install apache2-utils  
// 如果操作系统为 CentOS
root@server#  yum update
root@server#  yum install httpd

// 使用htpasswd生成密钥对
root@server#  htpasswd -nbm user pass12341234
user:$apr1$vwSnVnJX$2QwvQqUcKV/uSfkjFZc3i/
root@server#

参数
# -c 创建一个加密文件,后面衔接的是写入的密码文件路径和名称
# -n 不更新文件,在标准输出上显示结果
# -b 在htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码
# -m 强制对密码进行MD5加密
# -D 删除指定的用户,后面衔接的是写入的密码文件路径和名称 + 需要删除的用户

// 将生成的密钥对字符串,写入到passwd.dat文件即可,我这里,把这个文件,放在nginx.exe同目录下。
密码文件
密码文件的位置

在CMD终端中,cd到nginx.exe所在的目录下,开启Nginx

nginx.exe -t          // 检查Nginx配置
start nginx.exe       // 启动Nginx
nginx.exe -s stop // 如果需要停止
启动nginx的命令

从本地访问服务器的Web,就提示要用户名、密码了,输入正确的用户名和密码即可访问。

列表式样的文件页面

附录1、视频操作演示

000041  Windows环境上使用Nginx 1.20.2最新稳定版本,做一个文件服务器 20211213
博客 https://dasmz.com/?p=891
视频 https://youtu.be/EjrtzDbdPhg

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

冷门的隧道协议PingTunnel概览,配置简单,可用于过市面上绝大部分的硬件防火墙 2021-12-12

隧道协议PingTunnel概览,配置简单,可用于过市面上绝大部分的硬件防火墙 2021-12-12

协议说明

项目地址 https://github.com/esrrhs/pingtunnel

  1. 基于ICMP协议
  2. 需要root权限
  3. 客户端/服务端工作模式
  4. 支持socks5/tcp模式
  5. 高速(据官方说,下载CentOS ISO镜像时候,对比kcp的600KB/s,它可以达到5.64MB/s)

基于TCP/IP协议的上下层协议示意,20220221补充该资料文档

安装测试过程

步骤01-更新

root@server:~# apt-get update

步骤02-安装必要的工具

root@server:~# apt-get install wget unzip

步骤03-创建工作目录

root@server:~# mkdir -p /root/src/

步骤04-下载程序

root@server:~# cd /root/src/
root@server:~# wget https://github.com/esrrhs/pingtunnel/releases/download/2.6/pingtunnel_linux_amd64.zip
root@server:~# unzip pingtunnel_linux_amd64.zip
root@server:~# mv pingtunnel /usr/bin/TunNEL
root@server:~# chmod +x /usr/bin/TunNEL

步骤05-配置服务端

隧道1-Tunnel-Pass FireWall

执行命令,形成Tunnel隧道的服务端

root@server:~# /usr/bin/TunNEL -type server -key 102030 -noprint 1 -nolog 1

步骤06-配置客户端-Windows环境

下载对应的Windows版本
地址 https://github.com/esrrhs/pingtunnel/releases/download/2.6/pingtunnel_windows_amd64.zip

C:\Users\admin\Downloads>  TunNEL -type client -l 127.0.0.1:11818 -s 198.*.125.* -sock5 1 -key 102030 -noprint 1 -nolog 1

连接上,就形成了一个本地有socks5监听的隧道

步骤07-测试隧道是同通畅,以及速度

打开浏览器,让SwitchyOmega代理,走到本地的socks5://127.0.0.1:11818,看能否联网即可

测试速度,打开speedtest fast几个测速网站尝试即可。

进阶教程

进阶教程01-进阶配置增加ping tunnel国内云VPS入口服务器,v2022-02-21

增加国内云主机VPS,配置ping tunnel客户端,可以为未root的安卓,未越狱的苹果手机,使用ping tunnel增加便利,比较推荐大家用这个方式配置ping tunnel。

详见教程地址: https://dasmz.com/?p=1404

进阶教程02-增加 iptables 的双端限速,v2022-02-21

进行入口服务器和远端服务器连接的双端限速,可以有效避免载荷流量被硬件防火墙/抗DDoS设备当成攻击流量而过滤

详见教程地址:https://dasmz.com/?p=1406

YouTube:

冷门的隧道协议PingTunnel概览
博客 https://dasmz.com/?p=867
视频-配置服务端 & Windows平台客户端 https://youtu.be/59KgX5qBLEk
视频-配置安卓Android平台客户端 需要root的手机,这个也就不具普遍性,需要安装SagerNet客户端以及Ping Tunnel Plugin插件,即可。


Donate
云乞讨