单域名解析情况下frp服务器端的设置

假期开始前把frp设置好,为异地办公做好最后的准备。

zerotier适合内网穿透组网,如果只是单纯访问内网的机器,frp更合适一些,因为可以配合域名解析随处访问,不用记ip地址。

frp功能强,设置简单,服务端配置文件简单到只需要一行bind_port即可。

往往越是简单,坑反而越多,网上与此相关的文章帖子,自相矛盾的甚多,有的大呼出坑其实只是跳入另一个坑里。真是怀疑他们有没有实际配置运行过。

问题主要出在二级域名解析上。如果涉及到具体域名解析,而不是泛域名解析,frps端的配置文件中,需要增加一行vhost_http_port端口配置。这是frp服务器端监听的端口,绝不是可以删掉,只需要在客户端指定remote_port就可以强令服务器端开发该端口的。

如果配合Nginx做反向代理,那么监听的端口无论多少域名,都是vhost_http_port即可。

ubuntu 20.04下安装Poppler解决pdf压缩

因为昨天生成的检测报告数量多,总体的文件包大了很多,这样下载就需要非常长的时间,所以动了压缩文件的念头。

通过Python压缩pdf文件,网上一般都是推荐使用PyMuPDF包。其实原理跟我原先文字识别图片版pdf一样,就是通过将PDF文件切分转化为相应压缩率的图片,保存到本地后,再将图片合成PDF文件。

测试了几个文件后,效果并不好,体积减少一半后清晰度就非常差了。

于是转换一下方式,不再通过PyMuPDF包转化图片,而是使用原先的pdf2image包,这样可以指定图片的分辨率,能更好保证图片质量。

但运行程序的时候遇到麻烦,系统提示未安装poppler。使用pip安装总是提示失败。

上次使用这个程序,还是儿子上网课的时候,时间久远,已经忘了当时怎么解决。于是上网搜寻解决办法,基本都是git源码,然后编译,而且之前还要编译最新版的Cmake。

经过一番折腾,问题依然如同pip安装失败提示一样。

最后脑子似乎有点印象,使用sudo apt-get install poppler-utils,问题轻松解决。

换了新方法之后,在100dpi分辨率下,无论使用img2pdf,还是PyMuPDF包生成pdf文件,同体积下清晰度都有了明显提升。

商业软件价高有理

不用再跟柯基斗智斗勇,可以有足够时间开始数据库的准备工作了。

因为条件所限,目前还是使用原先伟东的服务器。原先一直使用免费的Robo 3T作为MongoDB的客户端,在下载安装之前,脑子一动,反正也是新安装,就先下载了一个网上最为推崇的Navicat试用版。

结果一试用,好家伙,商业软件就是商业软件,跟它一比,Robo 3T简直就是石器时代产品。

又到网上查询一下,破解软件虽然已经有所收敛,但仍能轻易找到,而且破解过程简单有效,不比当年的破解Delphi等难多少。

我当IT良民已经很多年了。而最初对商业收费软件敬而远之,起因就是Navicat取消lite免费版。

也就是在找到免费的heidisql作为替代品之后,感觉商业软件不过如此。

现在看来,真是贫穷限制了我的想象力。

购买欲望冷却的kindle paperwhite5

早上看新闻,kindle pw5推出,最大的变化就是面板由6寸升级为6.8寸,像素依然为300PPI,内部存储8GB,国行价格1068元。
当时第一反应就是这个价位无敌了。
但回头想想,其实提升并不显著,首先要面对,反而是自家前辈产品的竞争。
国产这个价位的电纸书,尺寸一般是7.8寸,主要针对的是漫画与需求不高的PDF,基本算是盗版的主流,这显然是kindle无意竞争的领域。
由此看,面板提升至6.8应该是无针对性的,属于发展性的提升,也是日后kindle的标配。而其他诸如Type-C接口等,都属于技术性的提升,不值一提。
这样以来,如果要看亚马逊正版图书,新产品吸引力并不大,所以价格并未上涨多少。
如此一来,这反而有些让我购买咪咕版kindle的决心有些坚定了。毕竟不足300元的原版产品,质量以阅读速度,非基于安卓系统的国产电纸书所能比的。

