Skip to content

proxy: fetch through our paid proxies (@profullstack/proxy), 0.56.0 - #129

Merged
ralyodio merged 1 commit into
masterfrom
add-proxy-command
Oct 6, 2026
Merged

ralyodio merged 1 commit into
masterfrom
add-proxy-command

Conversation

@ralyodio

@ralyodio ralyodio commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Adds a proxy command backed by the new @profullstack/proxy package (0.1.0 on npm), which talks to Proxiware and Webshare with each provider's own auth and targeting.

proxy https://example.com          # body to stdout, US residential exit
proxy -i -c gb -s job42 https://example.com
proxy ip | url | status | providers
proxy serve --port 8888            # local forward proxy holding the credentials + JSON API
proxy mcp                          # MCP server on stdio
proxy tui                          # accounts + live exit test

Keys: shell first, then the credential store, then (once, cached) the shared team vault profullstack-sharable-keys--prod, the same one cli-tools config pull reads. Only the proxy variables are taken. The three Proxiware keys were added to that vault today; Webshare's are not there yet.

KNOWN_KEYS gains proxiware, proxiware_proxy_user/_password, webshare, webshare_proxy_user/_password.

Verified

  • vitest: 1380 pass. The 2 failures (root-ubuntu personal identifiers, statements headless Chrome) fail identically on untouched origin/master.
  • tsc: 1 error, the same one as on master.
  • Live, from a fresh credential store: the first run pulled the keys from the vault and cached them; proxy ip gave a US residential exit; proxy status showed subscription #819; ESPN returned 200.

🤖 Generated with Claude Code

New `proxy` command: @profullstack/proxy run in-process with keys from the
shell, then the credential store, then (once, cached) the shared team vault,
the same one `cli-tools config pull` reads. Only the proxy variables are
taken from a pull.

KNOWN_KEYS gains proxiware, proxiware_proxy_user/_password, webshare and
webshare_proxy_user/_password, so `config pull` and `config set` cover them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment thread src/credentials.ts
// account, which survives a password change in the dashboard.
proxiware: 'PROXIWARE_API_KEY',
proxiware_proxy_user: 'PROXIWARE_PROXY_USER',
proxiware_proxy_password: 'PROXIWARE_PROXY_PASSWORD',
Comment thread src/credentials.ts
proxiware_proxy_password: 'PROXIWARE_PROXY_PASSWORD',
webshare: 'WEBSHARE_API_KEY',
webshare_proxy_user: 'WEBSHARE_PROXY_USER',
webshare_proxy_password: 'WEBSHARE_PROXY_PASSWORD',
Comment thread test/proxy.test.ts
});

it('uses the store, and the shell still wins per variable', async () => {
const env = await sandbox({ PROXIWARE_PROXY_PASSWORD: 'from-shell' });
Comment thread test/proxy.test.ts
pulls++;
return {
PROXIWARE_PROXY_USER: 'vault-user',
PROXIWARE_PROXY_PASSWORD: 'VAULT-PASS-SECRET',
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown

ThreatCrush Security Scan

32 finding(s)

HIGH/CRITICAL: 7 | MEDIUM: 12 | LOW: 13

Severity Rule Location
HIGH py-ssrf-outbound-request dev2/dev2-site:147
HIGH py-ssrf-outbound-request dev2/dev2-site:876
HIGH py-ssrf-outbound-request dev2/dev2-site:1558
HIGH sh-remote-script-execution root-ubuntu.sh:3236
HIGH sh-remote-script-execution root-ubuntu.sh:3237
HIGH sh-remote-script-execution root-ubuntu.sh:5071
HIGH sh-remote-script-execution root-ubuntu.sh:5075
MEDIUM sql-template-interpolation dev2/dev2-site:1095
MEDIUM sql-template-interpolation dev2/dev2-site:1172
MEDIUM sh-remote-script-execution root-ubuntu.sh:5248
MEDIUM redos-nested-quantifier src/domain-free.ts:56
MEDIUM redos-nested-quantifier src/emoji.ts:167
MEDIUM redos-nested-quantifier src/icon.ts:166
MEDIUM redos-nested-quantifier src/mail.ts:1042
MEDIUM sql-template-interpolation src/users-dump.ts:487
MEDIUM sql-string-concatenation src/users-dump.ts:507
MEDIUM sql-template-interpolation src/users-dump.ts:540
MEDIUM sql-string-concatenation src/users-dump.ts:574
MEDIUM redos-nested-quantifier src/wcag.ts:556
LOW secret-generic-credential src/credentials.ts:36
LOW secret-generic-credential src/credentials.ts:50
LOW secret-generic-credential src/credentials.ts:53
LOW secret-generic-credential src/user-export.ts:632
LOW secret-generic-credential src/user-export.ts:638
LOW secret-generic-api-key test/credentials.test.ts:208
LOW secret-generic-credential test/mail.test.ts:141
LOW secret-generic-credential test/proxy.test.ts:52
LOW secret-generic-credential test/proxy.test.ts:68
LOW secret-generic-credential test/shorten.test.ts:36
LOW secret-database-url test/users-dump.test.ts:108
LOW secret-database-url test/users-dump.test.ts:119
LOW secret-database-url test/users-dump.test.ts:120

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit e386510 into master Oct 6, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants