Adding modem 4g usb.

This commit is contained in:
Sergiotarxz 2025-01-08 13:49:10 +01:00
parent 3875114830
commit 3ae4ce6808
8 changed files with 273 additions and 11 deletions

View File

@ -0,0 +1,41 @@
<product>
<title>Modem USB 4G HMUF-V5</title>
<description>
<h3>¡¡¡¡IMPORTANTE ESCOGER COLOR "WHITE RED 1PC"!!!!</h3>
<p>Te permite dar internet en cualquier sitio a través de
usb a tu ordenador con una tarjeta SIM extra que puedes pedir
en tu operadora usando un plan Multisim usando los datos
de tu tarifa con la ventaja de no gastar batería del
movil en esta tarea.</p>
<p>También puede proveer de internet a través de wifi
a dispositivos cercanos como móviles u otros ordenadores.</p>
<p>Es muy importante que al usarlo cambies la clave por defecto
del wifi; o incluso que lo desactives si no lo necesitas.</p>
<p>Para ello deberás conectarte con tu navegador a http://192.168.100.1
una vez tengas el modem conectado por usb a tu ordenador para cambiar
los ajustes con el usuario admin y la contraseña admin.</p>
<p>Este modelo contiene un ordenador completo en su interior
al que se le puede instalar un sistema operativo alternativo;
no obstante no recomiendo comprarlo para ese proposito ya
que el proceso no está documentado ni soportado en internet.</p>
<p>Bajo ningún concepto desactives la opción de usb tethering,
no podrás reconfigurar el modem y el vendedor no te ayudará a
resolver el problema. (Es solucionable, pero no por usuarios
sin conocimientos del uso del terminal)</p>
<p>Si has comprado este producto a través de nuestro enlace, vives
en Burguillos y se te estropea puedes contactar con
burguillos.info en Instagram e intentaremos hacer lo
posible por ayudarte si el vendedor no responde.</p>
</description>
<slug>modem-4g-usb-hmuf-v5</slug>
<img>/img/hmuf-v5.webp</img>
<vendor>Aliexpress</vendor>
<url>https://s.click.aliexpress.com/e/_okTlQcF</url>
</product>

View File

