Aqso commited on
Commit
b024ec8
·
verified ·
1 Parent(s): a387bc6

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -10
Dockerfile CHANGED
@@ -4,16 +4,16 @@ ENV DEBIAN_FRONTEND=noninteractive
4
  ENV HOSTNAME=Nobita
5
 
6
  # -----------------------------
7
- # 1. Install Node.js v20 & DNS Hijacker (libnss-wrapper)
8
  # -----------------------------
9
  RUN apt-get update && apt-get install -y --no-install-recommends \
10
- ca-certificates curl wget git sudo procps libnss-wrapper \
11
  && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
12
  && apt-get install -y nodejs \
13
  && rm -rf /var/lib/apt/lists/*
14
 
15
  # -----------------------------
16
- # 2. Install code-server (VS Code)
17
  # -----------------------------
18
  RUN curl -fsSL https://code-server.dev/install.sh | sh
19
 
@@ -23,7 +23,7 @@ RUN curl -fsSL https://code-server.dev/install.sh | sh
23
  RUN useradd -m -u 1000 user
24
  WORKDIR /home/user/app
25
 
26
- # Siapkan folder temp untuk VS Code & DNS palsu
27
  RUN mkdir -p /tmp/vsc /tmp/ext /tmp/dns && \
28
  chown -R user:user /tmp/vsc /tmp/ext /tmp/dns /home/user/app
29
 
@@ -31,15 +31,15 @@ USER user
31
  EXPOSE 7860
32
 
33
  # -----------------------------
34
- # 4. SMART STARTUP (THE NINJA WAY)
35
  # -----------------------------
36
- # Penjelasan:
37
- # - Kita buat file resolv.conf sendiri di /tmp (Aman dari scan HF)
38
- # - Kita pake LD_PRELOAD buat maksa sistem baca file itu, bukan /etc/resolv.conf
 
39
  # -----------------------------
40
  CMD bash -c "echo -e 'nameserver 8.8.8.8\nnameserver 1.1.1.1' > /tmp/dns/resolv.conf; \
41
- export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libnss_wrapper.so; \
42
- export NSS_WRAPPER_RESOLV_CONF=/tmp/dns/resolv.conf; \
43
  code-server --bind-addr 0.0.0.0:7860 \
44
  --auth none \
45
  --user-data-dir /tmp/vsc \
 
4
  ENV HOSTNAME=Nobita
5
 
6
  # -----------------------------
7
+ # 1. Install Node.js v20 & Proot
8
  # -----------------------------
9
  RUN apt-get update && apt-get install -y --no-install-recommends \
10
+ ca-certificates curl wget git sudo procps proot \
11
  && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
12
  && apt-get install -y nodejs \
13
  && rm -rf /var/lib/apt/lists/*
14
 
15
  # -----------------------------
16
+ # 2. Install code-server
17
  # -----------------------------
18
  RUN curl -fsSL https://code-server.dev/install.sh | sh
19
 
 
23
  RUN useradd -m -u 1000 user
24
  WORKDIR /home/user/app
25
 
26
+ # Siapkan folder DNS palsu & VS Code
27
  RUN mkdir -p /tmp/vsc /tmp/ext /tmp/dns && \
28
  chown -R user:user /tmp/vsc /tmp/ext /tmp/dns /home/user/app
29
 
 
31
  EXPOSE 7860
32
 
33
  # -----------------------------
34
+ # 4. SMART STARTUP (THE PROOT WAY)
35
  # -----------------------------
36
+ # Penjelasan Level Max:
37
+ # - proot -b /tmp/dns/resolv.conf:/etc/resolv.conf:
38
+ # Kita 'menindih' file asli dengan file palsu kita HANYA di dalam sesi ini.
39
+ # - Ini bikin Node.js, bash, dan curl 'melihat' DNS 8.8.8.8 secara nyata.
40
  # -----------------------------
41
  CMD bash -c "echo -e 'nameserver 8.8.8.8\nnameserver 1.1.1.1' > /tmp/dns/resolv.conf; \
42
+ proot -b /tmp/dns/resolv.conf:/etc/resolv.conf \
 
43
  code-server --bind-addr 0.0.0.0:7860 \
44
  --auth none \
45
  --user-data-dir /tmp/vsc \