Some notes and tools for reverse engineering / deobfuscating / unminifying obfuscated web app code.
Before continuing: This guide is currently outdated but I'm working on a new one with upgrading steps included. I'll link it here once it's finished :)
This is a guide that will show you how to setup Plex Media Server with Sonarr, Radarr, Jackett, Overseerr and qBitTorrent with Docker. It is written for Ubuntu 20.04 but should work on other Linux distributions as well (considering supported distributions by Docker). It is also written for people who have some experience with Linux and Docker. If you are new to Docker, I recommend you to read the Docker documentation, and if you are new to Linux, I recommend you to read the Ubuntu documentation.
Now, let's get started!
Please note: This guide was written without considering hardlinking for Sonarr/Radarr. If you want to use hardlinking refer to #Hardlinking
Sidenote: you will still need one, but by the end of the guide you should only need to deal with this process once per year, assuming nothing changes.
Note
This guide only covers VPN setup, creating DMM account & installing Game Player is considered out of scope (this is long enough as is).
Use Nyatsu's DMM guide for guidance on getting set up, or check #jp-questions pins in maincord.
Warning
This guide was rewritten in August 2025 to no longer use TunnlTo. If you need the old version, it can still be accessed here.
-
Every atomic object has a timeline (TL) of writes:
- A write is either a store or a read-modify-write (RMW): it read latest write & pushed new one.
- A write is either tagged Relaxed, Release, or SeqCst.
- A read observes some write on the timeline:
- On the same thread, future reads can't go backwards on the timeline.
- A read is either tagged Relaxed, Acquire, or SeqCst.
- RMWs can also be tagged Acquire (or AcqRel). If so, the Acquire refers to the "read" portion of "RMW".
-
Each thread has its own view of the world:
- Shared write timelines but each thread could be reading at different points.