ntfy: HTTP 기반 Pub-Sub 알림 서비스
요약
ntfy는 HTTP 기반의 간단한 Pub-Sub 알림 서비스로, 스크립트를 통해 데스크톱이나 모바일로 알림을 전송할 수 있습니다. 오픈 소스 프로젝트로서 셀프 호스팅이 가능하며, 별도의 가입이나 비용 없이도 무료로 이용할 수 있습니다.
핵심 포인트
- HTTP 기반의 간단한 Pub-Sub 알림 메커니즘 제공
- 가입이나 비용 없이 스크립트로 즉시 알림 전송 가능
- 오픈 소스 기반의 셀프 호스팅 지원
- Android 및 iOS 전용 오픈 소스 앱 제공
ntfy (발음: "notify")는 간단한 HTTP 기반의 pub-sub(게시/구독) 알림 서비스입니다. ntfy를 사용하면 어떤 컴퓨터에서든 스크립트를 통해 휴대폰이나 데스크톱으로 알림을 전송할 수 있으며, 가입하거나 비용을 지불할 필요가 없습니다. ntfy는 오픈 소스이므로, 직접 서비스를 운영하고 싶다면 쉽게 할 수 있습니다.
ntfy의 무료 버전은 ntfy.sh에서 이용할 수 있습니다. 또한 Google Play나 F-Droid에서 사용할 수 있는 오픈 소스 Android 앱과 App Store에서 사용 가능한 오픈 소스 iOS 앱도 제공됩니다.
만약 직접 호스팅하고 싶지 않거나 ntfy 개발을 지원하고 싶다면, ntfy.sh에서 유료 플랜을 이용할 수 있습니다 (→ 웹 앱을 통해 구매). 월 $5부터 플랜을 구매할 수 있습니다. GitHub Sponsors와 Liberapay를 통해서도 기부하실 수 있습니다. 여러분의 후원에 진심으로 감사드립니다. ❤️
시작하기 | Android/iOS | API | 설치 / 셀프 호스팅 | 빌드
저 또는 커뮤니티 구성원과 연락할 수 있는 몇 가지 방법이 있습니다. 이 방법들 중 가장 편한 것을 사용해 주세요:
- Discord 서버 - 커뮤니티와 직접 채팅
- Matrix 룸 #ntfy (+ Matrix 공간) - Discord에서 브릿지된 동일한 채팅
- GitHub 이슈 - 질문, 기능 요청, 버그 신고
ntfy 유지 관리자들을 지원하고 싶다면, GitHub Sponsors나 Liberapay에 기부하는 것을 고려해 주세요. 서버 및 개발자 계정 비용을 지불하는 데 도움을 주시면 감사하겠습니다. 작은 기부라도 매우 환영합니다.
서비스 운영과 개발 지속에 도움을 주는 상업적 스폰서들에게 감사를 전합니다:
어떤 종류의 기여든 환영합니다. PR이나 이슈를 생성해 주세요. 더 큰 기능/아이디어가 있다면, Discord/Matrix에서 먼저 문의하여 제가 수용할 수 있을지 확인해 주십시오. 코드를 기여하려면 서버 및 Android 앱에 대한 빌드 지침을 확인하세요. 또는 🇩🇪 🇺🇸 🇧🇬 번역을 도와주고 싶다면, Hosted Weblate에서 즉시 시작할 수 있습니다.
우리는 구성원, 기여자, 그리고 리더로서 연령, 체형, 가시적 또는 비가시적 장애, 민족, 성적 특징, 성 정체성 및 표현, 경험 수준, 교육, 사회경제적 지위, 국적, 개인적 외모, 인종, 카스트, 피부색, 종교, 또는 성적 정체성 및 지향성에 관계없이, 모든 사람에게 우리 커뮤니티 참여가 괴롭힘 없는 경험이 될 수 있도록 노력할 것을 약속합니다.
우리는 개방적이고, 환영하며, 다양하고, 포용적이며, 건강한 커뮤니티에 기여하는 방식으로 행동하고 상호작용할 것을 약속합니다.
전체 행동 강령 (Code of Conduct)을 반드시 읽어주시기 바랍니다.
Philipp C. Heckel이 ❤️를 담아 만들었습니다.
이 프로젝트는 Apache License 2.0과 GPLv2 라이선스 하에 이중 라이선스(dual licensed)로 제공됩니다.
제3자 라이브러리 및 리소스:
-
github.com/urfave/cli (MIT)는 CLI 구동에 사용됩니다
-
Mixkit 사운드 (Mixkit Free License)는 알림음으로 사용됩니다
-
notificationsounds.com의 사운드 (Creative Commons Attribution)는 알림음으로 사용됩니다
-
Roboto Font (Apache 2.0)는 모든 웹 요소의 폰트로 사용됩니다
-
React (MIT)는 웹 앱에 사용됩니다
-
Material UI 컴포넌트 (MIT)는 웹 앱에 사용됩니다
-
MUI 대시보드 템플릿 (MIT)은 웹 앱의 기반으로 사용되었습니다
-
Dexie.js (Apache 2.0)는 IndexedDB를 통한 웹 앱 데이터 지속성 (persistence)을 위해 사용됩니다
-
GoReleaser (MIT)는 릴리스 (releases) 생성을 위해 사용됩니다
-
go-smtp (MIT)는 이메일 수신을 위해 사용됩니다
-
stretchr/testify (MIT)는 단위 테스트 (unit tests) 및 통합 테스트 (integration tests)에 사용됩니다
-
github.com/mattn/go-sqlite3 (MIT)는 지속적인 메시지 캐시 (persistent message cache)를 제공하기 위해 사용됩니다
-
Firebase Admin SDK (Apache 2.0)는 FCM 메시지 전송을 위해 사용됩니다
-
github/gemoji (MIT)는 이모지 지원 (특히 emoji.json 파일)을 위해 사용됩니다
-
랜딩 페이지의 라이트박스 (lightbox)로 vanilla JS를 사용한 Lightbox 적용
-
정적 파일 제공을 위해 gzip 압축용 HTTP 미들웨어 (MIT)가 사용됩니다
-
링크 하이라이트를 위해 자동 링크용 정규표현식 (Regex, MIT)이 사용됩니다 (라이브러리 자체는 사용되지 않음)
-
go-sqlite3 정적 링크 (Statically linking)
-
mkdocs의 연결된 탭 (Linked tabs)
-
webpush-go (MIT)는 웹 푸시 알림 (web push notifications)을 보내기 위해 사용됩니다
-
Sprig (MIT)는 템플릿 파싱 함수 (template parsing functions)를 추가하기 위해 사용됩니다
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Go (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기