I watched Freelance at the cinema 📽. I know it wasn’t to be a piece of art but… damn, that was bad. It’s not bad as in “I am going to leave the cinema” but it leaves you so indifferent that I don’t even how to feel about it.

It’s a nap maker.

I listen to @somafm@sfba.social almost daily while I work, and I switch between stations. This has been The Trip week. And today, they are crushing it. I am nailing all my tasks today with this station plus two coffees.

📽 I watched the comedy Northern Comfort at the cinema. A bunch of people with fear to flight attend a course to fix their flying problems. Simple premise, crazy development. Timothy Spall is awesome and I really suffer with Lydia Leonard’s character.

Half marathon block - Week #3

I am training for my first half marathon

Summary

The week started meh with a lot of soreness, but ended quite nice. Four running sessions, two Pilates sessions and one strength training session.

~35 km in total. 5km more than last week due to the addition of the easy run.

2024-04-02

Steady run on the treadmill. It honestly didn’t feel right, my legs were sore. I guess I didn’t have enough time to recover from the previous week. Also, I tried a new gel, so I wanted to be near a WC, hence running at the gym :P

  • 10’ in zone 2
  • 5 sets of 4’ at 5’00/km & 2’ at 6’40/km
  • 5’ in zone 2

One hour of Pilates in the evening.

2024-04-03

Easy 35' run, short run on the treadmill. Just to put some kilometers on top. Still a little bit short

2024-04-04

Hills. Lovely day, perfect to get all sweaty. Not going to lie. It was hard. I was panting at the end:

  • 15' in zone 2.
  • 5 times: 1' of progression with 30" of slow run to recover.
  • 5 times: 100m up hill.
  • 2' slow run.
  • 5 times: 100m down hill.
  • 5' of zone 3.
  • 10' of cool down.

One hour of Pilates in the evening.

2024-04-05

Strength training, I was wasted at the end:

  • Warm up: 10' at the elliptic trainer.
  • Superset
    • 4x(12-10-10-8) Bench press.
    • 4x8 kettlebells deadlift.
  • 15' AMRAP:
    • 10 squats with sandbag
    • 12 plyometric Bulgarian split squats.
    • 10 lunges with medicine ball.
    • 10kcal at the ski-row machine.

2024-04-07

Long run. I was scared about this one. Not because of the distance (14km), but because I didn’t sleep well that night, and I was sore all week long. But it went extremely well. I really enjoyed it.

  • 2k at 5'50"/km
  • 3k at 5'30"/km
  • 4k at 5'15"/km
  • 3k at 5'50/km
  • 2k Cool down.

📽 watched Wicked Little Letters at the cinema. Loved it. It’s funny in a weird way because the topic is quite sad in reality.

Both Olivia Colman and Jessie Buckley are extremely funny with that hint of sadness that the movie constantly has. Timothy Spall is also great.

Highly recommended.

My parents know I suck at running so they gave me this (truth to be told, it’s my birthday cake)

🏃Hills workout. 20C early in the morning. April went nuts.

Half marathon block - Week #2

I am training for my first half marathon

Summary

Three running sessions, one Pilates session and one strength training session.

30 km in total.

2024-03-26

Steady run:

  • 15' in zone 2.
  • 10' in zone 3.
  • 5' in zone 4.
  • 15' in zone 3/2.

I honestly struggle with zone training. Zone 2 mixes with zone 3 really fast. I use my watch to track this and I know is accurate but I am starting to think in trying a chest band. Or maybe not because who needs to waste more money?

Pilates session.

2024-03-28

Intervals:

  • 10' in zone 2.
  • 4 repetitions:
    • 3' at 4':50"/km
    • 1' at 6':30"/km
    • 1' at 4':00"/km
    • 3' at 6':30"/km
  • 5' of recovery.

2024-03-29

I hit the gym to do mainly deadlifts and other exercises for the back and legs.

2024-03-31

Long run: 12km

  • 3k at 5':50"/km
  • 3k at 5':30"/km
  • 3k at 5':15"/km
  • 3k at 5':50"/km

For some reason, my pace was all over the place. I ran way faster that I expected, hitting 4':30"/km most of the time. But I enjoyed the run. On average, I did 5':22"/km.

Half marathon block - Week #1

I am training for my first half marathon

Summary

