• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
잡담

아래 블루스크린 글 보고 재밌어 보여서 만들어 봤습니다.

앨런임더 365

2

3

image.png.jpg

 

100%가 다 차면 nginx(를 가장한) 404 페이지로 전환되고, 거기 있는 "404 Not Found"를 누르면...

 

https://404.alan.imdeo.kr

여기서 직접 보실 수 있습니다.

 

<!DOCTYPE html>
<html>

<head>
  <title>404 Not Found</title>
  <style>
    body {
      height: 100vh;
      margin: 0;
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    }

    .screen {
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #087cd8;
      color: white;
    }

    .container {
      width: 80vw;
      height: 80vh;
    }

    p {
      margin: 0;
      font-size: 2.5rem;
      text-align: left;
      font-weight: 100;
    }

    .sad-face {
      font-size: 10rem;
      font-weight: 400;
      margin-bottom: 2.5rem;
    }

    .message {
      max-width: 1100px;
      line-height: 1.5;
      margin-bottom: 2.5rem;
    }

    .percentage {
      margin-bottom: 2.5rem;
    }

    .bottom {
      display: flex;
      gap: 1.5rem;
    }

    .qr > p {
      --qr-size: 0.5rem;
      font-family: monospace;
      font-size: var(--qr-size);
      line-height: var(--qr-size);
    }

    .info {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .info > div > p {
      font-size: 1.3rem;
    }

    #support {
      margin-bottom: 0.5rem;
    }

    a {
      color: white;
      text-decoration: none;
    }

    .not-found {
      display: none;
      font-family: none;
      padding: 8px;
    }

    h1 {
      color: black;
      margin-top: 0;
    }
  </style>
</head>

<script>
  const strings = [
    [".message", "브라우저에 문제가 발생하여 새로 고침해야 합니다. 일부 오류 정보를 수집하고 있습니다. 그런 다음 자동으로 다시 시작합니다."],
    ["#complete", "완료"],
    ["#info-top-left", "이 문제와 가능한 수정 사항에 대한 자세한 내용은"],
    ["#info-top-right", "를 참조하세요."],
    ["#support", "지원 담당자에게 연락하는 경우 다음 정보를 제공하세요."],
    ["#stop-code", "중지 코드"]
  ];

  document.addEventListener("DOMContentLoaded", () => {
    if (navigator.language == "ko-KR") {
      strings.forEach(([selector, string]) => {
        document.querySelector(selector).innerHTML = string;
      });
    }

    const progress = document.getElementById("progress");
    let i = 0;

    function timeout() {
      if (i == 100) {
        const screen = document.querySelector(".screen");
        screen.remove();

        const notFound = document.querySelector(".not-found");
        notFound.style.display = "block";

        return;
      }

      i += Math.floor(Math.random() * 10);
      if (i > 100) {
        i = 100;
      }
      progress.innerHTML = i;
      setTimeout(timeout, Math.floor(Math.random() * 1000) + 700);
    }

    setTimeout(timeout, 1000);
  });
</script>

