Stars de GitHub
desde el terminal
GitHub stars
from your terminal

Likes (stars) en GitHub desde el terminal con la sesión de tu navegador. Sin tokens, sin OAuth, sin gh auth. Cero dependencias — Python ≥ 3.9 y Node ≥ 22. Likes (stars) on GitHub from the terminal using your browser session. No tokens, no OAuth, no gh auth. Zero dependencies — Python ≥ 3.9 and Node ≥ 22.

Instalar el CLI Install the CLI Ver en GitHub View on GitHub

Con el CLI instalado y ghlike daemon corriendo, este botón da y quita la estrella sin salir de la página (~8–12 s por clic). La primera vez, Chrome/Edge pedirá permiso de «red local» para hablar con el daemon — acéptalo una vez y listo. Sin daemon, el clic abre el repo en una pestaña nueva. With the CLI installed and ghlike daemon running, this button stars and unstars without leaving the page (~8–12 s per click). The first time, Chrome/Edge will ask for “local network” permission to reach the daemon — accept once and you’re set. Without the daemon, the click opens the repo in a new tab.

InstalaciónInstall Uso del CLICLI usage Como libreríaAs a library Cómo funcionaHow it works SeguridadSecurity
instalacióninstall

Dos paquetes gemelos — elige tu ecosistema Two twin packages — pick your ecosystem

Comportamiento idéntico en Python y Node: el mismo CLI ghlike, la misma librería, los mismos códigos de salida. Cero dependencias en los dos. Identical behavior in Python and Node: the same ghlike CLI, the same library, the same exit codes. Zero dependencies in both.

ghlike PyPI Python ≥ 3.9
bash
pipx install ghlike   # o · or: pip install --user ghlike

Código: 686f6c61/ghlike-py · Paquete: pypi.org/project/ghlike Source: 686f6c61/ghlike-py · Package: pypi.org/project/ghlike

ghlike npm Node ≥ 22
bash
npm install -g ghlike

Código: 686f6c61/ghlike · Paquete: npmjs.com/package/ghlike Source: 686f6c61/ghlike · Package: npmjs.com/package/ghlike

Requisito: una sesión de github.com iniciada en un navegador Chromium de tu máquina (Brave, Chrome, Chromium, Edge, Vivaldi, Opera). No necesitas tokens ni gh auth. Requirement: a github.com session in a Chromium browser on your machine (Brave, Chrome, Chromium, Edge, Vivaldi, Opera). No tokens and no gh auth needed.

cli

Uso del CLI CLI usage

Un solo comando para todo: dar star, quitarla, consultar el estado o invertirla. Acepta owner/repo o la URL completa de GitHub. One command for everything: star, unstar, check the state or flip it. It accepts owner/repo or the full GitHub URL.

1Da tu primera starGive your first star

terminal
$ ghlike 686f6c61/ghlike
686f6c61/ghlike: like dado ★ [your-user via Brave]

2Todas las opcionesAll the options

bash
ghlike owner/repo                  # dar star · star (idempotente · idempotent)
ghlike https://github.com/o/r      # URLs completas valen · full URLs work
ghlike owner/repo -c               # consultar estado · check state only
ghlike owner/repo -u               # quitar star · unstar
ghlike owner/repo --toggle         # invertir · flip
ghlike --list                      # sesiones encontradas · sessions found
ghlike --browser brave owner/repo  # forzar navegador · force one browser
ghlike owner/repo --json           # salida para scripts · scriptable output

Cada operación tarda ~8–12 s: tu propio navegador arranca en segundo plano, pulsa el botón de Star real y se cierra. Ver cómo funciona. Each operation takes ~8–12 s: your own browser starts in the background, presses the real Star button and closes. See how it works.

libreríalibrary

También como librería Also as a library

Las mismas operaciones desde tu código, con la misma API en Python y en Node. The same operations from your code, with the same API in Python and Node.

