Todo lo que puedes hacer con tu acortador, paso a paso: desde la instalación hasta la API, los complementos y la analítica.
The full documentation is currently written in Spanish. The site interface stays in your language.
La documentation complète est actuellement en espagnol. L'interface du site reste dans votre langue.
A documentação completa está atualmente em espanhol. A interface do site permanece no seu idioma.
Linsei es un acortador de URLs autoalojado: lo instalas en tu propio servidor y desde un panel creas enlaces cortos, los personalizas y mides cada clic. No depende de ningún servicio externo y tus datos nunca salen de tu hosting.
Está pensado para ser ligero y fácil de instalar (PHP + MySQL o SQLite), y para crecer contigo: admite varios usuarios, idiomas, una API y complementos.
mod_rewrite) o Nginx.La instalación es del estilo «sube y abre la web», sin consola ni comandos:
public_html).config.php y las tablas automáticamente.config.php queda con permisos de solo lectura una vez instalado.Entra en https://tudominio.com/admin con el usuario y contraseña que creaste. Verás el panel con un resumen de actividad: total de enlaces, clics, clics de hoy y enlaces activos, además de un gráfico de los últimos días.
Desde el botón «+ Nuevo enlace» creas tu primer enlace en segundos.
Al crear un enlace indicas la URL de destino (la larga) y, opcionalmente, cómo quieres que sea el enlace corto:
tudominio.com/promo.tudominio.com/blog-mi-enlace o tudominio.com/landing-promocion.Cada enlace puede tener reglas de caducidad:
Ideal para promociones temporales o enlaces de un solo uso.
Linsei registra cada clic y lo presenta de forma visual:
Linsei es multiusuario. Hay dos roles de base:
| Rol | Puede hacer |
|---|---|
| Administrador | Control total: ve todos los enlaces y estadísticas, gestiona usuarios y la configuración. |
| Gestor de URLs | Crea y administra solo sus propios enlaces y ve las estadísticas de estos. |
Cada gestor trabaja de forma aislada, lo que permite que varias personas o equipos compartan la misma instalación sin pisarse.
Puedes exportar tus enlaces y estadísticas a CSV (compatible con Excel y Google Sheets) para informes o copias de seguridad, con filtros por fechas y por gestor.
El panel está disponible en español, inglés, francés y portugués. Cada usuario puede cambiar de idioma desde el selector; la preferencia se recuerda. Añadir un idioma nuevo es tan simple como copiar un archivo de app/lang/ y traducir sus textos.
Crea enlaces desde otros programas con la API. Cada usuario tiene su propio token (lo encuentras en tu perfil). Ejemplo para crear un enlace:
curl -X POST https://tudominio.com/api/links \
-H "Authorization: Bearer TU_TOKEN" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com/pagina-larga","slug":"promo"}'La respuesta incluye el enlace corto resultante. Es lo que usa, por ejemplo, la extensión de Chrome.
Incluye una extensión (carpeta chrome-extension/) para acortar la página que estás viendo con un clic:
chrome://extensions y activa el «Modo desarrollador».chrome-extension.Linsei se amplía con complementos sin tocar el núcleo, mediante un sistema de hooks (acciones y filtros). Coloca tu plugin en la carpeta plugins/ y se cargará solo.
Ejemplo: reaccionar cada vez que se crea un enlace.
<?php if(!defined("PL_APP")){http_response_code(403);exit;}
pl_add_action('link_created', function ($slug, $url) {
// tu código: notificar a Slack, registrar, integrar...
});
pl_add_action('dashboard_after', function () {
echo '<div class="card">Hola desde mi plugin 👋</div>';
});Hooks disponibles:
| Hook | Cuándo se dispara | Argumentos |
|---|---|---|
init | En cada petición, tras cargar los plugins | — |
admin_menu | Al pintar el menú lateral | $user |
dashboard_after | Al final del panel | $isAdmin |
help_after | Al final de la página de Ayuda | — |
link_created | Al crear un enlace (panel o API) | $slug, $url |
link_clicked | En cada clic/redirección | $link |
Tienes un ejemplo completo en plugins/welcome-note/ y más ideas en la página de complementos.
Esta web de presentación está preparada para que añadas Google Analytics 4 y reCAPTCHA v3 sin tocar el código: solo edita el archivo assets/config.js.
window.LINSEI_CONFIG = {
GA_ID: "G-XXXXXXXXXX", // tu ID de Google Analytics 4
RECAPTCHA_SITE_KEY: "6Lxxxxxxx", // clave de sitio de reCAPTCHA v3
FORM_ENDPOINT: "" // (opcional) URL que recibe el formulario
};Pon tu ID de medición (G-XXXXXXXXXX) en GA_ID. Por respeto al usuario, Analytics solo se carga después de que el visitante acepte el aviso de cookies. Si dejas GA_ID vacío, no se carga nada.
Pon tu clave de sitio en RECAPTCHA_SITE_KEY. reCAPTCHA v3 valida en segundo plano (sin molestar al usuario), pero necesita un servidor que verifique el token con Google. Por eso, para que se active, indica también un FORM_ENDPOINT: la URL de un pequeño script (por ejemplo contacto.php) que reciba el formulario, compruebe el token y te envíe el correo.
FORM_ENDPOINT y RECAPTCHA_SITE_KEY: el formulario se envía por POST con el token de reCAPTCHA para que tu servidor lo verifique.FORM_ENDPOINT vacío: el formulario funciona abriendo el correo del visitante (modo simple, sin servidor).Incluimos un contacto.php de ejemplo (en la carpeta de la web) que verifica el token de reCAPTCHA y envía el correo. Permite dos formas de envío: la función mail() de PHP (sin configurar nada) o SMTP (recomendado, para que los correos no caigan en spam). Las credenciales SMTP y la clave secreta de reCAPTCHA van dentro de contacto.php, nunca en config.js (que es público).
bcrypt y sesiones nativas de PHP.Para actualizar a una nueva versión, sobrescribe los archivos con los nuevos (sin borrar config.php ni la carpeta data/). No hace falta reinstalar: Linsei aplica por sí mismo los pequeños cambios de base de datos que necesite. Tus enlaces y estadísticas se conservan.
¿Te falta una función o has encontrado un fallo? Escríbenos desde la página de contacto. Tus sugerencias guían lo que construimos a continuación.