Three running sessions, two Pilates sessions, one strength training session.

I matched the first two running sessions with Pilates, so I can use them to stretch.

I used to run early in the morning before work, but this week I moved the first two running sessions to the middle of the day before having lunch. The reason is to avoid arriving back home starving and do binge-eat. I can arrive and have a proper meal and go back to work. It works for now, although the heat will be a problem soon.

2024-03-19

A 45 minutes easy run in zone 2. I usually run these kinds of training in the treadmill. I can put some music or an audiobook, and keep a steady, controlled pace that allows me to be in zone 2. But I ran outside and zone 2 becomes harder, so let’s say it was a zone 2.5.

Later in the evening I had my Pilates class.

2024-03-21

A pyramid session. 20C day. Bad idea:

10 minutes of warm up.

The pyramid (fast pace was around 4':40"/km pace):

  • 1 minute at fast pace, 1 minute easy run.
  • 2 minutes at fast pace, 1 minute easy run.
  • 3 minutes at fast pace, 1 minute easy run.
  • 4 minutes at fast pace, 1 minute easy run.
  • 3 minutes at fast pace, 1 minute easy run.
  • 2 minutes at fast pace, 1 minute easy run.
  • 1 minute at fast pace, 1 minute easy run.

1km progression.

10 minutes of recovery.

2024-03-22

Strength training at the gym. Far from high weight but demanding nonetheless.

It can be summarized as: Squats at the rack, series of lunges and moving around weights, and stretching at the end.

2024-03-24

The not so long run. A 13k run at 5’32”/km (on average). It was a really nice run with perfect weather and no pain whatsoever.

[Spanish] MTProxy on Fedora/CentOS Stream/RHEL

While I usually for no specific reason write in English, this post is written in Spanish due to the absurd precautionary measure of blocking Telegram.


Si vais a usar Ubuntu, esta guia es genial, además incluye alguna cosa como registrar el proxy que yo he obviado a proposito.

Hay muchas formas de saltarse un bloqueo a Telegram. Desde cambiar los DNS, hasta usar una VPN pero, en mi opinión, la mejor es MTProxy. Aunque el proyecto parece parado desde hace unos años, todavía funciona y para salir de un apuro, es una solución ideal.

Todavía no se sabe como van a bloquear el uso de la plataforma (aunque viendo como se ha hecho hasta ahora este tipo de cosas, van a bloquear los dominios con casi total seguridad). Si este es el caso, yo personalmente uso NextDNS para bloquear ciertas páginas.

El bloqueo no va a suceder.

Sin embargo, cambiar los DNS no me parece una medida adecuada de cara a seguir usando Telegram. No siempre es factible cambiarlos. Algunos routers suministrados por proveedores de servidores de Internet no permiten hacer estas modificaciones.

¿Y una VPN? Esta solución es un poco drástica. Por funcionar, funciona. Pero, salvo que sepas lo que estas haciendo, estarías pasando todo el trafico del dispositivo por la VPN. E igual no es algo que te interesa. Igual no quieres estar saliendo por Francia las 24 horas del dia. O igual no puedes tener todos tus dispositivos en una VPN como por ejemplo el ordenador del trabajo. Además de que los servicios de VPN son de dudosa fiabilidad. Si vas a seguir esta ruta, mi recomendación es que te montes tu mismo la VPN, ya sea usando OpenVPN o WireGuard, o que uses un servicio por el que estás pagando y del que te fías. Yo personalmente uso la primera opción pero ProtonVPN me ha dado buen resultado en el pasado.

¿Por qué un proxy y en particular MTProxy? Pues bastante sencillo. Telegram soporta esto de manera nativa en todas las aplicaciones oficiales. Soporta SOCKS5 y MTProto y una vez tengas montado el servicio, puedes compartir el enlace con la gente que te importa. El tráfico de Telegram es lo único que va a través del proxy, no afectando en absoluto a la conexión del resto de aplicaciones del dispositivo.

Así que si tienes una máquina con Fedora, CentOS Stream 9 o RHEL 9 (puede que funcione con versiones anteriores pero no lo he probado), sigue estos pasos. Yo por el momento uso Linode y un servidor en Amsterdam. El proveedor de la maquina virtual es lo de menos. Asegúrate también de que sabes como proteger y mantener un equipo expuesto públicamente.

Se asume que la máquina esta limpia, si es una máquina que ya tenias, puede que los pasos del firewall te den problemas. Pero si ya tienes una máquina es que sabes lo que haces :)

