# Owl Blog > xl_g 的个人技术博客,记录软件开发、隐私安全、效率工具等领域的经验与思考。 ## Posts - [使用 HMAC 签名替代 JWT 实现图片权限控制](/posts/sig-img): 从 JWT 迁移到 HMAC-sig 方案的原因,以及为什么不选择 cookies - [syncthing 中继服务器搭建](/posts/syncthing-relay-server): 文件同步中继服务器 - [GDAL C++ SetGeoTransform 无效](/posts/gdal-transform): 使用 C 接口替代 C++ 接口设置 GeoTransform - [Tauri asset 协议在 Linux 平台错误解决](/posts/tauri-asset): 修改 CSP 协议放行 asset 协议 - [离线安装 Debian 软件包](/posts/offline-apt): 使用 apt cache 实现自动下载 Debian 软件包依赖 - [Tauri v2 里的拖拽功能冲突](/posts/tauri-drag-drop): 解决 Tauri v2 里的 Webview 拖拽功能失效问题 - [Alembic](/posts/alembic): Python ORM 库 SqlAlchemy 的数据库迁移工具 - [在SvelteKit中使用Vite-PWA插件](/posts/vite-pwa-sveltekit): vite-pwa/sveltekit插件的使用 - [latexdiff](/posts/latexdiff): 显示两个latex文件的修改情况 - [caddy2](/posts/caddy2): 简单易用的 Web 服务器 - [SvelteKit Auth Guard](/posts/sveltekit-auth-guard): 实现基于 SvelteKit 和 JWT 的 SPA 应用的路由守卫的一种实现方式 - [owl更新日志2](/posts/owl-2): 使用webhook更新博客内容 - [rclone](/posts/rclone): 一个命令行工具,用来同步文件和目录到不同的云存储服务 - [rye](/posts/rye): 现代化的Python依赖管理工具 - [使用jwt实现图片加载](/posts/jwt-img): 使用jwt实现图片加载 - [conduit.rs](/posts/conduit): 用Rust编写的Matrix服务端 - [Fuse.js](/posts/fusejs): JavaScript的轻量级模糊搜索库 - [syncthing](/posts/syncthing): 分布式同步工具 - [llm教程](/posts/llm): llm快速部署大语言模型 - [从rathole切换回frp](/posts/rathole-to-frp): rathole的弊端 - [在虚拟环境下使用jupyter notebook](/posts/venv-jupyter): 利用python venv + jupyter notebook - [pre-commit](/posts/pre-commit): Git预提交检查工具 - [just](/posts/just): 跨平台命令行运行工具 - [starship安装教程](/posts/starship): 轻量、迅速、可无限定制的高颜值终端 - [rhomb更新日志1](/posts/rhomb-encrypt): 开放下载可执行文件 - [File Browser安装教程](/posts/file-browser): 极简云盘应用 - [clap-rs命令行参数解析库](/posts/clap-rs): Rust的命令行工具 - [Owl更新日志1](/posts/cli-tool): 新增了命令行工具,用于管理markdown文件 - [rathole](/posts/rathole): 安全、稳定、高性能的内网穿透工具,用 Rust 语言编写 - [MongoDB安装教程](/posts/mongodb-install): 在Ubuntu上安装MongoDB及问题解决 - [nohup及tail的使用](/posts/nohup-tail): 在Linux服务器中后台运行程序和查看输出的方法 - [Socat教程](/posts/socat): 使用socat解决代理环境中git的SSH连接问题 - [Nginx重定向通匹配域名](/posts/nginx-redirect): 重定向example.com到www.example.com - [Flask处理跨源请求](/posts/flask-cors): 使用Flask-CORS处理跨源请求 - [Diesel教程](/posts/diesel): Diesel简单教程 - [Rocket.rs文件缓存控制](/posts/cache-control): 在响应头自定义Cache-control,控制文件缓存 - [About](/posts/about): About owl blog - [FRP](/posts/frp): Fast reserve proxy ## About - [关于我](/posts/about): 了解博主和技术栈