Tailscale in Quick Settings, updated live from tailscaled. - Connect and disconnect, with health and key-expiry warnings - Searchable device list showing direct or relayed connections; copy IPs and MagicDNS names - Exit nodes, including suggested and Mullvad by country - Switch accounts and log in to custom servers such as Headscale - Taildrop: send files to devices, receive into Downloads - Share local services in your tailnet or publicly with Funnel Clicking a device or shared service, or sharing a new one, copies its IP address, MagicDNS name or URL to the clipboard. Nothing is read from the clipboard. Unofficial, not affiliated with Tailscale Inc. Requires your user to be the Tailscale operator: sudo tailscale set --operator=$USER
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-005 manual_review
extensions should not access the clipboard directly
Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.
extension.js:54
St.Clipboard.get_default()
extension.js:205
St.Clipboard.get_default()
EGO-L-002 warning
objects created by extension should be destroyed in disable()
Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.
extension.js:141
this._accountMenu = new PopupMenu.PopupSubMenuMenuItem('Account')
extension.js:145
this._accounts = new PopupMenu.PopupMenuSection()
extension.js:109
this._exitMenu = new PopupMenu.PopupSubMenuMenuItem('Exit node: None')
extension.js:174
this._httpsOffItem = new PopupMenu.PopupMenuItem(
'HTTPS is off for this tailnet. Turn it on in the admin console to share services.', {reactive: false})
extension.js:103
this._loginItem = new PopupMenu.PopupMenuItem('Log in…')
extension.js:121
this._peers = new PopupMenu.PopupMenuSection()
extension.js:114
this._search = new St.Entry({hint_text: 'Search devices', can_focus: true, x_expand: true})
extension.js:149
this._serverEntry = new St.Entry({hint_text: 'Login server (empty = Tailscale)', can_focus: true, x_expand: true})
extension.js:171
this._services = new PopupMenu.PopupMenuSection()
extension.js:180
this._shareForm = new PopupMenu.PopupMenuSection()
extension.js:193
this._sharePublicItem = new PopupMenu.PopupMenuItem('Share publicly on the internet (Funnel)')
extension.js:167
this._sharingMenu = new PopupMenu.PopupSubMenuMenuItem('Sharing')
extension.js:183
this._targetEntry = new St.Entry({hint_text: 'Local port or URL, e.g. 3000', can_focus: true, x_expand: true})
extension.js:100
this._warnings = new PopupMenu.PopupMenuSection()
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
extension.js:141
this._accountMenu = new PopupMenu.PopupSubMenuMenuItem('Account')
extension.js:145
this._accounts = new PopupMenu.PopupMenuSection()
extension.js:109
this._exitMenu = new PopupMenu.PopupSubMenuMenuItem('Exit node: None')
extension.js:174
this._httpsOffItem = new PopupMenu.PopupMenuItem(
'HTTPS is off for this tailnet. Turn it on in the admin console to share services.', {reactive: false})
extension.js:103
this._loginItem = new PopupMenu.PopupMenuItem('Log in…')
extension.js:121
this._peers = new PopupMenu.PopupMenuSection()
extension.js:114
this._search = new St.Entry({hint_text: 'Search devices', can_focus: true, x_expand: true})
extension.js:149
this._serverEntry = new St.Entry({hint_text: 'Login server (empty = Tailscale)', can_focus: true, x_expand: true})
extension.js:171
this._services = new PopupMenu.PopupMenuSection()
extension.js:180
this._shareForm = new PopupMenu.PopupMenuSection()
extension.js:193
this._sharePublicItem = new PopupMenu.PopupMenuItem('Share publicly on the internet (Funnel)')
extension.js:167
this._sharingMenu = new PopupMenu.PopupSubMenuMenuItem('Sharing')
extension.js:183
this._targetEntry = new St.Entry({hint_text: 'Local port or URL, e.g. 3000', can_focus: true, x_expand: true})
extension.js:100
this._warnings = new PopupMenu.PopupMenuSection()
EGO-L-003 warning
signals connected by extension should be disconnected in disable()
Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.
extension.js:370
this._toggle.menu.connect('open-state-changed', (_menu, open) => {
if (open)
this._queueRefresh();
})
EGO-M-004 error
metadata shell-version must only include plausible stable releases and at most one development release
Field `shell-version` contains invalid values, more than one development release, or implausible future releases.
metadata.json must be well-formed
metadata.json
shell-version=['51']
| Version | Status |
|---|---|
| 0.3 (1) | Unreviewed |