NPMplus 2025-01-03-alpha Release

요약

주의: 이것은 미리 릴리스한 것입니다. NPMplus를 백업하고 테스트해주세요. 작동하지 않는 부분이 있으면 보고해주세요. (테스트한 사람의 반응을 확인하려면 테스트한 경우 적어도 한 번의 반응을 부탁드립니다.)

새로운 최신 릴리스 이전에 다음이 필요합니다:

  • 사용자에 의한 테스트
  • tls-ciphers-no-stapling.conf tls-ciphers.conf 파일을 하나로 병합 (템플릿 버전 증가)
  • 템플릿 버전을 템플릿의 shasum 값으로 대체?
  • 폴더 구조 개선
  • security.txt 업데이트
  • 업스트림 병합
  • 읽어주세요 업데이트
  • compose.yaml 주석 제거
  • 새로운 릴리스 생성 (지금 가장 최신 버전으로 다시 전환하도록 사용자에게 알림)

변경 사항

  • 모든 호스트는 이제 한 번만 다시 생성되며, 템플릿에 영향을 주는 env를 업데이트할 때마다 업데이트됩니다.
  • env에 따라 영구 호스트 및 템플릿을 수정하는 데 sed 대신 liquidjs를 사용합니다.
  • 많은 마이그레이션은 이제 모두 호스트를 다시 만들어주는 것으로 축소되어 start.sh를 최소화했습니다.
  • 매우 이전의 NPMplus 버전에서 마이그레이션 제거 (상위 NPM에서의 마이그레이션은 가능)
  • HTTP/HTTPS 포트 변경 허용
  • 기본값으로 ocsp stapling 비활성화
  • env DB_SQLITE_FILE은 더 이상 지원되지 않습니다.
  • NPM_DISABLE_IPV6 및 GOA_DISABLE_IPV6이 제거되고 DISABLE_IPV6에 포함됨
  • HTTP3 이제 훨씬 빨라야 함 (http3_stream_buffer_size가 너무 작았음)
  • 모든 서비스를 시작하기 전에 모든 스테이플링 파일을 제거하고 다시 생성합니다.
  • 무반응한 시작 페이지 수정 (상위 이슈, 상위 커밋 백전으로 수정)
  • 의존성 업데이트
  • php84 지원
  • 모드섹이 활성화된 경우에만 프론트엔드에서 coreruleset 활성화 가능
  • quic_bpf 지원 (기본값 꺼짐, NPMplus가 권한있는 컨테이너로 실행해야 함)
  • NIBEP 및 GOAIWSP의 기본값 변경
  • streams forwarding_port 이제 $server_port를 유효한 입력으로 허용
  • 도메인 이름 및 stream/proxy forward_host의 허용 구문이 변경됨
  • INITIAL_DEFAULT_PAGE 지원 추가
  • kyber 제거 (mlkem 지원)
  • 상위 서버에 연결할 때 freenginx 기본 tls 설정 사용
  • nginx_custom 폴더를 custom_nginx로 이름 변경
  • proxy.conf 및 proxy-location.conf를 proxy.conf로 통합
  • 새로운 더미 인증서는 rsa4096 대신 secp384r1 사용
  • 일반 설정 파일에 no-servername 파일 통합
  • env를 통해 hsts 하위 도메인 비활성화 지원
  • 상위 X_FRAME_OPTIONS env 지원, 기본값 변경 및 설정하지 않는 옵션 추가
  • Referrer-Police 헤더 제거 (설정하지 않을 경우 기본값은 strict-origin-when-cross-origin으로 NPMplus가 사용했던 것과 동일)
  • 인증/비인가된 요청 시 버전 노출하지 않음
  • ACME_KEY_TYPE env 추가 (기본 및 권장값은 여전히 ecdsa)
  • #!/usr/bin/env sh 대신 #!/bin/sh 사용
  • dns 비밀 키는 더 이상 마운트되지 않고, db에 저장되며 컨테이너 시작 시마다 다시 작성되므로 마운트할 필요 없음
  • certbot은 이제 nginx와 함께 빌드됨

테스트 방법

  • 위의 변경사항을 읽으세요
  • compose yaml에서 태그를 최신/없음에서 개발로 변경
  • compose 스택을 다시 배포하세요
  • 찾은 모든 문제점을 보고하세요

변경 사항 전체 내역: 2024-12-14-r1...2025-01-03-alpha

원문 내용

Note: this is a prerelease, please back up NPMplus and test it if you can, please report back if something does not work (to see how many people test it, please give at least a reaction if you test and it works)

The following still needs to happen before new latest release:

  • testing by users
  • merge tls-ciphers-no-stapling.conf tls-ciphers.conf into one file (increase template version)
  • replace template version with shasum of templates?
  • improve folder structure
  • update security.txt
  • merge upstream
  • update readme
  • compose.yaml remove comments
  • create new release (and remember people to switch back to latest now)

What's Changed

  • all your hosts will now regenerate once and when you update an env which influences a template
  • use liquidjs itself instead of sed to modify persistent hosts and templates based on envs
  • slim start.sh because many migrations are now done by simply recreating all hosts
  • remove migrations from very old NPMplus versions (migration from upstream NPM still possible)
  • allow changing http/https ports
  • disable ocsp stapling by default
  • env DB_SQLITE_FILE is now unsupported
  • NPM_DISABLE_IPV6 and GOA_DISABLE_IPV6 are now removed and included in DISABLE_IPV6
  • http3 should now be way faster (http3_stream_buffer_size was too small)
  • remove and recreate all stapling files before starting all services
  • fix unresponsive start page (upstream issue, fixed by reverting upstream commit)
  • dep updates
  • support php84
  • frontend now only allows enabling coreruleset if modsec is also enabled
  • quic_bpf support (default off, since it needs NPMplus to run as a privileged container)
  • NIBEP and GOAIWSP have switched their default values
  • streams forwarding_port now allows $server_port as a valid input
  • allowed syntax for domain names and stream/proxy forward_host have changed
  • added support for INITIAL_DEFAULT_PAGE
  • remove kyber (mlkem is supported)
  • use freenginx default tls setting when connecting to upstream server
  • rename nginx_custom folder to custom_nginx
  • unify proxy.conf and proxy-location.conf to proxy.conf
  • new dummy certs now use secp384r1 instead of rsa4096
  • integrate no-servername files in the normal configs
  • allow disabling hsts subdomains via env
  • support upstream X_FRAME_OPTIONS env, also change its default from SAMEORIGIN to DENY, add option to not set it
  • remove Referrer-Police header (default value when unset is the same as NPMplus used before: strict-origin-when-cross-origin)
  • don't expose version when making a (authenticated/unauthenticated) request to NPMplus API
  • add ACME_KEY_TYPE env (default and recommended is still ecdsa)
  • use #!/usr/bin/env sh instead of #!/bin/sh
  • dns secrets are not mounted anymore, since they are saved in the db and rewritten on every container start, so they don't need to be mounted
  • certbot is now built together with nginx

How to test

  • Read the changes above
  • change the tag in your compose yaml from latest/nothing to develop
  • redeploy the compose stack
  • report any issues you find

Full Changelog: 2024-12-14-r1...2025-01-03-alpha

링크 : https://github.com/ZoeyVid/NPMplus/releases/tag/2025-01-03-alpha