
대충 마무리가 된 거 같아서 우선 배포를 해보려고 합니다
0.1.1 업데이트 내역
2FA가 설정 된 시놀로지 계정도 로그인 유지가 가능하도록 수정
DSM 연결 과정에서 로그인 정보를 잘못 입력하는 경우 연속 로그인 시도로 아이피 차단이 될 수 있는 문제 수정
사용자 UX/UI 개선 및 알고리즘과 로직 보완
기본적으로 시놀로지 7.3.2 u3 에서 테스트가 완료 됐습니다
7.3.2 아래 버전에서는 동작이 안될 확률이 높습니다
지원하는 공급자는 클플, dynu, duckdns, myaddr 이렇게 네가지고
지원하는 기능은 DDNS등록, 인증서 발급, 역방향 프록시 등록 입니다
전부 와일드카드 인증서를 지원하며 공급자, DDNS, 인증서, 역방향 프록시등을
NCP에서 간단하게 설정 후 시놀로지에 입력해주는 프로젝트 입니다
클플 같은 공급자를 시놀로지에 추가하려면 여러 SSH 작업을 해줘야하고
무료 DDNS의 와일드카드 인증서 발급 작업이나 갱신 작업의 불편함을 해소하기 위해 만들었습니다
이 프로젝트는 NPM이나 수동 작업등으로 대체할 수 있는 작업들을 간편하게 하기 위한 것이니
이미 설정이 끝난 분들은 굳이 사용 안하셔도 됩니다
그럼 바로 설치 방법 시작 하겠습니다

우선 시놀로지 파일 스테이션에서 nascertpilot 폴더를 만들어 줍니다
폴더 이름은 기억할 수 있는 이름으로 자유롭게 만드셔도 상관 없습니다
내부에 data 폴더 하나를 만들어 줍니다
폴더 권한 설정에 대해 모르신다면
docker 폴더에 프로젝트 폴더를 만드시길 바랍니다

그 후에 컨테이너 매니저의 프로젝트 생성을 해줍니다
해당 코드를 넣어서 만들어 주시면 됩니다
위의 코드에서 8080은 NCP 접속 포트 입니다
사용 가능한 포트로 변경 하시면 되고
아래 헬퍼의 7844 포트는 내부 포트이니 수정 하시면 안됩니다
내부 포트는 중복 안되니 건드리지 마세요

완료 되면 이렇게 두 개의 컨테이너가 실행 됩니다
NCP 컨테이너는 백엔드와 프론트엔드가 합쳐진 메인 컨테이너이고
헬퍼는 NCP에서 입력한 정보를 시놀로지에 등록해주는 컨테이너 입니다

지정한 주소로 접속을 하게 되면 관리자 계정 생성 화면이 표시 됩니다
해당 프로젝트는 다중 사용자 지원을 안해서
관리자 계정만 생성 가능합니다
아이디는 admin 대신 다른 아이디를 만드시길 바랍니다

관리자 계정을 생성하고 접속하면 이런 마법사 화면이 표시 됩니다
위에서 이야기 한 것처럼 세 개의 작업 목록과 네 개의 공급자를 확인 할 수 있습니다

개요 탭을 보시면 이런 식으로 아무것도 없는 상태입니다
우선 DSM과 연결을 해줘야 합니다

DSM 연결 설정의 편집 버튼을 누른 후 입력을 해주세요
0.1.1 버전에서 OTP 신뢰기기 등록 기능이 추가 됐습니다만
기존 방식대로 따로 계정을 만들어서 사용하는 걸 추천 합니다
하지만 OTP없는 관리자 계정을 만든다는 것 자체가 불안요소이기 때문에
선택에 따라 사용하시면 될 거 같네요
2FA 보안 인증이 설정 된 DSM 계정의 경우
세션 만료 후 자동 로그인이 안되기 때문에
인증서 자동 갱신 후 DSM으로 보내기 작업이 불가능합니다
인증서 자동 갱신 기능을 사용하시려면
인증서 수정 권한이 있는 별도의 DSM 관리자 계정으로 연결하세요
다른 권한(공유폴더나 다른 응용 프로그램)은 전부 필요없고
응용 프로그램의 DSM 권한만 있으면 됩니다
아니면 그냥 가끔 접속해서 수동으로 관리하셔도 되고요

연결이 완료 되면 이런 식으로 표시 됩니다

하단의 시스템 정보도 이런 식으로 표시된다면 DSM과 연결은 완료 됐습니다

