zhiyingzzhou/renewlet
TypeScript0 / 0
자체 호스팅으로 구독 비용과 갱신 알림을 관리하는 웹 도구
TL;DR
Renewlet은 반복 결제와 갱신일을 관리하는 독립형 self-hosted 웹 도구로, React 19와 Go·PocketBase를 Docker 또는 Cloudflare Workers에서 실행합니다. 각 사용자의 IANA time zone에 맞춰 갱신 알림을 계산하고 Telegram, Discord, SMTP email, Webhook 등 10개 채널로 전송하며 실패 재시도와 전송 이력을 관리합니다. 비용을 월간·연간 기준으로 정규화하고 예산, 카테고리별 지출, 결제 수단, 비활성 구독 절감액을 집계합니다. AI recognition, ICS feed, Public API, Passkey, 데이터 가져오기·내보내기를 함께 제공하므로 여러 서비스의 갱신과 비용을 직접 관리하려는 사용자에게 적합합니다.
핵심 포인트
- Renewlet은 특정 플랫폼 확장 기능이 아닌 독립형 self-hosted 구독 관리 웹 도구입니다. React 19 프런트엔드와 Go·PocketBase 백엔드를 Docker 단일 컨테이너 또는 Cloudflare Workers 환경에서 실행합니다. SQLite, D1, R2, Cron Triggers를 배포 방식에 따라 사용하므로 개인 서버와 Cloudflare 기반 운영 환경에 맞습니다.
- 구독별 결제 주기와 갱신일을 저장하고 사용자의 IANA time zone, 알림 시각, 반복 횟수에 따라 리마인더 작업을 처리합니다. Telegram, Discord, SMTP email, Webhook 등 10개 알림 채널과 전송 이력, 실패 재시도를 지원합니다. 외부 Cron 호출에는 `/api/cron/notifications`와 `CRON_SECRET`을 사용해 스케줄 실행 경로를 구성할 수 있습니다.
- 월간·연간 비용 정규화와 예산 사용량, 카테고리·결제 수단별 차트, 비활성 구독으로 줄일 수 있는 비용을 계산합니다. AI recognition은 청구서 스크린샷, 메모, CSV·TSV, 붙여넣은 표를 편집 가능한 구독 초안으로 바꾸고 가져오기 전에 검토하도록 구성됐습니다. 구독 데이터와 Wallos 파일을 가져오거나 내보낼 수 있어 기존 구독 장부를 옮길 때 유용합니다.
- Passkey sign-in, authenticator code, 일회용 recovery code, 선택형 Cloudflare Turnstile을 제공해 계정 접근을 보호합니다. 전역 비공개 ICS feed와 구독별 calendar feed, 가격 공개 여부를 조절하는 public status page, 읽기 전용 OpenAPI 3.1 Public API를 함께 제공합니다. 개인 구독 관리에는 기능 폭이 넓지만, README에는 테스트 커버리지와 운영 규모별 성능 수치가 명시되지 않았습니다.
이미지 분석



181
Stars
43
Forks
+204
Trending
0
조회수
181 watchers1 open issuesMIT License
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.