You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Simon Law
6db30a10f7
cmd/tailscale: shrink QR codes using half blocks (#17084)
When running `tailscale up --qr`, the QR code is rendered using
two full blocks ██ to form a square pixel. This is a problem for
people with smaller terminals, because the output is 37 lines high.
All modern terminals support half block characters, like ▀ and ▄,
which only takes 19 lines and can easily fit in a regular terminal
window.
For example, https://login.tailscale.com/a/0123456789 is now rendered:
```
user@host:~$ tailscale up --qr
█████████████████████████████████████
█████████████████████████████████████
████ ▄▄▄▄▄ █ ▀▀ █▄▀▀ ▄ █ ▄▄▄▄▄ ████
████ █ █ █▀ ▄▄▄█▀█▄▀ ▄█ █ █ ████
████ █▄▄▄█ ██▄ ▄▀▀▄▄ ▀▀ ▀█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀▄▀ █▄▀▄▀▄█ █▄▄▄▄▄▄▄████
████▄█▄ ▀▄▄▄█▀▄█▀ ▀▄ ▄ ▀▀ ▀▀▄█▄ ████
████▄▀▄▀▄█▄ █ ▄▄▄▄█▀██▀██▄▄█▀█▄▄▀████
████▄█▀ ▀ ▄█▄▄▀▄▀█ ▄ ▄█▀█▄▀██▄ ▀▀████
█████▀ ▀ ▄▀▀▀▀▄▀▄▀▀ ▄▄ ▄ ▀ █▄ ▄████
██████ ▄▄█▄▄▄▄▄▀ █ ▄▀▀▄█▀ █ ▄ ▀ █████
████▄█▄▄ ▄▀ ▀██▀ ▄█▀▀████▄▀█ ██████
█████▄▄▄█▄▄▄▀▀ █▄▄▄▄▄ ▀█ ▄▄▄ ▀▀████
████ ▄▄▄▄▄ █ ██▄ ▀ █▀█ ▄ █▄█ █▄█████
████ █ █ █▀ █ ▀█▄▄ █▀ ▄ ▀▄▀▄████
████ █▄▄▄█ █▄█▀█▄▀██▀██▄ ▀█▄▀▀▄▀▄████
████▄▄▄▄▄▄▄█▄▄███▄▄▄███▄▄▄██▄██▄█████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
```
To render a QR code with full blocks, like we did in the past, use the
new `--qr-format` flag:
```
user@host:~$ tailscale up --qr --qr-format=large
██████████████████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████████████████████
████████ ██ ████ ██ ████ ██ ████████
████████ ██████████ ██ ████ ██ ██ ██████████ ████████
████████ ██ ██ ████ ██████ ██ ██ ██ ██ ████████
████████ ██ ██ ██ ████████ ████ ████ ██ ██ ████████
████████ ██ ██ ████ ████ ████ ████ ██ ██ ████████
████████ ██████████ ██████ ██ ████ ██ ██████████ ████████
████████ ██ ██ ██ ██ ██ ██ ██ ██ ████████
████████████████████████ ██ ████ ██ ████ ████████████████████████
████████ ██ ██ ████ ████ ██ ████ ████ ██ ████████
██████████████ ████████ ████ ██ ██ ██████ ████████
████████ ██ ██ ██ ██ ██████████████ ██████ ██████████
██████████ ██ ██████ ██ ██████████ ████ ██████████ ██████ ████████
████████ ████ ██ ██ ██ ████ ██████ ██████ ████████████
████████████ ████████ ██ ██ ██ ████ ████ ██████ ████████
████████████ ██ ████████ ██ ████ ██ ██ ████████
██████████ ██ ██ ██ ████ ██ ████ ██████████
████████████ ██ ██ ██ ████ ████ ██ ██ ██████████
████████████ ████████████████ ██ ██ ████ ██ ██ ██████████
████████ ██ ██ ████████ ██████████████ ████ ████████████
████████████████ ██ ████ ████ ██████████ ██ ████████████
██████████ ██ ████ ██ ████ ████████████
████████████████████████ ████████████ ██ ██████ ████████
████████ ██ ████ ██ ██████ ██ ██ ██ ██████████
████████ ██████████ ██ ██████ ██ ██ ██ ██████ ██████████████
████████ ██ ██ ████ ██ ████ ████ ██ ██ ████████
████████ ██ ██ ██ ██ ██████ ██ ██ ██ ██████████
████████ ██ ██ ██ ██████ ████████████ ████ ████ ██ ████████
████████ ██████████ ██████ ████ ████ ██████ ████ ██ ██████████
████████ ██ ██████ ██████ ████ ████ ██████████
██████████████████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████████████████████
██████████████████████████████████████████████████████████████████████████
```
Fixes #17083
Signed-off-by: Simon Law <sfllaw@tailscale.com>
|
7 months ago |
| .. |
|
addlicense
|
all: fix golangci-lint errors
|
1 year ago |
|
build-webclient
|
client/web: precompress assets
|
2 years ago |
|
checkmetrics
|
cmd/checkmetrics: add command for checking metrics against kb
|
1 year ago |
|
cloner
|
cmd/viewer, types/views: implement support for json/v2 (#16852)
|
8 months ago |
|
connector-gen
|
cmd/connector-gen: add helper tool for wide app connector configurations
|
2 years ago |
|
containerboot
|
cmd/containerboot: do not reset state on non-existant secret (#17021)
|
8 months ago |
|
derper
|
cmd/derper: add start of ACE support
|
7 months ago |
|
derpprobe
|
cmd/derpprobe,prober: add run all probes handler (#16875)
|
8 months ago |
|
dist
|
{cmd/dist,release/dist}: add support for intermediary QNAP signing certificates
|
8 months ago |
|
featuretags
|
feature/featuretags: add auto-generated constants for all modular features
|
7 months ago |
|
get-authkey
|
cmd,tsnet,internal/client: create internal shim to deprecated control plane API
|
1 year ago |
|
gitops-pusher
|
scripts/check_license_headers.sh: delete, rewrite as a Go test
|
10 months ago |
|
hello
|
cmd/hello: display native ipv4 (#15191)
|
1 year ago |
|
k8s-nameserver
|
cmd/k8s-nameserver: fix AAAA record query response (#12412)
|
2 years ago |
|
k8s-operator
|
feature/portmapper: make the portmapper & its debugging tools modular
|
7 months ago |
|
k8s-proxy
|
cmd/k8s-proxy,k8s-operator: fix serve config for userspace mode (#16919)
|
8 months ago |
|
mkmanifest
|
cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS
|
3 years ago |
|
mkpkg
|
go.mod: upgrade nfpm to v2 (#8786)
|
3 years ago |
|
mkversion
|
version/mkversion: open-source version generation logic
|
3 years ago |
|
nardump
|
cmd/nardump: support symlinks, add basic test
|
1 year ago |
|
natc
|
cmd/natc,tsconsensus: add cluster config admin
|
8 months ago |
|
netlogfmt
|
all: use Go 1.22 range-over-int
|
2 years ago |
|
nginx-auth
|
tailcfg,all: add and use Node.IsTagged()
|
3 years ago |
|
omitsize
|
feature/portmapper: make the portmapper & its debugging tools modular
|
7 months ago |
|
pgproxy
|
all: use new LocalAPI client package location
|
1 year ago |
|
printdep
|
cmd/printdep: print correct toolchain URL
|
3 years ago |
|
proxy-test-server
|
net/tlsdial: fix TLS cert validation of HTTPS proxies
|
10 months ago |
|
proxy-to-grafana
|
scripts/check_license_headers.sh: delete, rewrite as a Go test
|
10 months ago |
|
sniproxy
|
net/{netx,memnet},all: add netx.DialFunc, move memnet Network impl
|
1 year ago |
|
speedtest
|
all: update copyright and license headers
|
3 years ago |
|
ssh-auth-none-demo
|
ssh,tempfork/gliderlabs/ssh: replace github.com/tailscale/golang-x-crypto/ssh with golang.org/x/crypto/ssh
|
1 year ago |
|
stunc
|
cmd/stunc: enforce read timeout deadline (#14309)
|
1 year ago |
|
stund
|
go.toolchain.branch: bump to go1.25 (#16954)
|
8 months ago |
|
stunstamp
|
cmd/stunstamp: add protocol context to timeout logs (#13422)
|
2 years ago |
|
sync-containers
|
all: adjust some build tags for plan9
|
3 years ago |
|
systray
|
client/systray: allow specifying tailscaled socket
|
9 months ago |
|
tailscale
|
cmd/tailscale: shrink QR codes using half blocks (#17084)
|
7 months ago |
|
tailscaled
|
feature/featuretags, all: add ts_omit_acme to disable TLS cert support
|
7 months ago |
|
testcontrol
|
all: use Go 1.22 range-over-int
|
2 years ago |
|
testwrapper
|
.github/workflows: shard the Windows builder
|
10 months ago |
|
tl-longchain
|
all: use new LocalAPI client package location
|
1 year ago |
|
tsconnect
|
health,ipn/ipnlocal: introduce eventbus in heath.Tracker (#17085)
|
7 months ago |
|
tsidp
|
feature/portmapper: make the portmapper & its debugging tools modular
|
7 months ago |
|
tsshd
|
all: update copyright and license headers
|
3 years ago |
|
tta
|
all: use new LocalAPI client package location
|
1 year ago |
|
viewer
|
cmd/viewer: add field comments to generated view methods
|
8 months ago |
|
vnet
|
cmd/vnet: add wsproxy mode
|
1 year ago |
|
xdpderper
|
tsweb: split promvarz into an optional dependency
|
1 year ago |