Official TwoDots Horror Discussion

Official discussion thread for TwoDots Horror. Please do not post any spoilers or big hints.

I set up my own instance of the app with the code, I’m kinda lost. I’m guessing we need to do something with the /a**/up**** endpoint and then retrieve it with the /a**/av***r endpoint to get around the 127.0.0.1 check? Also is this supposed to be some sort of race condition against the b**.js pu****D**a() function?

For anyone trying to get the Dockerfile to run, I had to replace node:current-buster-slim with node:17-bullseye-slim.

#FROM node:current-buster-slim
FROM node:17-bullseye-slim

Otherwise I would get the following error when trying to run build-docker.sh.

> node index.js

node:internal/modules/cjs/loader:1183
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /app/node_modules/sqlite3/lib/binding/napi-v6-linux-x64/node_sqlite3.node)
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1183:18)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/app/node_modules/sqlite3/lib/sqlite3-binding.js:4:15)
    at Module._compile (node:internal/modules/cjs/loader:1099:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
  code: 'ERR_DLOPEN_FAILED'
}

Node.js v17.9.0
2022-04-14 16:09:49,518 INFO exited: node (exit status 1; not expected)
2022-04-14 16:09:52,524 INFO spawned: 'node' with pid 86

Update: I had to install libxshmfence1 libglu1 to get rid of a problem running puppeteer, but the process stil dies on me when I try to add a post for review.

1 Like

I think this challenge is currently broken. The challenge restarts every time a post is submitted for the bot to review, meaning all sessions are invalidated.

I can confirm that the challenge is not broken. I thought the same thing as well at first, but if you look at the bottom of the purgeData() function you can see why it seems to ‘restart’. The challenge is still solvable and probably as intended.
The only thing is that for local testing with docker you need to add libxshmfence1 libglu1 to the packages like @mackan said. On the remote instance this seems to not be an issue.
Super fun challenge to learn about this technique! Took me a few days but the payoff was totally worth it

1 Like