•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

the seed (r12 판)

편집 시각:
편집 권한이 부족합니다. 로그인된 사용자(이)여야 합니다. 해당 문서의 ACL 탭을 확인하시기 바랍니다.
현재 진행 중인 사용자 토론이 있습니다.
[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
1. 개요2. 추가 예정인 기능3. 권한4. 문제점
4.1. 모바일에서의 문제점
5. 기타


더시드 포럼

1. 개요[편집]

나무위키알파위키에서 사용하는 위키 엔진으로 namu, PPPP, kasio가 개발했다. the seed라는 이름은 개발 단계에서 통용되는 코드네임[1]이었으나 나무위키의 엔진을 지칭하는 공식적인 이름이 된 것으로 보인다.(#) 본 엔진은 Node.js의 Express.js 프레임워크를 사용했다.

2. 추가 예정인 기능[편집]

3. 권한[편집]

파일:다른 뜻 아이콘.svg 이 분류에 대한 설명은 the seed/권한 참고 부탁드립니다.

4. 문제점[편집]

4.1. 모바일에서의 문제점[편집]

파일:모바일 표.jpg

분명 <tablealign=right>이 표에 입력되어 있음에도 불구하고 모바일에서는 표 위치 설정 상관없이 왼쪽으로 설정된다.

5. 기타[편집]

  • 기본적으로 비공개 엔진이기 때문에 일반인들이 구할 수 없다. 대체용으로 나온 게 오픈나무.
  • 4.12.0 이하 버전은 HTML과 자바스크립트를 알아보기 쉬웠는데, 현재는 페이지들의 HTML을 열어보면 data-v-(해시) 등의 속성으로 요소들을 구분하게 되어있어 일반적으로 알아보기 어렵게 되어있다.[3] 또한 자바스크립트도 전부 난독화되어있어 변수 및 함수 이름들이 16진수 숫자로 되어있고, 작동하지 않는 코드들이 삽입되어있고, 문자열도 인코딩되어있어 알아보기 매우 어렵게 되어있다. 거기에 더해서 모든 문자열들을 한 배열에 모아놓고 함수를 통해서 배열에 접근하는 등 매우 복잡하게 되어있다.
  • 4.13.0부터 내부 구조가 대거 수정되었다. 4.15.0까지는 기존 방식의 스킨과의 호환성을 위해 해당 스킨을 적용하면 옛 인터페이스를 사용할 수 있었다. 나무위키는 2019년 말쯤에 4.16.0으로 업데이트되어 기존 레이아웃을 사용할 수 없었으나 더시드위키는 업데이트되지 않아 거기서 계속 사용할 수 있었다. 그러다가 2020년 3월 1일에 더시드위키도 4.16.0으로 업데이트되어서 기존 방식과 인터페이스는 더 이상 볼 수 없게 되었다.
  • 리버티 스킨 기준으로 신 프론트엔드(버전 4.16.0) 이후로 스크립트의 총 크기가 거의 1MB[4]씩 되어서 모바일에서 데이터 네트워크를 사용하여 접속하는 경우 주의가 필요하다. 다만 지금은 크기가 좀 줄긴 했다.
  • 2021년 1월 20일 부로 포럼이 리뉴얼되었다.
  • Date 오브젝트를 그대로 대입해서인지 차단되었을 때 나오는 오류 메시지의 만료일의 형식이 "Sat Dec 27 2132 04:42:20 GMT+0900 (대한민국 표준시)"이고, 앞부분이 영어로 나온다.
  • 2020년 중후반에 자동 로그인 후 로그아웃이 되지 않는 오류가 있었다. honoka 쿠키의 반환이 제대로 안 되어서 그런데, 값이 "[object Object]"로 잘못 반환되었다. 쿠키를 JSON(오브젝트)으로 관리하는 듯하다.[5]
  • 기여 목록의 특성으로 미루어 보아 내부적으로 초 단위 유닉스 시간을 통해 관리하는 듯하다.
  • 이전에는 Tor 네트워크 위에서 "더시드"라는 이름의 딥 웹 위키를 namu가 운영했다. 주소는 .com이나 .wiki가 아니라 .onion으로 끝난다.
  • 엔진 수정권을 주지 않았음에도 나무위키에 있는 기능이 있는 것으로 보아 플러그인이나 확장 프로그램 기능이 있는 듯하다.
  • 엔진 내부 API는 암호화되어 있다. 아래 코드를 통해 요청을 위조하면 아래와 같은 결과가 나온다. (헤더 값은 2022/9/8 기준)
    나무위키 기준으로 테스트되었다. 궁금하면 개발자 도구 콘솔창에 헤더값을 최신으로 변경하고 넣어보자.
    코드 :
    const request=new XMLHttpRequest();
    request.open('GET','i/p31G64YK67O5Sp8AE71TE4I5cJiNheF3UCsU5-VTieb',true);
    request.setRequestHeader('x-chika','2013d3f8f8c7b5598');
    request.setRequestHeader('x-namuwiki-nonce','zStFHBzm88MnOdE1SkTNvA==');
    request.setRequestHeader('x-riko','1fc95018783ef8be685241012a6efd64');
    request.setRequestHeader('x-you','af3f5c4a4f54a47f42eda8c501fd03a5');
    request.send();
    request.onload=()=>{
    console.log(request.status);
    console.log(request.response);
    }

    결과 :
    ٫�Ht����K���	B<�m'�'P����W����E��	q_�eg��K�R�
    ~��
    �L��Z|"35�ϲ���T�%>��O>/ܠ!|팡n4��W�ƒV%f��?�W���OX�fi��_��^���.7�Ih�K�|���Ij�|�5���[�,wHHֶ
    �~�dl�R5��(7��W���'��O�t%�U��b���^�CV�:3?�Jљ�E���ہ�(�6�T��r�m?�=� ��@KrJ������W�mbt�

    굳이 AJAX로 한건 코딩 실력이 딸려서 그런 것 이므로 더 효율적인 것이 있으면 추가 바람
[1] 이에 대한 PPPP의 답변[2] 여담으로 예전부터 편집창에 "[의견수렴\] 리다이렉트 문법 변경"이라는 링크가 붙어서 의견 수렴을 진행했었다.[3] Nuxt.js 라이브러리의 특징으로, 해당 라이브러리를 사용중임을 알 수 있다.[4] 알파위키에는 없는 senkawa 스킨은 약 0.7MB이다.[5] 그렇다면 오브젝트의 속성에 접근하는 것을 깜빡해서 발생했을 버그일 가능성이 높다.
이 문서의 내용은 알파위키에#black,#ddd (r 판)에서 전체 또는 일부를 가져왔습니다. 이전 역사