Review of "Tor" version 0.5.3 (6)

Details Page Preview

Control the Tor network from Quick Settings: one-click on/off (uses the distro's own tor.service via polkit — no extra tor instance), exit-country picker, live bootstrap progress, New Identity, obfs4 bridges, circuit viewer. Always-on transparent-proxy mode via bundled tun2socks installer routes ALL TCP traffic through Tor (one-time sudo, zero password at runtime).

Extension Homepage
https://github.com/vipinus/gnome-shell-extension-tor

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) warning 3 manual_review 1

Shexli found 4 issues that may need reviewer attention.

EGO-X-004 warning

extensions should avoid synchronous file IO in shell code

Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.

File Operations

  • lib/torController.js:130
    file.load_contents(null)

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • ui/quickToggle.js:428
    St.Clipboard.get_default()

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 7 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • ui/quickToggle.js:194
    console.warn(`[tor-ext] toggle failed: ${e.message}`)
  • ui/quickToggle.js:274
    console.warn(`[tor-ext] tun2socks stop step failed/timed out: ${e.message}`)
  • ui/quickToggle.js:285
    console.warn(`[tor-ext] controller.quit timed out: ${e.message}`)
  • ui/quickToggle.js:293
    console.warn(`[tor-ext] service.stop timed out: ${e.message}`)
  • ui/quickToggle.js:369
    console.warn(`[tor-ext] SETEVENTS failed: ${e.message}`)
  • ui/quickToggle.js:500
    console.warn(`[tor-ext] setConf ExitNodes failed: ${e.message}`)
  • ui/quickToggle.js:98
    console.log(`[tor-ext] services rebuilt for systemMode=${want}`)

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.

Disconnect all signals

  • ui/quickToggle.js:142
            this._menuOpenId = this.menu.connect('open-state-changed', (_m, open) => {
                if (open && this.checked && this._controller?.isReady)
                    this._refreshCircuitView();
            })

All Versions

Version Status
0.7.12 (15) Active
0.7.11 (14) Rejected
0.6.3 (13) Rejected
0.6.3 (12) Rejected
0.6.3 (11) Rejected
0.6.3 (10) Rejected
0.5.6 (9) Rejected
0.5.5 (8) Rejected
0.5.5 (7) Rejected
0.5.3 (6) Rejected
0.5.1 (5) Rejected
0.5.0 (4) Rejected
0.3.1 (3) Rejected
0.3.1 (2) Rejected
0.1.0 (1) Rejected

Previous Reviews on this Version

ddxs auto- rejected
Auto-rejected because of new version 0.5.5 (7) was uploaded