Releases: johyunchol/ktunnel
Release list
ktunnel v0.6.0 — verified relay TLS and portal hardening
중요: 클라이언트 토큰 재발급 필요
v0.6 클라이언트는 중계 서버 인증서를 검증하는 새 kt2 토큰만 사용합니다. 기존 kt1 토큰은 마이그레이션 기간 동안 서버에 유지되지만, v0.6 클라이언트에서는 새 터널을 열 수 없습니다.
ktunnel upgrade로 클라이언트를 업데이트합니다.https://ktunnel.kkensu.com에 로그인해 새 토큰을 발급합니다.ktunnel login을 실행하고 화면에 노출되지 않는 입력창에 새 토큰을 붙여 넣습니다.
변경 사항
- frp 제어 채널에 공인 인증서 체인과 호스트 이름 검증을 강제했습니다.
- 관리자·사용자 포털에 CSP, 클릭재킹 방어, 고정 Host, 안전한 프록시 헤더와
__Host-세션 쿠키를 적용했습니다. - 터널 한도·서브도메인·TCP 포트 승인을 하나의 SQLite 트랜잭션으로 처리해 동시 요청 우회를 막았습니다.
- 비공식 frps 이미지를 제거하고 공식 v0.71.0 바이너리를 고정 SHA-256으로 검증해 직접 빌드합니다.
ktunnel login이 기본적으로 토큰을 화면에 표시하지 않고 입력받으며 설정 파일을 원자적으로 0600 권한으로 저장합니다.- HTTP 요청은 HTTPS로 리다이렉트되고 포털에 HSTS 및 보안 헤더가 적용됩니다.
- 릴리스 전에 일반 테스트, race detector, vet, 설치·인증서 갱신 회귀 테스트를 CI에서 실행합니다.
ktunnel v0.5.0
새 기능
ktunnel update로 최신 버전을 안전하게 설치할 수 있습니다.ktunnel upgrade도 같은 명령으로 동작합니다.ktunnel update --check로 설치 없이 최신 버전을 확인할 수 있습니다.- 일반 CLI 사용 시 하루 한 번, 750ms 이내의 비차단 확인으로 새 버전을 알려줍니다.
안전 장치
- SHA-256 체크섬 검증 후 원자적으로 교체합니다.
- 새 바이너리 실행 검증과 실패 시 자동 롤백을 지원합니다.
- 토큰을 저장하지 않으며
sudo를 자동 실행하지 않습니다.
저장소가 비공개이므로 업데이트에는 해당 GitHub 저장소 읽기 권한과
gh auth login또는GH_TOKEN/GITHUB_TOKEN이 필요합니다.
v0.4.0 — Korean role-aware web portal
주요 변경사항
- 관리자(
admin)와 일반 사용자가 함께 사용하는 단일 로그인 화면 - 일반 사용자의 웹 비밀번호, 최초 로그인 강제 변경, 본인 토큰 직접 발급·폐기
- 관리자와 사용자 화면의 역할별 권한 분리 및 전체 한국어 UI
- 사용자별 세션 무효화, IDOR 방지, 로그인 제한 및 비밀번호 변경 경쟁 조건 보강
ktunnel.kkensu.com포털 주소 예약 및 운영 문서 갱신
호환성
기존 사용자, 터널 토큰, 예약 주소와 실행 중인 터널 데이터는 그대로 유지됩니다. 기존 사용자는 관리자가 임시 웹 비밀번호를 발급한 뒤 포털에 로그인할 수 있습니다.
Full Changelog: v0.3.0...v0.4.0
v0.3.0 — ktunneld: per-user tokens, subdomain ownership, dashboard
The relay is now a service. ktunneld plugs into frps and issues personal tokens (hashed at rest, shown once, revocable one by one), enforces subdomain ownership and per-user limits, and serves an admin dashboard with an audit log. There is no shared frps secret any more.
Users
ktunnel login kt1.… # the token carries the relay address and domain
ktunnel http 3000Administrators
ktunneld user add alice
ktunneld token issue alice --label laptop
ktunneld reserve api alice
ktunneld ls / kill / token revokeRevoke, disable and kill take effect at the next heartbeat (≤30 s); ktunnel exits with the reason instead of silently retrying. See server/README.md for deployment. Verify downloads against SHA256SUMS.
Full Changelog: v0.2.0...v0.3.0
v0.2.0 — Go rewrite
Single static binary for macOS, Linux and Windows. frp is embedded as a library, so there is no Docker or frpc dependency on the client.
./install.sh # picks the right binary for this machine
ktunnel init
ktunnel http 3000Verify downloads against SHA256SUMS.
Full Changelog: https://github.com/johyunchol/ktunnel/commits/v0.2.0