npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

poi-plugin-mobile-notify

v0.1.0

Published

Push POI notifications to mobile devices via ntfy.

Readme

poi-plugin-mobile-notify

通过 ntfy 将 POI 的通知推送到手机。

Push POI notifications to mobile devices via ntfy.

中文说明

功能

这个插件会桥接 POI 自带的通知中心。POI 产生通知时,插件会按配置将同一类通知推送到 ntfy 主题。

插件也会复用 POI 概览页提督计时器的刷新时间,提供演习、任务、季常任务、战果和 EO 的刷新提醒。

插件不会修改游戏封包,也不会影响 POI 的游戏通信。

支持的通知类型

  • 建造
  • 远征回港
  • 入渠
  • 疲劳回复
  • 战斗结束
  • 其他

支持的刷新提醒

  • 距下次演习刷新
  • 距下次任务刷新
  • 距下次季常任务刷新
  • 距下次战果刷新
  • 距下次 EO 刷新

插件主页可以分别开关每一种通知类型。POI 自己的通知总开关和分类开关仍然生效,只有 POI 允许的通知才会被推送到手机。

刷新提醒由插件独立计时,可以在插件主页分别开关并设置提前时间。默认提前时间为 0天 0小时 0分钟 0秒

刷新提醒推送的是预警文案,例如 距下次演习刷新: 2小时距下次季常任务刷新: 1天3小时

每日类刷新不提供“天”的设置:

  • 演习刷新:最多提前 11小时 59分钟 59秒
  • 任务刷新:最多提前 23小时 59分钟 59秒

月度和季度类刷新可以设置“天”:

  • 战果刷新、EO 刷新:最多提前 31 天
  • 季常任务刷新:最多提前 92 天

使用方法

  1. 在手机上安装 ntfy App。
  2. 在 ntfy App 中订阅一个私有主题,例如 poi-mobile-notify-<随机字符串>
  3. 在 POI 中启用本插件。
  4. 打开插件主页,填写:
    • ntfy 服务器:例如 https://ntfy.sh
    • 主题:与手机 ntfy App 中订阅的主题一致
    • 认证方式:公开主题选择 无认证;自建 ntfy 开启访问控制时选择 账号密码Token
  5. 点击 发送测试通知,确认手机能收到推送。

自建 ntfy

如果所在网络无法稳定访问 https://ntfy.sh,可以使用自建 ntfy 服务。

插件中的 ntfy 服务器 支持填写完整服务器地址,例如:

http://your-server-ip:2586
https://your-domain.example

如果没有域名,可以直接使用 http://IP:端口。这时通常不需要 nginx 反代,但需要确保手机和 POI 所在环境都能访问这个地址。

如果自建 ntfy 开启了访问控制,可以在插件主页选择:

  • 账号密码:使用 ntfy 用户名和密码发送 Basic Auth。
  • Token:使用 ntfy access token 发送 Bearer Auth。

密码和 Token 会优先通过 Electron 的安全存储加密后保存。若当前环境不支持安全存储,插件不会把密钥明文写入配置;本次输入仍可用于测试发送,但重启后需要重新输入。

注意事项

  • 不要使用公开或容易猜到的主题名。
  • 手机 ntfy App 中订阅的主题必须和插件里填写的主题完全一致。
  • 入渠通知会跟随 POI 的通知事件;如果 POI 提前触发入渠通知,插件会延后到实际完成时间再推送到手机。
  • 刷新提醒会按照插件主页中设置的提前时间推送。
  • 如果 POI 没有产生某类通知,插件也不会单独生成这类通知。

English

Features

This plugin bridges POI's built-in notification center. When POI creates a notification, the plugin forwards the same notification type to your configured ntfy topic.

The plugin also reuses the refresh times from POI's overview teitoku timer and provides reminders for practice, quest, quarterly quest, ranking point, and EO refreshes.

The plugin does not modify game packets or interfere with POI's game traffic.

Supported Notification Types

  • Construction
  • Expedition return
  • Docking
  • Morale recovery
  • Battle end
  • Others

Supported Refresh Reminders

  • Next practice refresh
  • Next quest refresh
  • Next quarterly quest refresh
  • Next ranking point refresh
  • Next EO refresh

Each notification type can be enabled or disabled on the plugin page. POI's own global notification switch and per-type switches still apply. Only notifications allowed by POI will be pushed to your phone.

Refresh reminders are timed by this plugin and can be enabled or disabled separately on the plugin page. Each reminder also has a preempt time setting. The default preempt time is 0d 0h 0m 0s.

Refresh reminder messages are warnings, for example Next practice refresh: 2h or Next quarterly quest refresh: 1d 3h.

Daily refreshes do not expose a day field:

  • Practice refresh: up to 11h 59m 59s early
  • Quest refresh: up to 23h 59m 59s early

Monthly and quarterly refreshes allow days:

  • Ranking point refresh and EO refresh: up to 31 days early
  • Quarterly quest refresh: up to 92 days early

Usage

  1. Install the ntfy app on your phone.
  2. Subscribe to a private topic in the ntfy app, for example poi-mobile-notify-<random-string>.
  3. Enable this plugin in POI.
  4. Open the plugin page and set:
    • ntfy server: for example https://ntfy.sh
    • Topic: the same topic subscribed on your phone
    • Authentication: choose None for public topics, or Username/password / Token when access control is enabled on a self-hosted ntfy server
  5. Click Send test notification and confirm that your phone receives the push.

Self-hosted ntfy

If https://ntfy.sh is not reliably reachable from your network, you can use a self-hosted ntfy server.

The ntfy server field accepts a full server URL, for example:

http://your-server-ip:2586
https://your-domain.example

If you do not have a domain name, using http://IP:port is fine. In that case, nginx reverse proxy is usually not required, but both your phone and POI must be able to access the address.

If access control is enabled on your self-hosted ntfy server, choose one of these authentication modes on the plugin page:

  • Username/password: sends ntfy Basic Auth with the configured username and password.
  • Token: sends ntfy Bearer Auth with the configured access token.

Passwords and tokens are saved through Electron secure storage when available. If secure storage is unavailable, the plugin will not write secrets to config in plain text; the current input can still be used for the test notification, but it must be entered again after restart.

Notes

  • Do not use a public or easily guessable topic.
  • The topic subscribed in the ntfy app must exactly match the topic configured in this plugin.
  • Docking notifications follow POI's notification event. If POI triggers the docking notification early, this plugin delays the mobile push until the actual completion time.
  • Refresh reminders are pushed according to the preempt time configured on the plugin page.
  • If POI does not create a notification, this plugin will not create that notification by itself.