You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/cmd/tailscaled
Simon Law 522a6e385e
cmd/tailscale/cli, util/qrcodes: format QR codes on Linux consoles (#18182)
Raw Linux consoles support UTF-8, but we cannot assume that all UTF-8
characters are available. The default Fixed and Terminus fonts don’t
contain half-block characters (`▀` and `▄`), but do contain the
full-block character (`█`).

Sometimes, Linux doesn’t have a framebuffer, so it falls back to VGA.
When this happens, the full-block character could be anywhere in
extended ASCII block, because we don’t know which code page is active.

This PR introduces `--qr-format=auto` which tries to heuristically
detect when Tailscale is printing to a raw Linux console, whether
UTF-8 is enabled, and which block characters have been mapped in the
console font.

If Unicode characters are unavailable, the new `--qr-format=ascii`
formatter uses `#` characters instead of full-block characters.

Fixes #12935

Signed-off-by: Simon Law <sfllaw@tailscale.com>
4 days ago
..
childproc all: update copyright and license headers 3 years ago
tailscaledhooks feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 8 months ago
debug.go net/netmon, wgengine/userspace: purge ChangeDelta.Major and address TODOs (#17823) 4 weeks ago
debug_forcereflect.go cmd/tailscaled: add disabled debug file to force reflect for binary size experiments 4 months ago
depaware-min.txt wgengine/magicsock: extract IMDS utilities into a standalone package (#18334) 5 days ago
depaware-minbox.txt cmd/tailscale/cli, util/qrcodes: format QR codes on Linux consoles (#18182) 4 days ago
depaware.txt wgengine/magicsock: extract IMDS utilities into a standalone package (#18334) 5 days ago
deps_test.go cmd/tailscale/cli,feature: add support for identity federation (#17529) 3 months ago
flag.go cmd/tailscaled: default --encrypt-state to true if TPM is available (#17376) 3 months ago
generate.go cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 3 years ago
install_darwin.go all: update copyright and license headers 3 years ago
install_windows.go util/backoff: rename logtail/backoff package to util/backoff 4 months ago
manifest_windows_386.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
manifest_windows_amd64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
manifest_windows_arm64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
netstack.go cmd/tailscaled: start implementing ts_omit_netstack 4 months ago
proxy.go feature, net/tshttpproxy: pull out support for using proxies as a feature 3 months ago
required_version.go all: switch to and require Go 1.23 1 year ago
sigpipe.go all: adjust some build tags for plan9 2 years ago
ssh.go ssh/tailssh: add Plan 9 support for Tailscale SSH 9 months ago
tailscaled.defaults cmd/tailscaled: rename relaynode reference in defaults file comment 6 years ago
tailscaled.go cmd/tailscaled,ipn/{ipnlocal,store/kubestore}: don't create attestation keys for stores that are not bound to a node (#18322) 6 days ago
tailscaled.openrc tstest/integration/vms: use an in-process logcatcher (#2360) 5 years ago
tailscaled.service cmd/tailscaled: move cleanup to an implicit action during startup 2 years ago
tailscaled_bird.go all: update copyright and license headers 3 years ago
tailscaled_drive.go feature/drive: start factoring out Taildrive, add ts_omit_drive build tag 4 months ago
tailscaled_notwindows.go all: update copyright and license headers 3 years ago
tailscaled_test.go cmd/tailscaled,ipn/{ipnlocal,store/kubestore}: don't create attestation keys for stores that are not bound to a node (#18322) 6 days ago
tailscaled_windows.go feature/logtail: pull logtail + netlog out to modular features 3 months ago
webclient.go derp/derpserver: split off derp.Server out of derp into its own package 4 months ago
windows-manifest.xml cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
with_cli.go all: update copyright and license headers 3 years ago