博阅likebook Mars电纸书刷机

前天本来想读书,结果拿出带来的博阅电纸书开机,始终停留在开机滚动状态。按照老办法,任其开机将电耗光,充电后,状况依旧。

也就是说死机了,严重点就是变砖了,唯一解决办法就是刷机。

刷机这事以前没少干,从迈拓的硬盘盒子,到败家子HP的webos平板,再到后来的小米手机。只是近些年来懒得折腾了,如果不是这个电纸书花了1000多块钱买的,我就直接扔一边换kindle了。

刷机网上攻略不少,需要的无非还是驱动、刷机工具、固件。前两个都好说,就是固件不好找。博阅官网干净得很,一点指望不上,而能下载的网站都是需要邀请码的论坛,估计是民间售后网站,只是对购买他们产品的用户提供服务。

这也难不倒咱,这是国内垄断,外国人实诚没这心眼。果然通过谷歌很快搜到了,做了一顿晚饭的功夫,下载完成。

安装好驱动,打开刷机工具后usb连接电纸书,老办法牙签顶住reset孔同时摁住开关机不松手,直到刷机工具提示找到loader设备。选择下载的T80D固件img文件,开始刷机。很快刷机提示完成,并重启机器。

重启之后,电纸书原先白屏变黑屏了,死的更彻底了。

死马当活马医,就当死白马变黑马了。

对比一下国内外的教程,发现唯一区别在刷机工具,都是瑞芯微的量产软件,只不过国外使用的是AndroidTool,国内使用的是FactoryTool。于是下载最新版的FactoryTool,重新刷机。

十分钟不到,机器满血复活了。

想想kindle用了这么多年,最多来个重启,这个博阅两年没用多少次,还时不时闹个罢工,以后国产电纸书不碰也罢。

N厂大刀小刀显卡花式多

今天到单位,有看到我在用外甥原先计算机的,很是奇怪,说原先这台机器不能用了。问其原因,说是缺少一根数据线。

原来他们把计算机跟显示器的的数据线两头搞反了。原机器用的不是HDMI数据线,而是雷电数据线,而显示器那边应该用miniDP接口才对。

等于白捡了一台计算机,外甥想要回去就难了。

对这台机器已经觊觎许久了,主要是小小的身躯里面,居然安装了gtx1060显卡。这样平时偶尔可以跑一下katago,而儿子放假有时间也可以用它玩一玩游戏。

这款显卡当时外甥说是3G显存,而p106系列的显卡一般都是6G显存,3G显存的多是p106-90,也就是矿卡,核心被砍掉一半,只有640个。

下载了一个GPU-Z测试了一下,显示的的确为p106,但是核心只有1152,小小被砍了一刀。

老黄大砍,厂商小砍,上梁不正下梁歪啊。

Oracle云服务器下配置免费ssl证书(Let’s Encrypt)

Oracle云的web服务器使用的是nginx,在打开相应端口后,就可以访问网页。如果使用HTTPS,还需要安装配置ssl证书,目前免费的证书是Let’s Encrypt,三个月需要更新一次。

ubuntu下的Let’s Encrypt证书申请是通过certbot维护,现在已经非常简单,不再像原先那么繁琐。

安装certbot

#  sudo apt install certbot

初次安装证书

# certbot certonly

第一次申请的时候,会要求输入邮箱,这是为了到期邮件提醒。然后选择证书种类。

How would you like to authenticate with the ACME CA?

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

1: Spin up a temporary webserver (standalone)

2: Place files in webroot directory (webroot)

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel):

因为是安装在服务器中,所以选择2

Please enter in your domain name(s) (comma and/or space separated) (Enter ‘c’

to cancel):

