使用 scrcpy 投影 android 裝置

簡介 scrcpy 可以透過 USB 或是 TCP/IP 來投影或是控制 Android 裝置,且不需要 root 權限。目前支援 GNU/Linux、macOS、Windows 平臺。 特色是效能很好(30 …
Read more

用接近原生的效能跑 Windows 10 虛擬機

前言 這篇其實是延續上一篇,成功在 mac 上利用 wimlib 分割檔案的方式製作好 Win10 安裝碟之後,我試著在乾淨的機器裡嘗試安裝,到了安裝階段卻不斷出現安裝失敗的提 …
Read more

在 Mac 上製作 Windows 10 usb 安裝碟

前言 一開始我是按照這裡(Method 2: Create Windows 10 Bootable USB on Mac Using Terminal)的步驟來製作,但最後 cp 時,會因為 install.wim 這個檔案過大而失敗: cp -rp /Volumes/CCCOMA_X64FRE_ZH-TW_DV9/* /Volumes/WIN10/ # cp: error …
Read more

Shadowsocks client on archlinux

因為公司的 VPN 是用 Jigsaw 的 outline 來架,client 端設定滿簡易的,想說在我的筆電(archlinux)上也來設定一下,無奈都跑不起來,除了試過官網,還 …
Read more

Tips: Base64 Encode & Decode

Origin Data '{"foo":"bar"}' Encode Shell echo -n '{"foo":"bar"}' | base64 # eyJmb28iOiJiYXIifQ== Browser btoa('{"foo":"bar"}'); // eyJmb28iOiJiYXIifQ== Nodejs Buffer.from('{"foo":"bar"}').toString('base64'); // 'eyJmb28iOiJiYXIifQ==' Python import base64 base64.b64encode(bytes('{"foo":"bar"}', 'utf-8')) # b'eyJmb28iOiJiYXIifQ==' Decode Shell echo -n 'eyJmb28iOiJiYXIifQ==' | base64 -d # {"foo":"bar"}% Browser atob('eyJmb28iOiJiYXIifQ=='); // {"foo":"bar"} Nodejs Buffer.from('eyJmb28iOiJiYXIifQ==', 'base64').toString(); // '{"foo":"bar"}' Python base64.b64decode('eyJmb28iOiJiYXIifQ==') # b'{"foo":"bar"}'

Terminal Color Test

今天更新了 terminal 內使用的套件庫,順便調整了些 vim 以及 tmux 的設定,意外發現了 iTerm2 的 GitHub 上有些有趣的測試可以拿來玩,例如 24-bit-color.sh。 它的 …
Read more

iOS Input Field White Screen Issue

TL;DR 檢查看看 CSS 內是否有 -webkit-overflow-scrolling: touch;,改成 -webkit-overflow-scrolling: auto; 或許就能解決了。 今天在公司的專案遇到一個通靈級別的 bug,只有在比較舊的 iOS 手機(iOS 10, iPho …
Read more

npx: Is Website Vulnerable?

is-website-vulnerable 可以用來檢測網站是否有已知的 JavaScript 第三方套件漏洞,用法非常簡單,只要使用 npx 就可以直接執行: npx is-website-vulnerable http://www.example.com (credit: 官方 GitHub) 參考資料 GitHub Repo

增加 SSH 登入安全性(二)

延續上篇,除了調整 sshd_config 設定以提高安全性外,還有個常用的工具 fail2ban。 本文介紹的 fail2ban 是 v0.9.7,請注意不同版本的設定方式可能會稍有不同 …
Read more