成都电信分配给个人的家用宽带IP地址定期更新,本来是用来快速发现变化后的IP地址的一个任务,解决IP地址变化后需要15分钟才能登录的问题,结果让发现了IP地址变化的规律。每隔6天,在每天中午11点20后的一个小时内更新IP地址。不知道是只针对特定账号的任务还是所有人同一时刻变更。
标签归档: Home-NAS
分享一个追最新外语电影的RSS
国内的Torrent分享网站越来越少了,无意中发现https://www.demonoid.is/可以下载到最新的高清/超清电影。但是有点比较讨厌,就是弹窗有点过份,不是我白嫖了种子还不愿支持广告,真是弹窗太过三俗刺眼,难以忍受。于是试着分析了网页内容,自己抓取电影种子文件链接,并添加Google搜索IMDB的链接,制作了RSS订阅链接。本来还想找一下有没有类似的Torrent分享站点,发现demonoid是与海盗湾齐名的,之前排名前几的站点已经都无法打开了,只剩这一个,切用且珍惜吧 :-) 源站地址:链接,经过抓取清洗和加工后生成的RSS链接为:https://photo.codefine.site:12524/rssfactory/demonoid-movies,只抓取了1080P及其以上质量的电影。
订阅后的呈现效果:
同时也制作了HTML版的独立网页:
https://movie.codefine.site:12524/
电影详情页,包含两个torrent下载地址,IMDB和豆瓣搜索链接。
安装 FileRun,HomeNAS 秒变网盘
HomeNAS上面虽然可以使用SFTP、WebDAV和NAS等协议分享文件,但是在易用性上面还是不如网盘的短连接+简单密码的方式好用。一直想找一个类似网盘的HTTP短连接分享的系统。EMBY的分享按钮似乎不能正常工作,更别谈使用带密码校验的功能了。之前Windows系统的Everything,只支持单个账户登录。
集中搜索了一下类网盘的解决方案,发现NextCloud、H5AI和FileRun都有类似功能,首先安装了NextCloud,发现其只能管理新上传的文件,所有文件必须进入了NextCloud的数据库才能被管理起来,NextCloud提供了命令行工具,扫描指定目录的所有文件和目录加入到其数据库中,但是每次目录有变化都需要重新扫描,不是太友好。直接放弃。
H5AI就没有尝试,主要发现该软件多年未更新。
最后FileRun,从软件的主页上面就看到了不需要导入文件的介绍:
使用docker镜像安装,网上其他资料都是介绍的使用docker-compose安装的,这里我本机已经有mysql的容器在运行了,因此直接使用docker run启动FileRun容器:
docker run -d \ --name filerun \ -p 8080:80 \ -v /opt/filerun/html:/var/www/html \ -v /media:/user-files \ -e FR_DB_HOST=yourdbhostip \ -e FR_DB_PORT=3306 \ -e FR_DB_NAME=filerun \ -e FR_DB_USER=filerun \ -e FR_DB_PASS='yourdbpasswrod' \ -e APACHE_RUN_USER=www-data \ -e APACHE_RUN_USER_ID=33 \ -e APACHE_RUN_GROUP=www-data \ -e APACHE_RUN_GROUP_ID=33 \ afian/filerun
其中/media是HomeNAS希望被管理的文件的根目录。使用superuser:superuser登录后,修改默认密码,完美呈现出media目录的所有文件。所有的文件相关操作均可在FileRun的WEB客户端上面操作。也能使用链接分享文件或者目录。访问分享链接的客户能在页面上一键打包下载所有文件,也能单个下载某个文件。
使用Emby + Picard管理音乐
最近把NAS上面累积下来的音乐都整理了一下,用emby建了一个音乐集。emby自带musicbrainz的插件,能从这个强大的音乐库中搜索MP3的元数据信息。然后从多个维度对音乐进行分类呈现。但是有个问题,很多MP3经过各个二道贩子编辑后,关键元数据信息都跟音乐本身没有任何关联了,因此自动搜索出来的元数据匹配存在一些问题,甚至有的MP3文件经过转码后,只剩下音乐本身,tag元数据全部丢失。只能人工填写,一两千个文件,逐一搜索排查可想而知难度有多大。找到了picard这个工具,可以自行匹配,然后没有匹配的再人工搜索,这样极大提高了准确率。比emby自动但是做了的错误的匹配要好的多。经过picard处理后的音乐文件再导入到emby中,就能准确识别歌手,专辑等信息,进而补充下载专辑唱片封面图等。
难得的是,picard在Win、Linux和Mac平台都能使用。对于Ubuntu 20,使用官方给出的命令很快就能安装成功:
sudo add-apt-repository ppa:musicbrainz-developers/stable sudo apt-get update sudo apt install picard
docker本地安装tiny tiny rss记录
# 启动mariadb 10.0.38 docker run --name mariadb -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD='password' \ -d mariadb:10.0.38 # 安装docker php 5.6 docker run -p 9000:9000 --name php \ -v /opt/codefine.site/:/opt/codefine.site/ \ -v /opt/codefine:/opt/codefine \ -v /media/c2/php//conf:/usr/local/etc/php \ -v /media/c2/php/logs:/phplogs \ -v /opt/phpmyadmin:/opt/phpmyadmin \ -d php6:latest # 安装php插件。借助于内部家里的内部梯子。懒得设置debian镜像。 export http_proxy=http://22.22.22.14:10080 apt update apt install libxml2-dev apt install libxml2 apt install libcurl3 apt install libcurl4-gnutls-dev ln -s x86_64-linux-gnu/curl curl apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev docker-php-ext-configure gd --with-freetype --with-jpeg docker-php-ext-install -j$(nproc) gd docker-php-ext-install mysql docker-php-ext-install mysqli docker-php-ext-install intl docker-php-ext-install pdo docker-php-ext-install pdo_mysql docker-php-ext-install fileinfo docker-php-ext-install xml docker-php-ext-install mbstring docker-php-ext-install json docker-php-ext-install opcache docker-php-ext-enable intl docker-php-ext-enable pdo docker-php-ext-enable pdo_mysql docker-php-ext-enable fileinfo docker-php-ext-enable xml docker-php-ext-enable mbstring docker-php-ext-enable json docker-php-ext-enable opcache docker-php-ext-enable mysql docker-php-ext-enable mysqli docker-php-ext-enable gd # 生成新的镜像。 docker save -o php.tar php docker load -i php.tar # 重新run一个新的container。 # nginx cat /etc/nginx/sites-enabled/ttrss server { listen 12345 ssl; root /opt/codefine.site/; index index.php index.html index.htm; server_name photo.codefine.site; ssl_certificate /path/of/server/file.pem; ssl_certificate_key /path/of/server/key/file.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass 127.0.0.1:9000; } }
Home NAS上可以运行哪些有趣的服务?
一、jAlbum
“自研”的相册管理程序,介绍和部署方法参考《jAlbum——Java WEB版相片管理系统 》。
二、代码托管服务器
国内访问github总是非常慢,所以把代码托管到HomeNas上面。使用gogs
三、文件备份工具
接收各个终端上面备份的视频、照片文件。使用sync搭建,目前墙内无法访问该工具的官方网站。现在有开源免费的替代方案:Syncthing。
四、Everything
everything本来是一个Windows系统的本地文件搜索工具,以其高效而著称,在IT从业人员中使用非常广泛。其开放WEB访问方式,支持远程搜索和下载文件,远程办公时访问HomeServer上面的文件非常方便。遗憾的是,至今其都不支持HTTPS方式访问,并且用于认证的用户密码机制非常原始。可能是作者为了保持该软件的健壮和简单,不愿意加入更多的小众化功能。
五、Emby Server
媒体管理平台,支持各大平台部署Server端,支持众多的终端部署客户端应用。免费版本的客户端限制较多。当然网上也流传着各种破解方法。 在HomeServer上面部署Emby主要用于管理电视剧、小孩子看的动画片、无损音乐和超清电影,没有广告干扰的娱乐时光还是很惬意的:) 其中电影自动搜索字幕比较有用。但是对于非电影文件,按照电影去搜索元数据时,会出现匹配错乱的问题,因此非电影文件的库都是禁用自动更新元数据。
六、RSSHub
这年头,RSS源越来越少了,只能自行部署一个RSSHub,目前主要用这个工具的客户端快速提取正在访问的网页中的RSS Feed。服务端能起的作用似乎还有限,也可能是还没有完全整明白这个该怎么用。
七、博客静态文件托管服务
在香港的一个主机提供商那里购买的丐版空间,只有1G的文件存储容量,博客中日积月累的各种图片和PDF已经将空间耗尽,还有Reader和博客的数据库文件其实也是分享的这1G的空间,而各大公由云的对象存储又收费,想着家里的NAS每天开机也是闲着,就再承担点负载。将网站的所有静态文件都从“自研”的托管服务上面出,模拟主流对象存储的API实现了类似镜像存储的机制。将所有图片本地保存。这样可以定期清理博客托管服务服务上面的图片和附件等。 当然还有最基本的NAS文件共享服务、远程访问服务、偶尔当梯子给其它终端代理、作为下载机等普通功能都不在话下。 不知不觉家里一个小小的Server上都部署了十来个服务。其实,HomeServer就缺了一个完整的80和443等端口,如果国内电信服务提供商开放这些端口,那么都不用购买任何网站托管服务了,直接在HomeServer上面运行所有网站相关的任务。这样不仅省钱,还便于管控。不过话也说回来,电信封了很多端口,对HomeServer的维护来说,也解决了网络安全的问题。
八、WebDAV服务
2020-8-9更新:增加WebDAV服务,使用go编写的caddy和webdav插件搭建。主要服务于跨平台的笔记服务:Joplin,除了界面不如印象笔记,功能上已经够用。有了WebDav,能做的事情就比较多了,如: 1、管理个人密码的keepass; 2、备份油猴配置和脚本; 3、当作网盘直接在桌面系统中挂载使用。
九、Cockpit服务
2020-8-27更新:增加cockpit服务,并替换自签名证书。
十、部署VMPlayer
用于运行两个虚拟机: 一个是Win10系统:1、用于搭建科学上网的客户端,给其他设备提供代理服务,科学上网这块在Win生态下的工具远比Linux系列的丰富和易用。这样不用每个终端都安装各种工具,只需要配置代理指向该Win系统即可。2、安装迅雷,现在下载没有迅雷,啥资源都是Kbytes/s的速度,难以忍受,毋庸置疑,资源都已经被迅雷垄断了,迅雷充当了CDN的作用。 另外虚拟化了一个黑群晖,主要用于体验群晖系统,其实群晖能做的事情,在这个HomeNAS上面都有了,只是想体验一下群晖的易用性。惊奇的发现,在虚拟机里面虚拟化出来的磁盘(600GB),磁盘落在EXT4文件系统上面,然后再经过群晖的文件共享出来使用,这个共享跟NAS上面原来的共享在性能上面没有任何差异,甚至更稳定,写速率稳定在112MB/s,是不是经过Vmware和EXT4文件系统两级缓存之后,速度跟均衡。装一个空壳的宿主机,把所有硬盘都交给虚拟机的黑群晖管理,也不失为一种新的NAS玩法。
十一、部署Docker
安装docker,并配置远程访问,dockerd监听本地端口,配置TLS证书。运行portainer,实现远程管理docker实例。运行wiz笔记程序,体验不同于joplin风格的为知笔记,该笔记在抓取网页方面有所欠缺,但是界面还有性能上面非常不错。
十二、人脸识别服务
参考《基于Dlib、Flask和Sqlite的人脸检测和识别服务》。
十三、FileRun
可以将HomeNAS瞬间变网盘,主要用于解决文件分享、带校验码分享的场景。另外也可以用这个来直接通过页面操作远端文件的增、删、改、查。参考链接安装 FileRun,HomeNAS 秒变网盘
十四、Grafana
使用docker部署Grafana、普罗米修斯和Node-exporter监控服务器的磁盘、CPU、内存和网络等消耗。
十五、Chevereto
部署图库服务,可以作为图床、相册等使用。简单高效管理图片。
十六、为知笔记
一个界面非常友好,功能强大的多设备、多用户,跨网络同步的笔记服务。
分享一个树莓派延时摄影和视频制作代码
心血来潮,想着做一个阳台花草生长的延时视频。阳台上正好有个树莓派,只需要一个摄像头即可。说做就做,500万像素的树莓派摄像头,包邮只需要30元。基本够够用了。接好线,固定好摄像头位置。
使用ffmpeg工具转换mov、avi格式为mp4
iPhone拍摄的视频备份到Home-NAS后,文件类型是mov,无法在网页上直接呈现,因此需要对视频编码进行转换。本想找一个批量转换的工具。无奈,从几个下载网站上面找了多款工具都不能完美实现,要么需要购买,要么转换后的视频效果极差。考虑使用ffmpeg工具,直接使用命令行转换,最终使用如下脚本实现了格式转换和元数据信息的拷贝。
set indir=%1
for %%a in (%indir%\*.mov) do ffmpeg -i "%%a" -map_metadata:s:a 0:s:a -map_metadata 0:g -map_metadata:s:v 0:s:v -vcodec copy -acodec copy "%%a.mp4"
for %%b in (%indir%\*.avi) do ffmpeg -i "%%b" -map_metadata:s:a 0:s:a -map_metadata 0:g -map_metadata:s:v 0:s:v -vcodec copy -acodec copy "%%b.mp4"
将如上代码保存为bat文件,将存放有mov和avi格式文件的目录拖拽到bat文件上面执行即可实现转换。
2017年10大热门卡片电脑
外媒给出的2017十大热门卡片电脑,大多数在淘宝都能找到销售链接。根据实际需求选取合适的卡片电脑,花最少的钱又刚刚好解决问题,是最大的乐事了。
1. Raspberry Pi Zero W — $10
基本上是目前市面上最便宜的卡片电脑了。支持Wifi和蓝牙无线连接。可以运行任意Linux系统。