@bagder Problem with that is (besides occasional bugfixes), most people including myself would see #curl to be functionally complete and anything "nice to have" would be considered not worth the balooning in #complexity and #size.
I mean, does curl need to be able to do #BitTorrent (magnet:), #IPFS (ipfs://) or god forbid #blockchain (i.e. #EVM) support?
Do you really want to integrate @torproject / #Tor support natively into curl when using #HTTP (localhost:8118) and #SOCKS5 (localhost:9050) #proxy allows for the same and doesn't necessitate having to handle and ingest Tor arguments as well??
In fact if #toybox didn't have a #wget implementation that I could use for OS/1337 I would've merely chosen tiny-curl -o
as a global alias or if #tinycurl wasn't an option, curl -o
instead.
tor
support built-in will go and IDK make i.e. #neocurl
or sth. along those lines or build something like #ethcurl
or #torcurl
or #ipfscurl
or whatever...That being said I am glad curl
isn't solely maintained by you but has other contributors (give them a shoutout!) but I also am glad you maintain that vital software that most "#TechIlliterate #Normies" most likely never heard of but propably use on a daily basis as part of all the #tech they use to #consume media with...
curl
is more than just a downloader and more intuitive than vim
) with wget being "the #vi of downloaders" (tho wget
is even simpler to use than vi
)...Either way, curl is awesome...
Hacer una copia o espejo de un sitio usando wget
A veces uno necesita hacer una copia completa de un sitio web para acceso fuera de línea, o también para convertir un sitio dinámico a estático, especialmente cuando un cliente tiene un sitio web en una versión obsoleta de un manejador de contenido como WordPress o Joomla en una versión muy vieja y corriendo una versión de PHP vulnerable. Esto es especialmente útil cuando el sitio web no requiere ser modificado. Esto trae como beneficio un sitio más veloz y más seguro, ya que un sitio estático HTML se envía tal cual al navegador de las personas usuarias, sin tener que ejecutar código PHP potencialmente vulnerable.
Con la herramienta de línea de comandos wget
es posible de forma muy sencilla descargar un sitio web entero:
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org
Explicación de algunos de los argumentos:
--mirror
– Descarga recursivamente y hace otros ajustes relacionados, implica: -r -N -l inf --no-remove-listing
.--convert-links
– convierte enlaces y referencias en HTML como CSS, para poder ser vistas fuera de línea.--adjust-extension
– Ajusta la extensión de los objetos html o css según el tipo de datos--page-requisites
– Descarga objetos enlazados como hojas de estilo CSS e imágenes requeridos para ver el sitio fuera de línea.--no-parent
– No subir a directorios superiores en el URL, útil cuando se está haciendo espejo de un URL específico como http://example.org/sub-directorio/Ejemplo de conversión de sitio WordPress en un sistema cPanel:
# Entrar como usuario a shell, para no ejecutar comandos como rootsu - user -s /bin/bash# Crear directorio de descargasmkdir download && cd downloadwget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org# Hacer un respaldo del directorio raíz del sitio webcd ..mv public_html public_html~# Colocar la copia descargada en líneamv download/example.org public_html# Probar sitio, ajustar detalles y opcionalmente borrar base de datos luego de hacer respaldo# Con esto el sitio dinámico ha sido convertido a estático.
Referencias: