Home
Softono
imitated-seed-2

imitated-seed-2

Open source JavaScript
32
Stars
37
Forks
65
Issues
4
Watchers
5 months
Last Commit

About imitated-seed-2

Imitated-seed-2 is a Node.js-based engine designed to replicate the legacy frontend of The Seed wiki platform, specifically emulating versions prior to the Single Page Application transition around March 2020. This project, succeeding the onamu-theseed initiative, focuses on achieving visual and functional compatibility with older iterations of The Seed while maintaining harmony with Namuwiki standards. It supports tested Node.js versions ranging from 8.6.0 to 16.6.2 and allows administrators to configure the specific engine version to mimic, influencing feature availability such as thread management, access control lists, and IP blocking. Key features include customizable skins, external JavaScript and CSS loading options, email authentication via SMTP, and various administrative tools for tasks like importing Namuwiki databases, restoring deleted threads, and resetting backlinks. The software includes granular configuration options to toggle user account modifications, search server integration, CAPTCHA sec

Platforms

Web Self-hosted

Languages

JavaScript

Links

참고!

이 엔진은 the seed 옛 프론트엔드를 중점적으로 모방하는 프로젝트이다. 지금과는 꽤 이질적이었으며, SPA가 사용되지 않았다. 나무위키, 알파위키 또는 더시드위키를 2020년 3월 이후에 처음 접했으면 '내가 생각하는 더 시드 엔진이 아닌데?'라고 생각하는 것이 당연할 것이다.

개요

더시드 엔진 (구 프론트엔드 기준) 모방 프로젝트.
< "엔진 내부 UI는 상관없음." ( https://feedback.theseed.io/posts/280 ) >

onamu-theseed의 후속이다.

이 엔진이 정상 작동하는 것으로 확인된 Node.js 버전은 8.6.0, 12.16.2, 12.18.1, 16.6.2이다. 만약 혹시나 Windows XP/Vista에서 실행이 필요한 경우 이것을 사용할 것.

테스트 서버:

나무픽스와 거의 호환된다.

Pull Request 시 서버 코드에는 ?., ??, import 등의 신문법, 프론트엔드 자바스크립트에는 ES6 이상 문법을 사용하지 말 것.

파서 함수 이름이 마크다운인 이유는 개발 초기에는 마크다운을 사용했기 때문이다.

기초 사용 방법

이메일 설정법 [Gmail]

  • 먼저 "자신사이트주소/admin/config" 에 접속해 사이트 주소란에 자신의 사이트주소를 입력한다.
  • config.json 파일을 열고 "disable_email":"true"를 제거한다.
  • "mailhost":"smtp.gmail.com","email":"인증메일을 보낼 Gmail 주소","passwd":"구글 앱 비밀번호"를 추가한다.
  • [구글 앱 비밀번호 설정링크]
  • 타사메일의 경우 smtp.gmail.com을 타사메일의 smtp주소로 변경해야함.

추가 도구

  • backlink-reset.js: 역링크 초기화
  • undelete-thread.js: 삭제된 토론 복구
  • namuwiki-importer.js: 나무위키 데이타베이스 덤프 가져오기

config.json

  • config.json 수정으로 숨겨진 설정을 제어할 수 있다.
    • disable_email: (기본값 false) 전자우편 인증을 끈다.
    • disable_login_history: (기본값 false) 로그인 내역을 기록하지 않게 한다.
    • use_external_js: (기본값 false) theseed.js, jQuery 등을 theseed.io에서 불러온다.
    • use_external_css: (기본값 false) wiki.css 등을 theseed.io에서 불러온다.
    • allow_account_deletion: (기본값 false) 계정 탈퇴를 허용한다.
    • allow_account_rename: (기본값 false) 닉네임 변경을 허용한다.
    • search_host: (기본값 "127.5.5.5") 검색 서버 호스트 주소
    • search_port: (기본값 25005) 검색 서버 포트
    • search_autostart: (기본값 false) 같은 디렉토리에 검색 서버 프로그램(search.js)이 있을 경우 위키 서버 시작 시 검색 서버를 같이 시작시킨다.
    • no_username_format: (기본값 false) 한글, 공백 등의 특수문자를 사용자 이름으로 쓸 수 있게 하고 길이 제한을 없앤다.
    • owners: (기본값 []) /admin/config에 접속할 수 있는 사용자 이름 배열
    • reserved_usernames: (기본값 ["namubot"]) 이 배열 안에 있는 닉네임으로 계정을 만들 수 없다.
    • theseed_version: (기본값 "4.12.0") the seed 판올림 기록을 참고하여, 모방할 the seed 엔진의 버전을 지정한다(형식 주의! 4.4(X), "4.4"(X), 4.4.1(X), "4.4.1"(O) 문자열 x.y.z 형식으로). 예를 들어, "4.4.2"로 할 경우, v4.4.3에 추가된 쓰레드 주제/문서 변경 기능을 사용할 수 없고, "4.18.0"으로 할 경우 IPACL과 사용자 차단 기능이 비활성화되고 ACLGroup가 활성화되며 ACL에서 이름공간ACL 실행 action를 사용할 수 있다.
    • replicate_theseed_license: (기본값 false) 라이선스 페이지를 더시드 엔진처럼 띄운다. 가급적이면 쓰지 않는 것을 권장한다.
    • namuwiki_exclusive: (기본값 false) 나무위키 전용 기능(경고 ACL 그룹, 문서 이전 판 경고 등)을 활성화한다.
    • enable_captcha: (기본값 false) 보안문자를 쓰게 한다.
    • block_ip: (기본값 []) 접속을 차단할 IP를 지정한다. CIDR는 지원하지 않는다.
    • protect_owner: (기본값 false) 소유자 보호 기능을 활성화한다.
    • disable_multithreading: (기본값 true) 멀티쓰레딩을 비활성화한다.
    • custom_namespaces: (기본값 []) 사용자 지정 이름공간 배열
    • sessionhttp: (기본값 false) true로 설정시, https접속시에만 로그인이 유지된다.
    • mailhost: (기본값 []) 이메일 호스트 설정.
    • email: (기본값 []) 이메일 주소.
    • passwd: (기본값 []) 이메일 주소의 비밀번호(gmail의 경우 앱 비밀번호).
    • disable_file_server: (기본값 false) 별도 파일 서버 없이도 파일 업로드가 가능하게 한다.
    • max_file_size: (기본값 2000000) 최대 파일 크기 (바이트 단위)

라이선스

자유롭게 쓰기 바란다.

더 시드와 다른 것들

  • 엔진에서 백엔드와 프론트엔드를 모두 처리한다. (오픈나무에서 영향 받음)
  • 밀리초 유닉스 시간을 사용한다.
  • /notify/thread 라우트가 제대로 되어있지 않다.