飞蚊话 发布的文章

俄罗斯杀毒软件卡巴斯基报告,一个 Google Play 商店下载量超过一亿的流行应用 CamScanner(或叫 CamScanner — Phone PDF Creator 和 CamScanner-Scanner to scan PDFs)被发现含有恶意模块。

它的图标是这样的:

有些熟悉?国内它有一个中文名字:扫描全能王。

{{CamScanner:扫描全能王}} 是一个合法应用,在大部分时间里没有恶意功能,它靠广告和应用内购买获取收入。但在某个时间情况变了,{{CamScanner:扫描全能王}} 最近释出的版本包含了含有恶意模块的广告库。

卡巴斯基将该模块称为 Trojan-Dropper.AndroidOS.Necro.n。类似的模块此前见于中国造智能手机预装的恶意程序中。该模块定期从开发者指定的服务器上下载加密代码,在设备上解密然后执行。

部分 {{CamScanner:扫描全能王}} 用户已经注意到了该应用的可疑行为,他们在应用页面留言对其他用户发出警告。

来源网页

视频点此

你要注意看这个标题。我并没有指定主语。这说明,不是我换回了Windows,也不是你换回了Windows。而是那些看过我这个视频之后,盲目的切换到了Linux而并没有做任何了解的用户。说到这儿我还得啰嗦一句:这个视频从简介到动态,都说明了只是我的感受,为什么还会有很多人把它当成一个推荐视频呢…既然这样,那我就再做一个与之相反的内容,让你看的更清晰一些吧。

1、硬件支持

硬件支持总会是Linux的一个问题。通常是因为厂商不打算支持Linux,或尚未适配。如一些无线网卡,或者最新的硬件。但这其实不代表以后不会支持。最典型的就是英特尔的CPU,当新的CPU上市时,Linux通常要延后几个月才能获得相应的支持。所以如果你把Linux装在一台拥有最新CPU的电脑上,那么它通常是不能正常运行的,这一定会驱使你回到Windows。但几个月之后再安装Linux,由于有了新版本的内核,通常就可以了。

2、太多的选择

Windows只有Windows,而Linux有很多Linux。

Linux有各种各样的发行版,而你在这个基础上又有各种各样的选择权。包管理器用哪个、桌面环境用什么、观感主题怎么配、文件管理器装哪个…成千上万的方案对于新用户来说,压迫感很强——当然,也是选择困难症的地狱。

这便会导致一种情况:用户不喜欢这个发行版,因此去尝试一些其他的。试过一些之后:好了,我有了一些了解了,所以现在我想回到Windows了。因为Windows很棒、我很熟悉,并且我知道我要用什么来做什么;而Linux有很多东西要学,有很多东西要自定义。对于新用户来讲,我要怎么自定义是一个选择上的难题,自定义很可能会导致的一些问题则又是一个技术性难题。

3、游戏

你需要明白一件事:现在的Linux娱乐性已经强大很多了。

因为我也玩游戏——当然是使用我的Linux:欧卡2、call of the wild、gta5、csgo、喋血街头…但很多用户并不这么做,甚至连尝试都不尝试就给出“Linux娱乐性不高”的结论。这在几年前是很正确的,但现在再说这种话,我只想给他冠以“落后”、“云用户”这几个标签。因为他不知道protondb.com——一个告诉你Steam的游戏在Linux上运行状态的网站,也不知道lutris.net——一个帮你整理并且一键运行非steam游戏的应用,更不知道在Steam里边,通过Steam OS标签得到的游戏结果只是Linux可以运行的游戏的一小部分。至于为什么,以后再说。你只需要明白Linux的娱乐性不再是几年前的穷苦样便可以了。

但不可否认,无论如何,Linux可以游玩的游戏数量也是比不上——可能永远也比不上Windows的。所以仍然有一部分游戏会让你放弃Linux。比如PUBG,以及一些需要VR设备的游戏。

4、软件缺失

这可能是很多人换回Windows的一个问题所在。比较有代表性的软件就是Adobe Creative Cloud和Microsoft Office。这些虽然可以通过wine来运行旧版本的,但表现一般不会很好。所以如果你一定要使用它们而不愿意去使用替代品,那么最好的选择就是好好的待在Windows,不要再考虑Linux了。

同样的比如CAD制图,Linux下面与AutoCAD操作思路类似的一款替代软件叫做DraftSight,还有其他比如FreeCADOpenCAD等等替代品。

总之,软件缺失是大问题,但除非真的是小众的软件,通常并不会真的缺失,只是看你愿不愿意百度一下相关替代软件,想不想使用替代品——不需要适应新操作新思路便可上手的替代品,仅此而已。

5、缺少技能知识

没有对应的知识可能是最大的一个问题了。

只看日常使用的话,Windows相当易用——从它的观感以及广大的用户群就可以体现出来。但Linux,就像刚刚所讲,有太多的选择权和自定义权,学习每一种选择的操作方法需要大量的时间。

Linux就像Minecraft,你可以随心所欲的做任何想做的事情——前提是你要研究,你要有一些知识才能充分的利用它。

但很多用户只是想通过他们在Windows上已经获得的知识来使用他们的电脑,对学习一个新的操作系统并不感兴趣。所以,这便从根源上杜绝了他们更换操作系统的可能,进而形成了用户黏度。这对于其他软件、甚至是日常生活同样适用。


以上,是我总结的会让你放弃Linux的五点。在之前的视频里,我从动态到简介都说了:只适用于我自己,不要生搬硬套,所以你非要把它当成我推广Linux的视频,那我也没辙。我从来不会推荐人们去使用哪一个操作系统,因为这种东西最好的答案是去自己尝试。我只是我,我习惯它,所以我使用它;我把它推荐给你,你不习惯,那么你对它的第一印象便是差的,这很不好,甚至形成刻板印象。只有当你想的时候,再去了解它、熟悉它,这才是接触新事物应有的过程。人云亦云,盲目跟从,图一时新鲜,总不会是一个长久之计。

一直用Cloudflare作为我这个域名的DNS和CDN。一来,我的服务器在德国,不能备案。所以虽然可以用国内的域名解析,但不能用国内的CDN,访问速度必然会是一个问题;二来,Cloudflare的CDN是免费的。免费的东西谁不喜欢::(阴险)

因为本身我这个博客也申请过ssl证书,而Cloudflare之前的ssl设置也一直使用的Full(strict),然后从CDN到我这博客的后台都做了强制的https跳转。一直用的也好好的。直到昨天…

不知道脑子哪根筋抽了,想把我的子域名都做上CDN。但Cloudflare的Full模式要求域名要有证书,也要有Cloudflare的证书。

Cf的证书好说,免费申请一个就可以随便用,只要主域名是一个就行;但我自己的证书不行啊,只授权到了www这个下面。所以如果这样的话,就不得不再申请几个证书来用。太麻烦了…就不如把Cf的SSL降到Flexible来用来得快。


Cf的SSL等级有4个:Off、Flexible、Full和Full(Strict)。区别看图


然后,满心欢喜的把我的很多二级域名都打开了CDN。再来ping一下:

完美。ping到的ip已经是Cf的CDN地址了。加速的同时,我的真实ip也已经被隐藏了。其实本身我的真实ip也是禁ping的…所以就算知道了,如果想用ping来验证大概也是不可能的

但随之而来的就是对这个正经的HTTPS站点一些坑爹的善后了…

一、重定向次数过多

一开始没发现这个问题,直到在满意的离开我那些带有小绿锁的二级域名站,转到www下面时…

打开控制台看跳转(用到了Firefox。因为火狐不会提示这个错误而是会一直跟着跳转走,直到内存耗尽),发现访问地址不断的在http和https之间来回跳跃。

仔细阅读SSL的帮助,发现对Flexible的解释中提到了一点:

Note: You may encounter a redirect loop with some origin configurations.

为什么呢?往前看一看:

Visitors will be able to access your site over HTTPS, but connections to your origin will be made over HTTP. 

所以说,使用flexible时,浏览器请求HTTPS到cf,而cf则请求HTTP到我的服务器上。而对于www这个网址,我之前又配置过强制HTTPS,也就是说,cf通过HTTP链接服务器的请求全部被跳转到了HTTPS,但cf又把它拉回了HTTP。这循环便形成了。

明白了原因,那解决就很好办了。因为我是用宝塔的,所以直接去这个网站的SSL设置,将强制HTTPS关掉,便万事大吉了。

直到我想登录的时候…

二、登录不作用

什么现象呢?当我想登陆时,输入好用户名和密码后点击登录,页面会刷新一下,然后我填写的东西便被吞噬了。

仿佛无事发生。

可还行::(阴险)

这我可是真的没头绪了…毕竟在Full模式时候都没出现过这种问题,怎么等级松下来了,反而登录不了了…

直到搜到了这个博客的文章,提到了个解决方案,就是在config.ini.php下加入一行:

 /** 开启HTTPS */
define('__TYPECHO_SECURE__',true);

虽然这个博主的问题是评论不可用,我这是登录不可用,但都是不可用,所以就死马当活驴医,试试吧。

然后…就可以了…

我所有二级域名都可以愉快的使用CDN和HTTPS了。