DSM 연결 자가 진단을 누르면 이런 식으로 표시가 됩니다
최하단에는 DDNS의 공급자가 표시 됩니다
저 같은 경우 클플과 duckdns 공급자를 수동으로 등록 했기 때문에 표시가 되네요
참고로 NCP에서 추가한 공급자는 이곳에서 삭제가 가능합니다

마법사 쪽으로 넘어가면 일일이 다 설명하기는 분량이 많고
최대한 알기 쉽게 설명을 적어놨으니 보시면 대부분 알 수 있을 겁니다
DDNS 설정에 보시면 4번 도메인에 DSM에서 관리 또는 NCP에서 관리 등을 정할 수 있고
자격 증명 설정은 링크로 가서 토큰이나 키들 가져다가 입력 하시면 됩니다
설정에 필요한 토큰 또는 키 정보
Cloudflare

링크의 토큰 생성 클릭

영역 DNS 편집 템플릿 사용 클릭

영역 리소스에서 본인의 도메인 선택 -> 요약 계속 -> 토큰 생성
cfut… 로 시작하는 토큰 발급 완료
Duck DNS

Duck DNS 메인 화면에 표시된 토큰
Dynu DNS

API Credentials 링크의 OAuth2 클라이언트 아이디와 시크릿 키 (안경 모양 클릭하면 전체 코드 보임)
MyAddr

클레임 후 표시되는 시크릿 키
(주의 : 별도의 회원 가입 절차나 계정이 없기 때문에 클레임 후 표시되는 키 분실시 주소 등록, 삭제, IP 연결 해제등이 불가능함)




각각의 메뉴에는 등록 한 내용들이 표시 됩니다
삭제 하거나 편집 후 갱신이나 재발급 또는 DSM으로 전송등이 가능합니다
삭제할 때 DSM에 등록한 내용도 함께 삭제가 가능한 부분들도 있습니다
myaddr 도메인 같은 경우 별도 계정이 없기 때문에
클레임 후 1시간 안에 갱신이 되어야 등록 됩니다
myaddr DDNS 설정에서 아이피 연결을 해제하거나 발급 받은 도메인 자체를 삭제 할 수도 있습니다
dynu 무료 도메인의 경우 특이하게 와일드와 일반 주소의 ip 연결이 따로 적용 되더라고요
마법사에서 dynu 도메인 연결을 할 때 이 옵션이 기본 활성화 돼있습니다
따로 쓸 일이 있으려나 싶지만 따로 ip 연결을 하시려면 끄고 적용하시면 와일드카드는 갱신이 안됩니다

보안 탭에서는 SSO 설정과 관리자 계정 아이디 비번 변경이 가능합니다
SSO 필수로 설정한 경우 외부 접속 화면에서 로컬 로그인 창이 표시 안됩니다
SSO에 문제가 생겼다면 내부 아이피로 접속 후 복구 계정으로 로그인 하세요

관리자 변경 편집을 누르면 관리자 계정 아이디 변경과 비번 변경 메뉴가 표시 됩니다
아이디나 비번을 변경해도 SSO 로그인은 유지 됩니다

작업 및 로그에는 이런저런 작업 결과나 로그등이 표시 됩니다 (스샷에서는 전부 마스킹 처리 했습니다)
시놀로지에 적용 된 스샷을 따로 첨부 안했습니다만
전부 정상 등록과 삭제가 됐습니다
이전 게시글을 참고 해주세요
우선 기능이 어느정도 완성이 됐기 때문에 게시를 했습니다만
인증서 90일 자동 연장 같은 건 아직 실제 검증을 하지는 못했습니다
90일 후에 확인 가능 하겠네요
다른 기능들도 이것저것 테스트를 해보긴 했지만 다른 환경에서 오작동이나 버그가 있을 수도 있습니다
그렇다고 시스템에 치명적인 영향을 끼칠만한 오류는 없을 겁니다
사용 해보실 분들은 사용 해보시고 피드백 주시기 바랍니다
버그나 어색한 부분 혹은 불편한 부분이나 개선했으면 좋을 것 같은 부분들 피드백 주세요
자잘자잘한 업데이트가 공지없이 진행 될 수 있습니다
이미지를 업데이트 하지 않으면 적용되지 않습니다
초보분들이 포트 포워드 대신 DDNS를 설정하는 데 도움이 됐으면 좋겠네요
긴 글 읽으시느라 고생하셨습니다

