Uncategorized

使用WireGuard取代openVPN实现家里与公司内部网络的互通

最近把一直使用的OpenVPN方案,替换成了WireGuard方案。WireGuard的优势大很多,最重要的是延迟与性能都非常不错。 对比项 WireGuard OpenVPN 代码量 约4,000行代码 超过100,000行代码 性能 速度更快,延迟更低 相对较慢 配置复杂度 配置简单,易于部署 配置复杂,学习曲线陡峭 加密协议 使用现代加密算法(ChaCha20, Poly1305) 支持多种加密算法,但部分较老旧 资源占用 CPU和内存占用低 资源占用相对较高 跨平台支持 支持Linux、Windows、macOS、iOS、Android 支持Linux、Windows、macOS、iOS、Android 连接稳定性 漫游支持好,网络切换时无需重连 网络切换时可能需要重新连接 安全审计 代码简洁,易于审计 代码庞大,审计困难 开发活跃度 较新的项目,持续活跃开发 成熟稳定,但更新较慢 适用场景 适合追求性能和简洁的场景 适合需要复杂配置和企业级功能的场景 现在家宽都有公网ipv6地址,很适合来搭建没有中间服务器的互通。 不过本文使用的通过中转站VPS来使用,相对更稳定一些。 WireGuard几乎在所有平台都可以使用,包括但不限于MacOS, Windows, Linux, 嵌入式Linux如openwrt, iOS, Android等等。 VPS的安装: 新建节点配置文件: 结构大致如下: 在公司的设备上,wireguard的各种不同设备的配置好像都一样的,这点很好。 这里示例的是openwrt, 在家里的设备上: 配置好后执行: 拓扑如下: 重要一环:在VPS上,通常是linux, 默认没有wg0 → wg0的ipv4转发,所以需要: […]

Read More
Tech for Fun

通过双栈VPS让外网只有ipv4的设备访问ipv6

使用的是wireguard。 在VPS上, 在macbook上, 开启IPV6转发 开启IPV6转发 永久生效: VPS 上允许 WireGuard 转发到公网 IPv6 VPS 做 SNAT / MASQUERADE(公网 IPv6 出口) IPv6 不一定需要 NAT,但某些 VPS 提供商要求“指定源地址”,否则出去的包不会回: 其它实用命令 至此应该是可以使用客户端来访问ipv6的网络了。

Read More
Tech for Fun

Linuxmint/Ubuntu with Cinnamon/XFCE auto-hibernate

把 service 放到 user 目录 [Unit]Description=Auto Hibernate (xprintidle)After=graphical-session.target [Service]Type=oneshotExecStart=/usr/local/bin/auto-hibernate.sh 主脚本(关键点) vi /usr/local/bin/auto-hibernate.sh: 定时器:user timer vi ~/.config/systemd/user/auto-hibernate.timer 最后启用: 查看状态:

Read More
Software and System

GRUB Installation Failed at the Final Stage When Installing Ubuntu / Linux Mint (UEFI Fix)

Problem Description On some motherboards, likely due to unusual or non-standard UEFI firmware behavior, installing Ubuntu Server, Ubuntu Desktop, or Linux Mint in UEFI mode may fail at the very last stage. The installer proceeds normally until the step: “Installing GRUB to target devices” Then it suddenly aborts with an error message similar to: “Sorry, there was a […]

Read More
Productivity

Django inventory 速记

创建虚拟环境 python3 -m venv venvsource venv/bin/activate 安装 Django pip install django mysqlclient django-admin startproject **** cd ******python manage.py migrate # 创建初始数据库表python manage.py createsuperuser # 创建管理员账号python manage.py runserver 0.0.0.0:8000 # 启动开发服务器 pip install Pillow #用于显示图片 pip install djangorestframework #用于打开rest api接口 pip install django-import-export #用于导入导出excel pip install openpyxl #用于导入导出excel pip install django-extensionspip install Werkzeug #用于https在dev模式下 当安装pip install […]

Read More
Productivity

P2P黑科技,随时随地远程控制你的电脑!,太神奇了!

如今,远程操控设备的需求越来越普遍。无论是出差时需要访问家中的电脑,还是在家办公时需要远程连接公司的设备,远程控制已经成为许多人的刚需。市面上有不少远程控制服务,例如花生壳、向日葵、TeamViewer、AnyDesk等,但大多数都需要付费订阅才能获得更高的带宽和更丰富的功能。然而,其实我们可以利用一些免费的工具,轻松实现远程操控异地电脑。更重要的是,借助这些技术,你甚至可以直接使用微软官方提供的远程桌面客户端(Remote Desktop Client),无需额外安装任何第三方软件,既方便又安全。 本文将介绍两款工具,FRP和P2Ptunnel。其中第二款P2Ptunnel是不需要任何公网IP或端口映射的,你将体验它神奇的地方。 这两款工具都可以不需要DDNS。 1, FRP内网穿透工具的应用 FRP(Fast Reverse Proxy)是一款强大的内网穿透工具,可将内网服务暴露到外网,适合远程访问内网设备、调试本地服务等场景。通过FRP,用户能够轻松实现跨网络访问,并支持P2P技术来优化性能。 Github地址: FRP的特点 1.  广泛的协议支持 支持HTTP、HTTPS、TCP、UDP、Socks5等协议,适用多种应用场景。 2.  中转与P2P结合 默认流量通过公网服务器中转;在支持P2P的网络环境下,可直接建立点对点连接,大幅提高数据传输效率。 3.  灵活配置 FRP通过简单的配置文件支持多客户端、多隧道连接,适应各种复杂的网络环境。 支持的平台 FRP支持多种主流平台,包括: •     Windows •     Linux •     macOS •     Docker •     嵌入式平台:MIPS等 FRP的优点 •    高性能:P2P通信降低延迟,减少带宽消耗。 •    安全性强:支持TLS加密和用户认证,确保数据传输安全。 •    部署便捷:只需在公网服务器和内网设备上运行FRP客户端和服务端,即可完成配置。 基本用法:见上面的github网址。 逻辑是在你的服务端(就是有公网的端口的一方,可以使用你家里带宽,配合DDNS) […]