然后让输入域名。

Input the webroot for img.aaaa.net: (Enter ‘c’ to cancel):

输入域名所属网站所在的目录,如/var/www/html/img,其中域名必须已经配置完成而且目录已经建立,在此基础上,免费证书就申请成功了。

证书下载在 /etc/letsencrypt/live/相应域名目录下。

更新证书

Let’s Encrypt 签发的 SSL 证书有效期只有 90 天,证书到期前会受到邮件通知,可以通过certbot更新,更新前需要停止nginx运行。

# certbot renew

Oracle云服务器下filezilla密钥解决办法

原先ftp客户端使用的是Winscp,体积小功能齐全,界面也要比filezilla看着舒服多了。

后来使用GPU云服务器运行katago,发现Winscp的密钥只支持putty生成的密钥,究其原因是Winscp使用的是putty作为SSH登录工具,这样就无法使用windows系统ssh生成的密钥。

无奈只好启用winscp,转回界面实在难看的filezilla。

下午配置Oracle云服务器,上传文件的时候,遇到了点麻烦。其云服务器创建时如果选择密钥登录,同阿里云等一样,只认Windows系统ssh生成的密钥。国内云我一般解决这个问题,是创建后,在ssh的认证文件后面添加putyy的密钥,这样两种格式的密钥就都可以使用了。

但这一招在Oracle云上失效了。filezilla默密钥也是.ppk格式,但无法登录。使用ssh登录系统查看一下,发现认证文件内容与国内两云不同,所以老方法无效。

折腾许久,索性在选择密钥文件时,文件格式选择所有,然后选择Windows生成的密钥文件。

问题就这么解决了。

Oracle Cloud实例Ubuntu防火墙设置

Oracle Cloud实例开通,并在公共子网中添加安全列表,开通的80等端口后,安装Nginx服务器,依然无法访问,因为操作系统ubuntu的防火墙还未设置,默认情况下,同样是只有ssh端口开放的。

与国内的阿里云还有腾讯云,使用ufw管理系统防火墙不同,Oracle Cloud的Ubuntu操作系统使用的是iptables管理。

相比较ufw,iptables就繁琐多了,开放所有端口

sudo su

# iptables -P INPUT ACCEPT

# iptables -P FORWARD ACCEPT

# iptables -P OUTPUT ACCEPT

# iptables -F

这样再访问云服务器,此前安装的Nginx就可以访问了。

后来索性直接强制删除,以后直接通过ufw管理:

# rm -rf /etc/iptables

# reboot

申请Oracle云免费服务器

最近在调试几个WordPress网站,使用的还是原先的Vultr服务器。运转虽然正常,但还是有些心疼这个最低配云服务器有些吃不消,恰巧看到群里有讨论Oracle免费云服务器的,便申请了一个。

我去年底,曾经申请过一个亚马逊的AWS一年免费的服务器,当时看重的主要是数据库,云服务器基本没有使用。

注册申请Oracle的免费服务器,流程基本与AWS一样,首先是邮件激活,然后选择主区域,这个是一旦选定就无法修改的。其后就是支付确认,有了上次AWS的经验,早早就把手头唯一一张VISA信用卡准备好了。输入信用卡信息后,系统会从信用卡预付款1元多的新加坡元,但随即就会撤销,为的只是确认申请人信息,以及日后购买支付所用。

注册成功后,可以登录系统新建云服务器。免费系统默认是Oracle Linux,因为不习惯,可选择了系统提供的Ubuntu版本为20.04,登录使用SSH秘钥。服务器实例启动后,与国内的腾讯云一样,默认只是开通了22端口,需要在实例公共子网中,添加安全列表,将需要开通的80等端口添加进去。

申请完毕,感觉无论实例配置,还是申请流程,Oracle基本就是借鉴参考AWS,并以之为假想敌的。从其官网上的宣传对比图看,Oracle也毫不避讳。