@ -77,7 +77,7 @@ sub _index_products( $self, $index, $products ) {
for my $key (@product_keys) {
my $product = $products->{$key};
my $title = $product->{title};
my $content = $product->{description};
my $content = $product->{description_text};
my $url = "/product/@{[$product->{slug}]}";
my $image = $product->{img};
my $vendor = $product->{vendor};

View File

@ -12,9 +12,22 @@ use Data::Dumper;
use Mojo::Base 'Mojolicious::Controller', '-signatures';
sub direct_buy($self) {
my $products = BurguillosInfo::Products->new->Retrieve;
my $slug = $self->param('slug');
$self->redirect_to($products->{$slug}{url});
my $products = BurguillosInfo::Products->new->Retrieve;
my $slug = $self->param('slug');
my $product = $products->{$slug};
my $referer = $self->req->headers->referer || '';
my $base_url = $self->config('base_url');
if ( $referer !~ /^$base_url/ ) {
undef $referer;
}
if ( $product->{vendor} eq 'Aliexpress' ) {
return $self->render(
template => 'page/aliexpress-product',
product => $product,
referer => $referer,
);
}
$self->redirect_to( $product->{url} );
return;
}
1;

View File

@ -29,7 +29,10 @@ sub Retrieve ($self) {
my $dom = Mojo::DOM->new->xml(1)->parse( $product_file->slurp_utf8 );
defined( my $title = $dom->at(':root > title')->text )
or die "Missing title at $product_file.";
defined( my $description = $dom->at(':root > description')->text )
defined( my $description = $dom->at(':root > description')->content )
or die "Missing description at $product_file.";
defined( my $description_text =
$dom->at(':root > description')->all_text )
or die "Missing description at $product_file.";
defined( my $slug = $dom->at(':root > slug')->text )
or die "Missing slug at $product_file.";
@ -40,12 +43,13 @@ sub Retrieve ($self) {
defined( my $url = $dom->at(':root > url')->text )
or die "Missing url at $product_file.";
$cached_products->{$slug} = {
title => $title,
description => $description,
slug => $slug,
img => $img,
vendor => $vendor,
url => $url,
title => $title,
description => $description,
description_text => $description_text,
slug => $slug,
img => $img,
vendor => $vendor,
url => $url,
};
}
return $cached_products;

View File

@ -2,6 +2,50 @@ html {
height: 100%;
touch-action: none; }
body.aliexpress-redirection {
background: azure; }
div.warning-aliexpress {
display: block;
overflow: scroll;
background: white;
width: calc(90% - 100px);
border: solid 3px black;
border-radius: 20px;
position: absolute;
left: 50%;
transform: translate(-50%, -50%);
top: 50%;
height: 80%;
padding: 50px;
max-width: 874px; }
div.warning-aliexpress h1 {
margin-top: 10px;
text-align: center; }
div.warning-aliexpress div.buttons {
width: 50%;
max-width: 409px;
margin-left: 50%;
transform: translateX(-50%); }
div.warning-aliexpress div.buttons img {
width: 100%; }
div.warning-aliexpress div.buttons a {
display: inline-block;
margin-top: 20px;
border-radius: 10px;
padding: 10px;
border: solid 3px black;
text-decoration: none;
font-weight: bold; }
div.warning-aliexpress div.buttons a.buy {
color: #445E45;
background: #a9d9ab;
border-color: #749d72; }
div.warning-aliexpress div.buttons a.back {
color: grey;
background: #ff958c;
border-color: #ed574b; }
div.tooltip-search-promo::after {
content: " ";
position: absolute;

View File

@ -18,6 +18,58 @@ html {
touch-action: none;
}
body.aliexpress-redirection {
background: azure;
}
div.warning-aliexpress {
display: block;
overflow: scroll;
background: white;
width: calc(90% - 100px);
border: solid 3px black;
border-radius: 20px;
position: absolute;
left: 50%;
transform: translate(-50%, -50%);
top: 50%;
height: 80%;
padding: 50px;
max-width: 874px;
h1 {
margin-top: 10px;
text-align: center;
}
div.buttons {
width: 50%;
max-width: 409px;
img {
width: 100%;
}
margin-left: 50%;
transform: translateX(-50%);
a {
display: inline-block;
margin-top: 20px;
border-radius: 10px;
padding: 10px;
border: solid 3px black;
text-decoration: none;
font-weight: bold;
&.buy {
color: #445e45;
background: #a9d9ab;
border-color: #749d72;
}
&.back {
color: grey;
background: #ff958c;
border-color: #ed574b;
}
}
}
}
div.tooltip-search-promo::after {
content: " ";
position: absolute;

BIN
public/img/hmuf-v5.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,108 @@
<html lang="es">
% my $product = stash 'product';
% my $referer = stash 'referer';
% my $description_og = $product->{description};
% $description_og =~ s/\s+/ /g;
% $description_og = substr $description_og, 0, 157;
% $description_og =~ s/\s\S+$//;
% $description_og.='...';
% my $base_url = config 'base_url';
% use Time::Piece;
% my $t = Time::Piece->new();
% my $year = $t->year;
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P9K5VBGN');</script>
<!-- End Google Tag Manager -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-SBSKCCF31B"></script>
<script type="module" src="/js/cookie.js"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-SBSKCCF31B');
</script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8178723521508611" crossorigin="anonymous"></script>
% my $css_version = config 'css_version';
<script src="/js/bundle.js?v=<%=$css_version%>"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orestbida/cookieconsent@3.0.1/dist/cookieconsent.css"/>
<link rel="stylesheet" href="/css/styles.css?v=<%=$css_version%>"/>
<meta charset="UTF-8"/>
<meta name="description" content="<%=defined $description_og ? $description_og : 'Lee más sobre: ' . title %>" />
<meta property="og:description" content="<%=defined $description_og ? $description_og : 'Lee más sobre: ' . title %>" />
<meta property="og:title" content="<%="Burguillos Info - @{[$product->{title}]}"%>"/>
<meta property="og:site_name" content="Burguillos Info" />
<meta property="og:type" content="website" />
% my $ogimage = stash 'ogimage';
% say STDERR $ogimage;
% my $user_agent = stash 'useragent';
<meta property="og:url" content="<%=$base_url%><%= url_for %>"/>
% if (defined $ogimage) {
% my $url_for = url_for || '';
<meta itemprop="image" property="og:image" content="<%= $ogimage %>"/>
<meta name="image" content="<%= $ogimage %>"/>
<meta name="twitter:image" content="<%=$ogimage%>" />
% } else {
<meta name="image" property="og:image" content="<%=$base_url%>/img/burguillos.webp?v=4">
<meta name="twitter:image" content="<%=$base_url%>/img/burguillos.webp?v=4">
% }
<meta property="og:image:alt" content="Portada de <%= title %>"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body class="aliexpress-redirection">
<div class="warning-aliexpress">
<h1>Aviso antes de ir a Aliexpress.</h1>
<div class="buttons">
<img src="<%=$product->{img}%>" alt=""/>
<a class="buy" href="<%=$product->{url}%>">Comprar ahora</a>
% if (defined $referer) {
<a class="back" href="<%=$referer%>">Volver atrás</a>
% }
</div>
<h2>Compra <%=$product->{title}%> con seguridad en Aliexpress.</h1>
<div class="description"><%==$product->{description}%></div>
<h2>Lee esto antes de comprar</h2>
<p>Aliexpress es una gran tienda para obtener productos que no se pueden obtener en ningún otro sitio, pero es importante seguir estas medidas de seguridad para tener la mejor experiencia:</p>
<ol>
<li>Paga siempre usando Paypal, no con la tarjeta de credito directamente: La mejor forma de tener
seguridad en caso de que haya algún problema en tu pedido es usar el centro de disputas de Paypal,
Aliexpress no suele gestionar las devoluciones de forma tan eficaz como Paypal.</li>
<li>Si la rapidez con la que debe llegar el producto es muy importante para ti es muy recomendable
que escojas una opción alternativa a Aliexpress si existe, incluso si Aliexpress afirma una
fecha de llegada rápida es muy frecuente que haya retrasos debido a la larga cadena logística
detrás de Aliexpress. Esto es especialmente cierto en Navidades y otras fechas señaladas.</li>
<li>Nosotros solo promocionamos productos que consideramos interesantes y o hemos probado o hemos escuchado
hablar bien de ellos por gente que los ha probado, por desgracia no podemos asegurarte la misma
experiencia descrita debido a que no somos los vendedores.</li>
<li>Si el pedido llega usando Correos la fecha de entrega estimada no significa nada por como funciona Correos,
puede llegar o antes o después.</li>
<li>Lee siempre la descripción que te dejamos del producto, ya que muchos los hemos probado y
puede contener indicaciones importantes a la hora de usarlo o recibirlo, esto es muy importante en productos
de informática, especialmente en aquellos que promocionamos como productos hackeables en los
que instalar sistemas operativos alternativos y usables para cosas para las que no fueron
diseñados.</li>
<li>Si es posible graba como abres el paquete mostrando en la grabación que el paquete se encuentra correctamente
sellado por si fuese necesario el video para una posible disputa en Paypal.</li>
</ol>
</div>
</body>
</html>