python
from ghlike import star, unstar, check, toggle

star("686f6c61/ghlike")
check("vercel/next.js")          # {starred: True/False, …}
unstar("vercel/next.js", browser="brave")
js
import { star, check } from "ghlike";

await star("686f6c61/ghlike");
await check("vercel/next.js");     // {starred: true/false, …}

Códigos de salidaExit codes

códigocodesignificameaning
0éxito (también «ya tenía star»)success (including “already starred”)
1error genérico (navegador falló, cambió el markup…)generic error (browser failed, markup changed…)
2no hay sesión de github.com en ningún navegador soportadono github.com session in any supported browser
3el repo no existerepo not found
cómo funcionahow it works

Qué pasa cuando ejecutas ghlike owner/repo What happens when you run ghlike owner/repo

Nada de APIs ni de tokens: tu propio navegador pulsa el botón de Star por ti. Cuatro pasos, ~8–12 segundos. No APIs and no tokens: your own browser presses the Star button for you. Four steps, ~8–12 seconds.

  1. Encuentra tu sesión de github.com en un navegador Chromium de tu máquina (Brave, Chrome, Chromium, Edge, Vivaldi, Opera). Con --list puedes ver las sesiones detectadas. It finds your github.com session in a Chromium browser on your machine (Brave, Chrome, Chromium, Edge, Vivaldi, Opera). Use --list to see the detected sessions.
  2. Copia la tienda de cookies CIFRADA a un perfil desechable. Las cookies nunca se descifran: el fichero se copia tal cual, y el propio navegador lo abre con sus claves del sistema. It copies the ENCRYPTED cookie store to a throwaway profile. Cookies are never decrypted: the file is copied as-is, and the browser itself opens it with its system keys.
  3. Tu propio navegador pulsa el botón de Star real: arranca en headless, controlado por un pipe CDP privado (sin puerto TCP expuesto), abre el repo y hace clic en el botón — GitHub gestiona su propio CSRF. Luego verifica el nuevo estado. Your own browser presses the real Star button: it starts headless, driven over a private CDP pipe (no exposed TCP port), opens the repo and clicks the button — GitHub handles its own CSRF. Then it verifies the new state.
  4. Se cierra y limpia: el navegador se apaga y el perfil desechable se borra. Las cookies nunca se descifran ni salen de tu máquina. It closes and cleans up: the browser exits and the throwaway profile is deleted. Cookies are never decrypted and never leave your machine.
seguridadsecurity

Seguridad y privacidad Security & privacy

ghlike toca sesiones de navegador, así que el diseño entero está pensado para poder auditarse de un vistazo. ghlike touches browser sessions, so the whole design is built to be auditable at a glance.

Cero dependenciasZero dependencies

El cliente CDP es stdlib de Python y APIs nativas de Node, hablando con el navegador por un pipe privado. Sin cadena de suministro que auditar. The CDP client is Python stdlib and Node native APIs, talking to the browser over a private pipe. No supply chain to audit.

Código auditableAuditable code

~1.000 líneas por paquete, en un único fichero legible. Puedes leerlo entero antes de instalarlo. ~1,000 lines per package, in a single readable file. You can read it all before installing.

Las cookies nunca se descifranCookies are never decrypted

La tienda de cookies cifrada se copia a un perfil desechable; al acabar, el navegador se cierra y el perfil se borra. Nada sale de tu máquina. The encrypted cookie store is copied to a throwaway profile; when done, the browser is killed and the profile deleted. Nothing ever leaves your machine.

Sin tokens, sin OAuthNo tokens, no OAuth

Lo único que usa tu sesión es un clic en el botón de Star real — GitHub gestiona su propio CSRF. No hay credenciales que filtrar ni revocar. The only thing your session is ever used for is one click on the real Star button — GitHub handles its own CSRF. There are no credentials to leak or revoke.

limitacioneslimitations

Limitaciones conocidas Known limitations