[{"data":1,"prerenderedAt":257},["ShallowReactive",2],{"\u002Fblog\u002Fsub-store-cloudflare\u002F:es":3,"\u002Fblog\u002Fsub-store-cloudflare\u002F-surround:es":152,"blog-all-posts:es":153},{"id":4,"title":5,"author":6,"body":10,"date":135,"description":136,"extension":137,"image":138,"locale":139,"meta":140,"minRead":141,"navigation":142,"original":142,"path":143,"pinned":144,"seo":145,"source":138,"sourceUrl":138,"stem":146,"tags":147,"updated":138,"__hash__":151},"blog\u002Fblog\u002Fsub-store-cloudflare.es.md","He movido la agregación de suscripciones de proxys a Cloudflare",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":127},"minimark",[13,17,28,33,36,39,52,55,58,62,65,86,89,93,96,99,107,114,118,121,124],[14,15,16],"p",{},"Llevo usando servicios de proxy unos tres o cuatro años, y en medio también me he montado nodos en un VPS. Siempre hubo algo que me daba mucha pereza: tres o cinco suscripciones en la mano, más unas cuantas máquinas propias, esparcidas en los clientes y añadidas una a una; y las reglas de enrutamiento había que reconfigurarlas en cada cliente. Cambiar de dispositivo, cambiar de cliente, montárselo a un familiar… y otra vez a empezar.",[14,18,19,20,27],{},"Luego pensé: la suscripción no tiene por qué gestionarse suelta dentro de los clientes. Si la reúnes en un solo enlace, las reglas se fijan en el servidor y el cliente solo se suscribe, la cosa queda limpia. El enfoque de Sub-Store ya lo usaba, pero corría en tu propio servidor y la verdad es que me daba pereza mantenerlo. Así que esta vez me escribí una versión que corre en Cloudflare, llamada sub-store-cloudflare, open source en ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002Fsub-store-cloudflare",[25],"nofollow","GitHub",".",[29,30,32],"h2",{"id":31},"en-realidad-solo-hace-una-cosa","En realidad solo hace una cosa",[14,34,35],{},"Fundir varias fuentes de suscripción en una sola.",[14,37,38],{},"En concreto, puedes meterle varias cosas:",[40,41,42,46,49],"ul",{},[43,44,45],"li",{},"Enlaces de suscripción de varios servicios de proxy",[43,47,48],{},"Texto de nodos de tu propio VPS (da igual vless, trojan, ss o vmess)",[43,50,51],{},"Incluso pegar un bloque de nodos temporal",[14,53,54],{},"Al entrar, el Worker las descarga, quita duplicados, filtra según las reglas que le des, y después renombra, añade banderas y resuelve dominios según haga falta. A la salida todo se funde en una suscripción combinada: el cliente se suscribe a esa sola.",[14,56,57],{},"Las reglas las he puesto en el servidor. Trae integrados varios plantillas de Mihomo habituales — acl4ssr, whitelist\u002Fblacklist de loyalsoldier, ai-streaming y esas — con los grupos de enrutamiento y los conjuntos de reglas configurados en la nube. Metes la suscripción en clientes como mihomo\u002Fclash, surge, sing-box o shadowrocket, y lo que se descarga es un producto terminado con las reglas ya incluidas: allí no hay que escribir reglas a mano ni mantener URLs de rule sets.",[29,59,61],{"id":60},"por-qué-justo-en-cloudflare","Por qué justo en Cloudflare",[14,63,64],{},"Las razones son muy de andar por casa:",[40,66,67,74,80],{},[43,68,69,73],{},[70,71,72],"strong",{},"Sin servidor."," Workers + D1, y la cuota gratuita sobra para uso personal: te ahorras el dinero del servidor y su mantenimiento.",[43,75,76,79],{},[70,77,78],{},"El dominio workers.dev ya está fuera del muro por sí mismo."," Tu cliente se conecta a por la suscripción sin problemas: no existe ese juego de muñecas rusas de \"el servidor está fuera, pero el nodo aún necesita un proxy para tirar de su propia suscripción\".",[43,81,82,85],{},[70,83,84],{},"Al desplegar ya tienes un panel web de gestión y un endpoint de descarga."," Cambias de cliente en el móvil y aun así abres una página web para tocar la configuración.",[14,87,88],{},"A propósito mantengo la pila pequeña: Worker + Static Assets + D1 + Worker Secrets. KV, R2, Durable Objects, Queue y Cron se quedan fuera del camino crítico — cuantas menos piezas, mejor.",[29,90,92],{"id":91},"el-despliegue-lo-hice-con-dos-caminos-a-propósito","El despliegue lo hice con dos caminos a propósito",[14,94,95],{},"El primero es para quien solo quiere usarlo: pinchar el botón Deploy to Cloudflare del repo. Cloudflare tira del repo, crea el Worker y el D1, te pide dos tokens, y al terminar te da un enlace de gestión con token. Paso a paso, sin tocar la línea de comandos.",[14,97,98],{},"El segundo es para mí y para quien le guste trastear: instalación en un clic con un agente de IA.",[14,100,101,102,106],{},"El repo lleva un protocolo de agente (AGENTS.md + una SKILL dentro del agente). Escribes en un archivo de configuración local tus fuentes de suscripción, las suscripciones combinadas que quieres y las plantillas de reglas, corres ",[103,104,105],"code",{},"pnpm run install:cloudflare",", y el agente comprueba tu login de Cloudflare, crea la base de datos, escribe los secretos, migra, despliega, importa la configuración, verifica los enlaces, y al final te entrega el enlace de gestión y el de descarga.",[14,108,109,110,113],{},"Yo desplegué el mío por este camino, así que lo recomiendo más: da menos guerra. Para usarlo con Codex \u002F Claude Code, copia directamente ese prompt de ",[103,111,112],{},"agent\u002Finstall.prompt.md"," del repo.",[29,115,117],{"id":116},"para-quién-es","Para quién es",[14,119,120],{},"Directo: si tienes más de un servicio de proxy, más unos cuantos nodos propios, y quieres fundirlos en una sola suscripción para tu uso, este es tu proyecto. Si te apañas con un solo servicio y ya está, de verdad no necesitas esto.",[14,122,123],{},"El código es 100% open source, AGPL. La interacción del frontend hace un guiño al Sub-Store original; el original corre en un contenedor y cubre un ecosistema de clientes más amplio. La mía es una forma más pequeña, nativa de Cloudflare: fácil de modificar y de desplegar directamente, no una copia pieza a pieza.",[14,125,126],{},"Si te pica la curiosidad, pásate por el repo; el README está bastante completo, sigue las instrucciones y listo.",{"title":128,"searchDepth":129,"depth":129,"links":130},"",2,[131,132,133,134],{"id":31,"depth":129,"text":32},{"id":60,"depth":129,"text":61},{"id":91,"depth":129,"text":92},{"id":116,"depth":129,"text":117},"2026-06-28","Varios servicios de proxy más tus nodos propios fundidos en una sola suscripción, las reglas de enrutamiento configuradas en el servidor y el cliente solo se suscribe.","md",null,"es",{},4,true,"\u002Fblog\u002Fsub-store-cloudflare",false,{"title":5,"description":136},"blog\u002Fsub-store-cloudflare.es",[148,149,150],"Cloudflare","Evasión de censura","Proyecto open source","96Uk_mIWDwr94t_BPHrKCWsZregV-pVQ8Lm0CF-xHfI",[138,138],[154,163,171,180,187,195,202,210,218,224,231,233,240,248],{"path":155,"title":156,"description":157,"date":158,"minRead":159,"tags":160},"\u002Fblog\u002Fagent-harness-selection","Probé Pi Agent, OMP, Codex y ZCode: por qué al final elegí OpenCode + OpenChamber","Mi reflexión tras probar distintos Agent Harness: con tres criterios — experiencia de GUI, bloqueo de proveedor y libertad de desarrollo a medida — descarté Pi Agent, OMP, Codex y ZCode, y acabé eligiendo el núcleo OpenCode + la interfaz OpenChamber.","2026-08-06",6,[161,162],"AI Agent","Elección de herramientas",{"path":164,"title":165,"description":166,"date":167,"minRead":159,"tags":168},"\u002Fblog\u002Fcloudflare-broke-stack","Mejores prácticas de desarrollo independiente en 2026: el pack completo Cloudflare para pobres","La pila tecnológica de coste cero para desarrolladores independientes: Codex escribe el código, GitHub gestiona la versión, Stripe cobra; frontend con TanStack Start, backend con Hono + Workers, base de datos D1, almacenamiento R2 y caché KV, todo corriendo sobre Cloudflare.","2026-06-15",[148,169,170],"Desarrollo independiente","Pila tecnológica",{"path":172,"title":173,"description":174,"date":175,"minRead":159,"tags":176},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek API con búsqueda en internet integrada: estírate la búsqueda oficial gratis con la Responses API","DeepSeek incorpora la búsqueda en internet dentro de su API: llama a deepseek-v4-flash con la interfaz Responses, declara la herramienta web_search y listo — sin integraciones con buscadores de terceros y sin pedir ninguna clave de búsqueda.","2026-08-05",[177,178,179],"DeepSeek","API","Herramientas IA",{"path":181,"title":182,"description":183,"date":175,"minRead":184,"tags":185},"\u002Fblog\u002Fdeepseek-v4-flash-review","Experiencia a fondo con el DeepSeek V4 Flash oficial: barato, rápido, 1M de contexto y búsqueda integrada","Unos días a fondo con la versión oficial de DeepSeek V4 Flash: un precio que es pura ganga, rápido como un rayo, 1M de contexto, búsqueda en internet integrada por defecto y open source total. La única carencia es lo multimodal, pero se cubre combinándolo con otros modelos.",7,[177,186,179],"Review de modelos",{"path":188,"title":189,"description":190,"date":167,"minRead":191,"tags":192},"\u002Fblog\u002Ffree-cloudflare","Cómo exprimir Cloudflare siendo usuario gratuito: ¿hasta dónde llega la cuota gratis?","La versión gratuita de Cloudflare sostiene una infraestructura personal de internet completa: DNS, CDN, Pages, Workers, KV, D1, R2, email, Tunnel, AI Gateway, etc.",8,[148,193,194],"Cuota gratuita","Despliegue",{"path":196,"title":197,"description":198,"date":199,"minRead":191,"tags":200},"\u002Fblog\u002Fmodel-harness-decoupling","El Harness first-party no siempre es la respuesta: en la era de los modelos abiertos, elige modelo y Harness por separado","¿Claude? Pues Claude Code. En la era de los modelos abiertos ese instinto pide una actualización. La ventaja first-party es real, pero entrenar un buen modelo y construir un buen Harness son dos ingenierías distintas — este artículo explica por qué modelo y Harness ya se pueden elegir por separado, y trae un mapa de posicionamiento de cinco Harness.","2026-09-09",[161,201,162],"Harness",{"path":203,"title":204,"description":205,"date":199,"minRead":191,"tags":206},"\u002Fblog\u002Fopencode-productive-stack","Estable, rápido, productivo, barato: mi stack de AI Coding, documentado entero","OpenCode + OpenChamber + dos suscripciones DeepSeek V4 Flash: 15 proyectos picando código a la vez y la cuota apenas baja. Toda mi configuración al desnudo — poda de Context, memoria en capas, automatización de escritorio y la lección de «volver a la combinación original».",[207,208,209],"OpenCode","Programación IA","Configuración",{"path":211,"title":212,"description":213,"date":214,"minRead":215,"tags":216},"\u002Fblog\u002Fproduct-faxin-principle","El principio de la intención: por qué un desarrollador independiente debe aprender a soltar","¿Por qué arrancas? ¿Para quién arrancas? ¿Qué problema quieres resolver de verdad? La filo de un producto nace de lo que sabes soltar y renunciar.","2026-06-20",10,[217,169],"Mentalidad de producto",{"path":219,"title":220,"description":221,"date":214,"minRead":191,"tags":222},"\u002Fblog\u002Fproduct-pain-vs-itch","Cuando el usuario dice «qué pasada», no te lo tomes a pecho: dolor vs. picor","El elogio de boquilla no vale un duro. Solo hay un criterio duro para juzgar una necesidad: qué está dispuesto a pagar el usuario.",[217,223],"Juicio de necesidades",{"path":225,"title":226,"description":227,"date":158,"minRead":228,"tags":229},"\u002Fblog\u002Fqwen-vision-for-deepseek","Rellenando el hueco multimodal de DeepSeek: el plan de visión Qwen-3.7-Flash","DeepSeek V4 Flash no tiene multimodal. ¿Y si necesitas entender imágenes? Tras investigar, la opción con mejor relación calidad-precio hoy es Qwen-3.7-Flash: leer una imagen cuesta casi nada, y combinado con V4 Flash tapa el hueco.",5,[177,230,186],"Multimodal",{"path":143,"title":5,"description":136,"date":135,"minRead":141,"tags":232},[148,149,150],{"path":234,"title":235,"description":236,"date":199,"minRead":184,"tags":237},"\u002Fblog\u002Ftui-cognitive-bandwidth","La TUI está matando tu ancho de banda cognitivo: al «filtro geek» del AI Coding le toca romperse","Un montón de AI Coding Agents se lanzan a sacar TUIs, devuelven la interacción al paradigma de terminal de los 80 y lo llaman «inmersivo» y «respetuoso con los programadores». Este artículo desmonta los tres mecanismos con los que la TUI reduce sistemáticamente tu ancho de banda cognitivo — y por qué el Web UI es la respuesta correcta.",[208,238,239],"Diseño de interacción","Ensayo",{"path":241,"title":242,"description":243,"date":244,"minRead":159,"tags":245},"\u002Fblog\u002Fvalue-not-external","Discutir si algo tiene valor es en sí mismo algo sin valor","Nuestro valor no lo define nadie. En la era de la IA, cómo deberíamos entendernos a nosotros mismos.","2026-06-18",[246,247],"Reflexión IA","Ensayo humanista",{"path":249,"title":250,"description":251,"date":252,"minRead":253,"tags":254},"\u002Fblog\u002Fx-growth-1000-followers","Más de 1000 seguidores en poco más de un día: qué hice","En junio me puse a operar X en serio y gané 1000+ seguidores en poco más de un día. Este post cuenta lo que hice entonces y el feedback que recibí.","2026-06-16",12,[255,256],"Operar X","Crecimiento de contenido",1789752314173]