<body>
  <div class="screen">
    <div class="container">
      <p class="sad-face">:(</p>
      <p class="message">Your browser ran into a problem and needs to refresh. We're just collecting some error info, and then we'll refresh for you.</p>
      <p class="percentage"><span id="progress">0</span>% <span id="complete">Complete</span></p>
      <div class="bottom">
        <a href="https://en.wikipedia.org/wiki/HTTP_404" class="qr">
          <p>█████████████████████████████████</p>
          <p>██ ▄▄▄▄▄ █▀█ █▄█▄▀█▀▀▄ █ ▄▄▄▄▄ ██</p>
          <p>██ █   █ █▀▀▀█ ▀█  ▀▄ ▄█ █   █ ██</p>
          <p>██ █▄▄▄█ █▀ █▀▀█ ▀▀▀▄▄▄█ █▄▄▄█ ██</p>
          <p>██▄▄▄▄▄▄▄█▄▀ ▀▄█▄█ █▄▀ █▄▄▄▄▄▄▄██</p>
          <p>██▄▄▄▄▄▀▄ ▄▄▀▄▀▀█▀    █ ▀ ▀▄█▄▀██</p>
          <p>██▀▄▀▀▄▀▄ ▀█▄█▀ ▄ █▄██▄▄▄ ▀▀█▀███</p>
          <p>██▀▄▀ █▀▄▄  ▄█▄█▄  ▄█▀▀▀▀ ▀▄▄█▀██</p>
          <p>██▄█  █ ▄▄▀ ▄ ▄█▀ ▀▄██▄▄ ▀█▄▄▀███</p>
          <p>██ ██▀  ▄  ▀ ▄▀▀▀   ▀ ▀▀▀█▀▄ █▀██</p>
          <p>██ █ █▄ ▄▀▀ ▀█▀ ▄ ▀█▄█▀▄▄▀██▄▀███</p>
          <p>██▄██▄▄▄▄█ ▄██▄█▄   ▀█ ▄▄▄ ▀   ██</p>
          <p>██ ▄▄▄▄▄ █▄ ▄ ▄█▀ █▄▄  █▄█ ▄▄▀▀██</p>
          <p>██ █   █ █ ▀▀▄▀▀▀▀▀ ▀▀▄▄▄▄▄▀ ▀▀██</p>
          <p>██ █▄▄▄█ █ ▄▀█▀ ▄▄ █▄▄▀▀▄   ▄ ███</p>
          <p>██▄▄▄▄▄▄▄█▄▄▄█▄█▄██▄▄▄█▄█▄▄█▄████</p>
          <p>█████████████████████████████████</p>
        </a>
        <div class="info">
          <div>
            <p>
              <span id="info-top-left">For more information about this issue and possible fixes, visit</span>
              <a href="https://en.wikipedia.org/wiki/HTTP_404">https://en.wikipedia.org/wiki/HTTP_404</a><span id="info-top-right"></span>
            </p>
          </div>
          <div>
            <p id="support">If you call a support person, give them this info:</p>
            <p><span id="stop-code">Stop code</span>: 404_NOT_FOUND</p>
          </div>
        </div>
      </div>
    </div>
  </div>

  <div class="not-found">
    <center>
      <a href="https://www.youtube.com/watch?v=dQw4w9WgXcQ">
        <h1>404 Not Found</h1>
      </a>
    </center>
    <hr>
    <center>not nginx</center>
  </div>
</body>

</html>

 

신고공유스크랩
3

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
오픈소스 개인 구독 추적기 Wallos 9 달소 3일 전23:26 371 +3
질문 /var/www 폴더가 삭제되었습니다. ㅜ,.ㅜ 2 니속사정 5일 전20:42 305 +1
잡담 jellyfin 자원 진짜 안쓰네요 1 kmw_ 5일 전19:26 480 +1
3912
image
달소 21.06.22.13:19 19549 0
3911
image
달소 22.03.17.22:09 19093 +14
3910
image
달소 23.01.27.14:15 16286 +8
3909
image
달소 20.12.25.17:18 16262 +5
3908
image
달소 21.01.02.13:32 8181 0
3907
image
달소 21.04.28.14:05 8135 +6
3906
image
똥쓰똥쓰 22.09.24.16:54 8062 +3
3905 정보
image
달소 21.05.06.11:38 7934 +4
3904
image
달소 21.02.26.15:02 7695 +1
3903
image
달소 22.03.17.23:40 7107 +2
3902
image
달소 21.07.30.17:12 7089 +4
3901 정보
image
달소 21.06.11.13:24 6951 +4
3900 질문
image
달소 21.04.23.12:51 6143 +3
3899
image
ExpBox 22.04.16.23:19 5932 +4
3898
image
에프킬라 22.04.19.22:08 5906 +6
3897 정보
image
달소 22.05.06.13:12 5904 +3
3896
image
달소 21.07.30.11:40 5752 +1
3895 정보
image
달소 21.10.21.17:59 5607 +3
3894
image
달소 23.04.09.14:13 5267 +4
3893
image
달소 22.03.17.22:25 5114 +11