Read More
Tech for Fun

IMMICH: 手动下载AI大模型并放置在正确位置

immich是个人自托管云相册,有跨平台的APP可以用。 此文章的immich相册基于v1.126.1,人脸识别和smart search等基于AI Machine Learning的功能出错。 查看日志发现是后台不能下载大模型。 immich是docker,运行在PVE里的ubuntu server。直通了RTX4060Ti 16GB. 前期给ChatGPT误导了太多东西。走了不少弯路。且谷歌也比较难找到同一版本的教程。这里记录一下。 翻看日志可以看到下载两个模型不能成功,一个是buffalo_l, 一个是ViT-B-32__openai. 原因是我这里的网络不能直接访问huggingface.io 解决方案是从电脑上科学下载这两个大模型,然后上传到docker里。 安装git lfs。我的是Mac,用的是brew 下载完成在用户目录,可以看到这两个文件夹。 scp上传到ubuntu-server上。 然后创建docker里的目录: 回到ubuntu-server的终端: 最后在网页上再点击face detection 和facial recognition。 ubuntu-server终端用nvidia-smi可以看到显卡已经在做运算了。 ChatGPT的坑: 1, 前期一直和我说n卡独显可以加快几万张照片的缩略图生成。后来发现缩略图生成只能由CPU完成。 2, ChatGPT说的手动下载大模型然后上传上云的位置一直是错的。后来在谷歌找了很久才找到一个对的。

Read More
Tech for Fun

情人节礼物——用旧U盘做windows的钥匙,只有插入U盘才能启动电脑

情人节到了。送女朋友一个用U盘做的钥匙。 要打开你的电脑,只能通过这个钥匙。 并附上对白:“这不仅是一串密码,更是一份无条件的信任。我的世界,我的记忆,我的每一份珍藏,尽在这台电脑之中。而如今,我毫无保留地将它交给你,如同交付我的灵魂与心跳。爱是信任的极致,是坦诚的归宿——此刻,我向你敞开我的全部。” 1,准备一只U盘,旧的新的都可以。200Mb以上就可以了。 2,官网下载Diskgenius或其它磁盘软件。打开软件,如图,选择ESP盘,点浏览文件,右键EFI分区,复制到桌面。 3,把文件夹复制到U盘。 4,把原来的ESP里的EFI文件夹删掉。 保险起见,把桌面上的EFI文件夹压缩起来,备份到网盘或另一台电脑。 5,见证奇迹的时刻。 拔U盘,关机,启动,你会发现电脑无法启动。 插入U盘启动,成功进入windows。 从此,你的电脑只有插入U盘才能启动了。U盘变成了你的电脑的钥匙。 PS: 进入BIOS并设置从U盘启动。(启动时按del)或直接按F2, 或F8或F12, 选择从U盘启动。 温馨提示:1,技术不好的小伙伴,不要这样做。最好有一个PE在手,出问题好把EFI复制回去。 2,只有UEFI启动有电脑有ESP分区。

Read More
Productivity

用一套键鼠多屏操作MacOS和Windows不同电脑

一个对效率要求极高的生产者来说,只用一台机器一个屏幕肯定是不能代表最先进的生产力的。运用两台电脑,两套键鼠,这个时候在切换的时候就会略显麻烦,与耗时。如果一套键盘鼠标就可以无缝切换,那就完美了。 这时,input leap就帮上大忙了。input leap是Barrier的前身,Barrier在2021年就停止开发了,支持老旧的硬件与系统。后来开发者转去开发了input leap并抛弃了对旧系统的支持。 如果有罗技的键鼠的话,某些高端设备直接就支持flow功能就是在不同的设备不同的操作系统之间无缝地共用一套键鼠。就像是同一台电脑的多个屏幕一样丝滑。 Input Leap 和 Logitech Flow 都是让一套键盘和鼠标无缝控制多台电脑的工具,即使是不同的操作系统也可以轻松切换和操作。 Input Leap Logitech Flow 对比 功能 Input Leap Logitech Flow 操作系统支持 Windows, macOS, Linux Windows, macOS 剪贴板共享 支持 支持 文件拖拽 不支持 支持 硬件依赖 无 需要支持的罗技设备 配置难度 中 低 开源免费 是 否 Logitech Flow 只支持特定的硬件,与两大操作系统,即Windows和MacOS。 但input leap支持就广了,可以说支持任何键盘与鼠标,支持几乎所有的操作系统。像Linux系的debian, fedora, ubuntu, 还有一个通用的linux x86;Windows 10,Windows11, 和MacOS 10.15及以上,可以说是几乎所有的X86硬件了。还支持MacOS AppleSilicon。 不管你的键盘鼠标是蓝牙的还是USB有线连接的通通都支持。 而且 […]

Read More
Back To Top