Vamos a rodar todas las instrucciones como root y están muy basadas en lo que dice la propia documentación, con algunos pequeños cambios para ponerla al día. El servicio no va a estar rodando como root, tranquilo :P

Vamos a instalar las dependencias que necesitamos para compilar MTProxy.

dnf install openssl-devel zlib-devel
dnf groupinstall "Development tools"

Ahora necesitamos bajar el proyecto.

git clone https://github.com/TelegramMessenger/MTProxy
cd MTProxy

Hay un problema actualmente en MTProxy si intentamos compilarlo, hace un tiempo un usuario abrió una pull request con la solución, así que vamos a aplicar su parche:

curl -L -O https://patch-diff.githubusercontent.com/raw/TelegramMessenger/MTProxy/pull/531.patch
git am 531.patch
rm -f 531.patch

Para compilarlo, solo tenemos que hacer:

make

Puede que durante la compilación veas algunos warnings, y como cualquier buena instalación, vamos a obviarlos :P (En CentOS Stream 9 no los he visto pero si en Fedora 39, así que puede que se deba a diferentes ajustes en GCC, no le he dedicado mucho tiempo a esto).

En general, una aplicación instalada a mano suele ponerse en /opt y ahí es donde vamos a ponerla (lee man hier si tienes curiosidad).

mkdir /opt/MTProxy
cp objs/bin/mtproto-proxy /opt/MTProxy/
cd /opt/MTProxy/

Ahora tenemos que hacernos con el secreto y la configuración que nos da Telegram. La configuración puede cambiar así que aconsejan renovarla a diario (candidato ideal para un cron :))

curl -s https://core.telegram.org/getProxySecret -o proxy-secret
curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf

El contenido de /opt/MTProxy debería ser: mtproto-proxy, proxy-multi.conf y proxy-secret.

Ahora necesitamos el secreto que usaremos para validar nuestros clientes contra nuestro servidor. Puede ser cualquier cosa que te inventes, pero lo que sugiere el proyecto es ideal: simplemente guarda en algún lado la salida de esta instrucción:

head -c 16 /dev/urandom | xxd -ps

Necesitamos asegurarnos de que el firewall que suele venir activado de serie no nos de problemas.

firewall-cmd --permanent --new-service=MTProxy
firewall-cmd --permanent --service=MTProxy --add-port=4242/tcp
firewall-cmd --permanent --add-service=MTProxy
firewall-cmd --reload

Si todo ha ido bien, deberías haber visto varios success. Pero siempre puedes comprobar que MTProxy esta listo en el el firewall con:

firewall-cmd --list-all | grep services

Aunque ya tenemos todo lo que necesitamos, la guinda en el pastel es configurar MTProxy como servicio que ruede como un usuario no privilegiado sin shell y sin home.

Primero creamos el usuario, y le damos permisos sobre /opt/MTProxy.

useradd -M -s /sbin/nologin mtproxy
chown -R mtproxy:mtproxy /opt/MTProxy

Ahora, necesitamos crear el servicio. Fíjate que necesitas modificar las lineas un poco para incluir el secreto que generamos antes de pegarlo en la terminal.

cat <<EOF > /etc/systemd/system/MTProxy.service
[Unit]
Description=MTProxy
After=network.target

[Service]
Type=simple
User=mtproxy
Group=mtproxy
WorkingDirectory=/opt/MTProxy
ExecStart=/opt/MTProxy/mtproto-proxy -H 4242 -S <EL SECRETO VA AQUI> --aes-pwd proxy-secret proxy-multi.conf --log mtproxy.log -M 1
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

Tras esto, ya estamos listos para rodar el servicio:

systemctl daemon-reload
systemctl enable MTProxy.service
systemctl start MTProxy.service
systemctl status MTProxy.service

Para configurarlo fácilmente, adapta el siguiente enlace, o compártelo a quien quieras:

https://t.me/proxy?server=<LA IP PUBLICA>&port=<EL PUERTO>&secret=<EL SECRETO>

Si encuentras algún fallo, por favor, dímelo para que pueda actualizarlo.