4QueriesFree audit
Chrome Extension · Open sourceFreeMIT · version 0.1.1 · server on sing-box

CozyNode: your own VPS as a private proxy for Chrome

One command turns a server you already rent into an encrypted HTTPS proxy with a login and a free TLS certificate. Paste the link it prints into the extension and press one button. No subscriptions and no middlemen: your traffic goes only to your own machine.

The Chrome Web Store listing is in review. Until it is live, load the zip as an unpacked extension: three steps below.

Your server only

No third party in the middle

Chrome talks to your VPS over TLS, the VPS talks to the web. No accounts, no analytics, nothing is sent to us. Works on any Linux VPS, amd64 or arm64.

All sites or chosen ones

One button, two modes

Send all traffic through the server, or only the sites you pick: "Add current site" takes the open tab in one click. Everything else goes direct.

No leaks

IP, DNS and WebRTC covered

DNS is resolved on the server, WebRTC is limited to the proxy while it is on, and the check button shows the IP and country that websites see.

CozyNode popup in Chrome: proxy is on, server my-vps, sites see the server IP and country, mode all sites
The popup: on/off, the server you connected, the IP and country websites see, and the mode switch.
Server

Set up the server in two minutes

On a fresh Ubuntu or Debian VPS run one command. It downloads a pinned sing-box release (sha256 checked), creates a random login, gets a Let's Encrypt certificate for the server IP (no domain needed), opens the port in ufw and prints your link.

curl -fsSL https://raw.githubusercontent.com/trendbender/cozynode/main/server/install.sh | sudo bash

# output
cozy://cozyXXXXXX:************************@203.0.113.7:443#my-vps

# later: the same command ending in  | sudo bash -s <command>
#   link        show the link again
#   add-user    a separate login for a second person or device
#   status      service and certificate
#   uninstall   remove everything

Already running nginx on 80 and 443? Use --port 8443 --acme-http-port 18480 and forward only /.well-known/acme-challenge/ to that port; the README has the nginx snippet. If your provider has a cloud firewall, allow TCP on the proxy port and on 80.

Extension

Connect Chrome

  1. 1. Download cozynode-0.1.1.zip and unzip it. Open chrome://extensions, turn on Developer mode, press "Load unpacked" and pick the unzipped folder.
  2. 2. Click the CozyNode icon and paste the cozy:// link from the server.
  3. 3. Press the button. Choose all sites or only selected sites, then "Check connection" to see the IP websites see.
CozyNode popup in the only selected sites mode with a list of sites routed through the server
iPhone, iPad, Android, macOS

The same server for the whole device

The extension covers Chrome. For a phone, use the free open-source sing-box app with the same server and the same login, no server changes. The installer prints a ready profile:

curl -fsSL https://raw.githubusercontent.com/trendbender/cozynode/main/server/install.sh \
  | sudo bash -s ios-profile > cozynode.json

Send the file to the device (AirDrop or Files), import it in the sing-box app and press Start. TCP and DNS go through your server; other UDP is refused, so apps fall back to TCP. The profile contains the login: keep it private.

Security model

Need a custom browser tool or internal automation?

We build extensions, server scripts and integrations for teams. Tell us what eats your team's time.

Get a free 4Queries audit