视频点此

之前说过了使用transmission搭建bt离线下载服务。但是这个的局限性在于只支持种子和磁力链的下载。那对于迅雷、百度网盘、FTP,或者仅仅是普通的http下载,有没有什么办法呢?

当然有。aria2,一款命令行操作,基本可以做到全速下载的强大的下载工具,并且支持迅雷离线以及百度云等常用网盘的多线程下载(甚至可以超过专用客户端的下载速度)。但就像我刚刚说的,Aria2是一个命令行软件,很多人嫌麻烦或者不会弄,就这样错过了一个下载神器,因此我们可以使用一个Aria2的控制前端,直接通过浏览器来操作下载。不但操作更加简单容易,还能架设在服务器上面,造就一个全功能的离线下载服务。来看看怎么弄。

一、部署前端

因为之前已经安装过宝塔面板,所以直接通过它来完成。
  • 登录面板,新建一个纯静态站
  • 进入这个静态站的根目录,远程下载WebUI项目到这个目录并解压(Download ZIP即可,不必git clone)
  • 进入刚刚解压出的文件夹,将里边的文件全部拷贝到网站根目录
  • 进入docs文件夹,将文件全部拷贝到网站根目录

至此,前端已经部署完毕了

二、部署后端

因为已经安装过宝塔面板,所以默认http的组件已经安装好了,否则请配置httpd以保证web页面可以正常显示
  • 安装aria2:yum -y install aria2

至此,后端就部署完毕了

三、运行

  • 先启动后端:aria2c --enable-rpc --rpc-listen-all --rpc-secret 你的密码
  • 进入宝塔面板 - 安全,放行6800端口
  • 现在,进入webUI,应该会提示无法连接服务。点击设置——连接设置,配置好主机、端口号(应该是6800)、密码令牌(启动后端时,rpc-serct后面的字符就是了)即可。

至此,一个几乎全能的离线下载服务已经搭建好了。只是需要注意一点,通过ssh启动后端时,需要让其在后台运行。你可以使用screen这个包来实现,或者直接在命令的结尾加一个&即可。

这是b站一个小伙伴问到的。但是具体哪里出问题了我也不是很清楚,所以就写一下我的安装过程。简而言之,就是通过archlinuxcn源来完成

1、编辑/etc/pacman.conf,在末尾添加以下文本:

[archlinuxcn]
Include = /etc/pacman.d/mirrorlist-archlinuxcn

2、通过命令pacman -Syu更新软件仓库

3、通过命令pacman -S archlinuxcn-keyring安装cn源的密钥环

4、通过命令pacman -S vmware-workstation安装vmware即可。

效果图:

视频点此

利用服务器搭建一个BT种子/磁力链下载机,省去我们自己挂机的烦恼。如果你的VPS在国外,可能还会起到些许加速的作用。

请注意,我服务器的操作系统为CentOS7,安装有宝塔面板

一、安装并配置Transmission

Transmission 是一款开源、跨平台的BT文件下载客户端,同时也提供有服务器使用的离线下载方案。对于大多数Linux发行版来说,Transmission已经进入到软件源中,只需要安装并进行简单的配置便可以投入使用了。

1、如果之前没有配置epel源,需要先行添加

yum -y install epel-release
yum -y update

2、安装Transmission-daemon

yum -y install transmission-daemon

3、先运行一次,以产生配置文件

  • 先启动 systemctl start transmission-daemon
  • 再关闭 systemctl stop transmission-daemon

4、编辑文件/var/lib/transmission/.config/transmission-daemon/settings.json,查找并修改如下几句以保证可以在任意地方通过账户密码登陆管理transmission

"rpc-authentication-required": true,  
"rpc-enabled": true, 
"rpc-password": "远程调用的密码", 
"rpc-whitelist-enabled": false,
"rpc-username": "远程调用的用户名", 

5、如果想在服务器重启后这个服务可以自动启动,可通过命令systemctl enable transmission-daemon实现

二、配置宝塔面板

1、在安全页中,放行9091端口

注意:transmission默认使用9091端口。所以请保证9091没有被占用。否则请在刚刚提到的settings.json中修改端口号

2、配置一个nginx下载,指向transmission的下载目录。默认是 /var/lib/transmission/Downloads

nginx下载服务配置方法,参见 利用Nginx建立简单的下载服务器


现在,通过命令systemctl start transmission-daemon来启动,并在浏览器中输入服务器ip:9091来看看吧。

至此,一个基本的种子离线下载环境就搭建完成了。默认的界面有些简陋,可以自行进行美化。同时,settings.json文件中还有很多其他的设置向,根据需要修改即可。