月度归档:2021年12月

收集网络公开的测速文件 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
云乞讨

卡哇伊,将人脸照片转化为卡通风格的画作 2021-12-08

创意,精彩,可以把自己的照片变为卡通风格的创意作品,来自韩国作者bryandlee的作品”animegan2-pytorch”

项目地址:

https://github.com/bryandlee/animegan2-pytorch

作者给到的效果图:

平面效果一览:

开工测试

打开验证效果的网页

https://huggingface.co/spaces/akhaliq/AnimeGANv2

点击页面上的”Drop Image Here or Click to Upload”

上传图片,点击submit提交,等待程序算法跑完即可看到效果图。

验证效果,四张图片,右侧为原图,左侧为算法解析后的效果图

IMG-01
IMG-02
IMG-03
IMG-04

重要提醒,

  1. 侧脸的效果不佳
  2. 长的丑的就不要试了,这个不是美颜算法。

YouTube视频地址

卡哇伊,将人脸照片自拍转化为卡通风格的画作 2021-12-08
博客 https://dasmz.com/?p=835
视频 https://youtu.be/6GkuXYtpkHo

觉得这篇文章赞的,欢迎打赏:

Donate
云乞讨

安卓Android高效的开源投屏工具,scrcpy,使用介绍 2021-12-07

项目地址 https://github.com/Genymobile/scrcpy

中文Readme https://github.com/Genymobile/scrcpy/blob/master/README.zh-Hans.md

Windows 下载地址 https://github.com/Genymobile/scrcpy/releases/download/v1.21/scrcpy-win64-v1.21.zip

  1. 支持安卓5 到 安卓12
  2. 支持控制和预览

注意,手机的ADB调试,必须打开

// 在下载的scrcpy的目录

如下的步骤:
C:\Users\adm\Downloads\scrcpy-win64-v1.21> ./adb devices 
// 手机上点击同意
C:\Users\adm\Downloads\scrcpy-win64-v1.21> ./adb usb
C:\Users\adm\Downloads\scrcpy-win64-v1.21> ./scrcpy

YouTube 实践视频如下:

开源高效的安卓Android投屏工具scrcpy  2021-12-07
博客 https://dasmz.com/?p=823
视频 https://www.youtube.com/watch?v=OP1_5oEPfjw
Donate
云乞讨