WebShell

Browser Fingerprinting

What browser fingerprints are, FingerprintJS v3 vs. v4 licensing, expected accuracy, and basic usage.

Oct 22, 2024

Get the Current Directory of Any Selected File in WebShell

While implementing “click to download selected filename” in a WebShell based on xterm.js, I ran into a challenge: how to determine the directory of the selected filename. After some research, here’s the solution.

Sep 19, 2024

Detect CPU Architecture in Shell Scripts

Shows how to detect the machine’s CPU architecture in shell scripts so you can download the correct Code Server package.

Jun 11, 2024

Using SSE in AI Chat

Explore SSE in AI chat apps: advantages over WebSocket, implementation with EventSource and Fetch APIs. Learn efficient real-time communication for AI chats.

Apr 13, 2024

Reading Large Files with FileReader

Optimizing FileReader for 1–3 GB files: chunking, streams, workers, and avoiding main‑thread jank.

Mar 31, 2024

Understanding $TERM

Explains the $TERM environment variable, common values, and how it affects terminal capabilities.

Feb 25, 2024

Introducing xterm-headless

What xterm-headless is and how to use it to implement terminal functionality on Node.js, with use cases and notes.

Dec 25, 2023

Implementing Input Autocomplete Visuals

For WebShell-like command inputs, fake partial highlighting by layering a positioned div behind the input; CSS alone can’t color only the suffix.

Nov 25, 2023

Copy/Paste Support in WebShell

A summary of copy/paste support in WebShell, covering browser clipboard permissions, default hotkeys, xterm.js behavior, and fallback approaches.

Nov 23, 2023

Command Palette in WebShell

Design and implementation of a command palette in WebShell, including motivation, command modeling, filtering, multi-level actions, and related research.

Nov 18, 2023