python3 -c "
targets = [
    b'pterodactyl',
    b'/var/lib/pterodactyl',
    b'server.properties',  # Minecraft
    b'level.dat',          # Minecraft world
    b'bukkit.yml',
    b'spigot.yml',
    b'paper.yml',
    b'eula.txt',
    b'/var/lib/docker',
    b'wings',
    b'daemon.json',
]

with open('/dev/nbd0', 'rb') as f:
    chunk = 128*1024*1024
    offset = 0
    limit = 100*1024*1024*1024  # first 100GB
    found = {}
    while offset < limit:
        f.seek(offset)
        data = f.read(chunk)
        if not data: break
        for target in targets:
            pos = 0
            while True:
                idx = data.find(target, pos)
                if idx < 0: break
                abs_byte = offset + idx
                if target not in found:
                    found[target] = []
                found[target].append(abs_byte)
                pos = idx + 1
        offset += chunk
        if offset % (2*1024*1024*1024) == 0:
            print(f'Scanned {offset//1024//1024//1024}GB...',flush=True)

for t,locs in found.items():
    print(f'{t.decode(\"latin1\")}: {len(locs)} hits, first at byte {locs[0]}')
" 2>&1
