降低家用 Web 服務被通報的機率 透過明文協議嘗試請求 HTTPS 服務時,Nginx 會回傳特殊的 497 狀態碼。若發生此錯誤,我們希望 Nginx 直接關閉連線,不回傳任何回應。這需要另一個非標準狀態碼 444。綜合兩種狀態碼,我們需要在 server 中加入如下設定: error_page 497 @close; location @close { return 444; } 使用 error_page 指令為 497 狀態碼設定虛擬路徑 @close,Nginx 在處理 @close 時發現要回傳 444,於是直接關閉連線。 此時你再用 curl 造訪對應埠口會看到如下錯誤: curl http://example.zz.ac:5678 curl: (52) Empty reply from server server { listen 5678 ssl; listen [::]:5678 ssl; server_name example.zz.ac; ssl_certificate ...; ssl_certificate_key ..; error_page 497 @close; location @close { return 444; } ... } server { listen 5678 ssl default_server;; listen [::]:5678 ssl default_server;; server_name _; ssl_certificate ...; ssl_certificate_key ..; return 444; }
Privacy Badger:EFF 推出的免費瀏覽器擴充套件,用來阻止網路監控追蹤
用 Golang 從零打造容器(Liz Rice) container-from-scratch-golang 隨著我們擴充這個小程式的功能,會依序探索以下主題,讓我們建立一個非正式環境的容器模擬。 UTS Namespace Chroot PID Namespace Mount Namespace Control Group Rootless Container
淺談 Go Iterator type Seq[V any] func(yield func(V) bool) type Seq2[K, V any] func(yield func(K, V) bool)
Docker 容器無法存取外網?nftables 下的 NAT 配置指南
獨立伺服器 CPU 頻率最大化配置指南 看看 CPU 現在用哪種模式 前提條件 系統:Linux(Debian、Ubuntu、Proxmox 等都行) 權限:root CPU:支援動態調頻(Intel Xeon、AMD EPYC / Ryzen 等) governor cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor powersave:省電小綿羊(頻率鎖低,省電但沒力) ondemand:按需加速(要用時才升頻,可能反應慢半拍) performance:全程高能(我們要的就是它!💪) 確認核心到底用哪種驅動(Intel / AMD) cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver 暫時拉滿效能 for cpu in /sys/devices/system/cpu/cpu[0-9]*; do echo performance > $cpu/cpufreq/scaling_governor done 重啟後也保持高能 方案 A:最穩妥推薦 apt install cpufrequtils -y echo 'GOVERNOR="performance"' >/etc/default/cpufrequtils systemctl enable cpufrequtils systemctl start cpufrequtils 方案 B:systemd 自訂服務 # /etc/systemd/system/cpu-performance.service [Unit] Description=Set CPU governor to performance After=multi-user.target [Service] Type=oneshot ExecStart=/bin/bash -c 'for cpu in /sys/devices/system/cpu/cpu[0-9]*; do echo performance > $cpu/cpufreq/scaling_governor; done' [Install] WantedBy=multi-user.target systemctl daemon-reexec systemctl daemon-reload systemctl enable --now cpu-performance.service
6 首國際最強公認催眠曲 Marconi Union - Weightless 432Hz (深度治癒身心靈 連接宇宙能量) Clair de Lune Deep sleep delta waves - Binaural beats sleep (30 分鐘版本) Erik SATIE - Gymnopédie No. 1 (鋼琴慢速版) Himalayan Healing - Tibetan Singing Bowls Meditation (15 分鐘版本)
透過 LinuxServer.io 打包的 Docker 映像檔,將桌面程式轉成網頁版,透過瀏覽器即可使用 LinuxServer.io 官網
Gluetun:讓 Docker 容器走 VPN 連線,沒網路就斷線,使用教學 Gluetun OpenVPN services: gluetun: image: qmcgaw/gluetun container_name: gluetun restart: unless-stopped cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 8888:8888/tcp # HTTP proxy - 8388:8388/tcp # Shadowsocks - 8388:8388/udp # Shadowsocks volumes: - /home/user/gluetun:/gluetun environment: # 按照VPN供應商的OpenVPN設定檔填寫 - VPN_SERVICE_PROVIDER=protonvpn - VPN_TYPE=openvpn - OPENVPN_USER= # OpenVPN帳號 - OPENVPN_PASSWORD= # OpenVPN密碼 - SERVER_COUNTRIES=United Kingdom # 指定伺服器所在國家,以逗號分隔 networks: # (選擇性) 固定Gluetun容器的IP network: ipv4_address: 172.27.0.5 networks: # (選擇性) 固定Gluetun容器的IP network: driver: bridge ipam: config: - subnet: 172.27.0.0/16 gateway: 172.27.0.5 WireGuard services: gluetun: image: qmcgaw/gluetun container_name: gluetun restart: unless-stopped cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 8888:8888/tcp # HTTP proxy - 8388:8388/tcp # Shadowsocks - 8388:8388/udp # Shadowsocks volumes: - /home/user/gluetun:/gluetun environment: - VPN_SERVICE_PROVIDER=protonvpn # 按照VPN供應商的WireGuard設定檔填寫 - VPN_TYPE=wireguard - WIREGUARD_PRESHARED_KEY= # 預共享密鑰 - WIREGUARD_PRIVATE_KEY= # 私鑰 - WIREGUARD_ADDRESSES= # 填IPV4與IPV6位址,以逗號分隔 - SERVER_COUNTRIES=United Kingdom # 指定伺服器所在國家,以逗號分隔 networks: # (選擇性) 固定Gluetun容器的IP network: ipv4_address: 172.27.0.5 networks: # (選擇性) 固定Gluetun容器的IP network: driver: bridge ipam: config: - subnet: 172.27.0.0/16 gateway: 172.27.0.5 讓容器走 Gluetun 的 VPN 連線 如果容器服務跟 Gluetun 寫在同一個 docker-compose:加入網路模式 network_mode: “service:gluetun” 如果該容器跟 Gluetun 不是寫在同一個 docker-compose:加入 network_mode: “container:gluetun” 開啟 Gluetun 的 docker-compose 檔案,把 service 用到的通訊埠(ex:8080)加回來 依序啟動 Gluetun 和 走 Gluetun 的 VPN 連線的服務 容器公共 IP 應當跟您選擇的 VPN 伺服器一致
Go 实战指南:使用 go-redis 执行 Lua 脚本 Redis command Eval Redis package redis.NewScript, script.Run
TIL:Bash 腳本的 timeout timeout 1m ./until.sh 包一層 timeout 1m bash -c "until curl --silent --fail-with-body 10.0.0.1:8080/health; do sleep 1 done"
TaigiTube 台語水管