使用Cloudflare Tunnel实现内网穿透,把服务器架在家里

Cloudflare Tunnel是Cloudflare零信任网络的一个产品,用于打通企业、员工、设备之间的边界,从而摒弃掉VPN之类的过时技术(其实也不是过时,只不过是相对来说安全性、可控性较差) 通过Cloudflare Tunnel,可以实现云与设备之间打通一条加密通道,这样Cloudflare的CDN就可以很方便的通过这条加密通道访问到部署在内网的服务,包括Web、SSH等。同时,还不用考虑电信、移动等ISP不提供固定IP地址、不能开放端口,甚至解决备案的问题。 而且,还免费。 所以,整套内网穿透的方案大致如下 前置条件 * 首先,你要有一个Cloudflare的账号,并且添加了所需要使用的域名,同时,开通Cloudflare Zero Trust。 * 本地内网有一台Linux服务器。CentOS、Ubuntu、Debian都无所谓,树莓派也没问题。Web网站正常跑,内网能正常访问。 安装Cloudflared Cloudflared是Cloudflare Tunnel的一个本地cli客户端,可以实现管理功能和守护程序。 macOS可以用homebre…

彻底干掉烦人的.DS_Store文件

macOS系统会持续在目录里面不断的生成.DS_Store文件,用来存储当前目录的一些个性化设置信息,但这真的很烦人,每次删掉后,又会自动重新创建。真不知道苹果的产品经理和工程师是怎么想的。 但在macOS新版本里头,提供了一个小脚本专门来处理这个问题。不但可以删掉.DS_Store,还可以针对某个文件夹专门设置规则,不再创建。这对我等开发人员来说,实在是太贴心了。 这个小脚本叫dot_clean,位置在/usr/sbin 比如要禁止某个目录创建.DS_Store,那么只需要在terminal里面运行 /usr/sbin/dot_clean -m '目录名' 比如要禁止Downloads目录及子目录 /usr/sbin/dot_clean -m ~/Downloads 这个命令还有另外一个功效,自动删掉已经创建的.DS_Store,实在是一了百了…

本地快速部署Outline

Outline是一款类似于Notion的笔记本/团队协作Wiki软件。因为Outline在一开始就面向的团队协作,所以这款应用部署异常的难,中文的就更少了。我自己捣鼓了几天,基本把这玩意搞清楚了,快速记录下折腾过程。 阅读这篇文章之前,先假设你懂域名,会折腾服务器,会一些基础的服务器运维。这批文章将不会重点讲Web服务器部署之类的事情。 另外,Web前端的反向代理是用的Caddy,NGINX用户自行转换配置文件。 环境准备 你要先准备以下东西: * 一个域名,配置一个主域和一个二级域。比如note.naizhao.com(用户访问Outline)和storage.naizhao.com(用于Outline存储附件),然后IP地址指向你的服务器 * Docker运行环境 * 一个微软账号,可以登陆到https://portal.azure.com/。本文将以Azure AD登陆为基础 * 一个MailJet或者MailGun或者其他的SMTP账号,用于Outline发送邮件 * 网站根目录在/var/www/com/naizhao/note 以上准备完毕,开整…

SSH远程服务器提示Their offer: ssh-rsa

macOS升级到Ventura后,远程连接服务器提示 Unable to negotiate with x.x.x.x port 1234: no matching host key type found. Their offer: ssh-rsa 这是因为新版本的openssh不支持RSA和DSA等老算法的协商了,所以需要在```.ssh/config```里面增加配置 Host * HostkeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa 保存后重新连接就可以了…

OneXPlayer Mini如何改善低分辨率(800)的游戏模糊情况

开始-英特尔显卡控制中心-右上角全局设置-复古缩放-关闭 游戏的快捷方式-右键-属性-兼容性-禁用全屏优化 如果是Steam的游戏,打开Steam的安装目录,\steamapps\common,找到对应的游戏,进入bin目录,exe文件右键-属性-兼容性-禁用全屏优化…

移远EC200U-CN AA在树莓派下使用

EC200U-CN AA是个USB Dongle,除了支持Cat 1的LTE以外,还支持GPS/北斗等GNSS,价格便宜,合适放到树莓派上当移动数据使用。 设备在树莓派下会被识别成cdc_ether的设备,官方并没有提供树莓派的使用文档,给过来的Linux脚本设备名称也不对,网上看了不少文档,结果发现走了很多弯路。 首先需要把模块给识别成USB Serial,加载成功后,会识别出ttyUSB0-ttyUSB7共8个设备。官方的脚本里面调用的是ttyUSB3,这个端口不对(应该是GPS的端口),直接用ttyUSB0就可以了。 先lsusb看看设备是否被识别 pi@raspberrypi:~ $ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 2c7c:0901 Quectel Wireless Solutions…

Windows 11硬盘对拷后丢失UEFI启动的解决方法

过年期间给Onexplayer换了个2T的新硬盘,结果换完后死活在UEFI里面找不到Windows 11的启动项,用PE工具来修复也不成功,最后还是手工搞定。 先找一个Win11的安装U盘启动,然后进入修复系统-高级-命令行。 c:\> diskpart diskpart> list disk diskpart> sel disk #(#是装有Windows的硬盘号,一般是0) diskpart> list volume diskpart> sel volume #(#是UEFI的SYSTEM分区号) diskpart> assign letter=K: diskpart> exit c:\> format K: /FS:FAT32 c:\> bcdboot C:\windows /s K:…