{"_id":"@3-/webpush","name":"@3-/webpush","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@3-/webpush","version":"0.1.1","repository":{"type":"git","url":"git+https://atomgit.com/i18n/lib.git"},"homepage":"https://atomgit.com/i18n/lib/tree/dev/webpush","author":{"name":"i18n.site@gmail.com"},"license":"Apache-2.0","exports":{".":"./index.js","./*":"./*"},"devDependencies":{"@3-/dbq":"^0.1.32","@3-/utf8":"^0.0.3"},"type":"module","dependencies":{"web-push":"^3.6.7"},"scripts":{},"_id":"@3-/webpush@0.1.1","description":"[test/main.coffee](./test/main.coffee) :","_integrity":"sha512-72FdZt+i/PNDHooqpbcz3l0U1CVS+iE/jMXlDPZ3TdVSmJhiOg2VJEEFkEwCKrVPZR9kqhgjHJWmUQv4iv7e2Q==","_resolved":"/private/var/folders/4x/n5x1dwrj39v_hl53vyprqcn80000gn/T/2b0f25a1bc463557bdaeb5c0183030d5/3--webpush-0.1.1.tgz","_from":"file:3--webpush-0.1.1.tgz","_nodeVersion":"22.3.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-72FdZt+i/PNDHooqpbcz3l0U1CVS+iE/jMXlDPZ3TdVSmJhiOg2VJEEFkEwCKrVPZR9kqhgjHJWmUQv4iv7e2Q==","shasum":"4095cbf7a0003d96d5be6fbee07c5936d541ed3e","tarball":"https://registry.npmjs.org/@3-/webpush/-/webpush-0.1.1.tgz","fileCount":3,"unpackedSize":7876,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD081M3nFiHuvbkpLW3MAcnZmNnxzfUXvHzRxHZV/evMQIgY+DHbThvzYIJH7b15Qqwrfwx3JaAkllMtTrnpQhmZbM="}]},"_npmUser":{"name":"i18n-now","email":"i18n.site@gmail.com"},"directories":{},"maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/webpush_0.1.1_1723893791021_0.7987750132205094"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-17T11:23:10.868Z","0.1.1":"2024-08-17T11:23:11.164Z","modified":"2024-08-17T11:23:11.466Z"},"maintainers":[{"name":"i18n-now","email":"i18n.site@gmail.com"}],"description":"[test/main.coffee](./test/main.coffee) :","homepage":"https://atomgit.com/i18n/lib/tree/dev/webpush","repository":{"type":"git","url":"git+https://atomgit.com/i18n/lib.git"},"author":{"name":"i18n.site@gmail.com"},"license":"Apache-2.0","readme":"# @3-/webpush\n\n[test/main.coffee](./test/main.coffee) :\n\n```coffee\n#!/usr/bin/env coffee\n\n> @3-/webpush\n  @3-/dbq > $q\n  @3-/utf8/utf8d.js\n\n{\n  VAPID_PK\n  VAPID_SK\n} = process.env\n\npush = webpush(\n  {\n    proxy: \"http://127.0.0.1:7890\"\n    vapidDetails: {\n      subject: 'mailto:i18n.site@gmail.com'\n      publicKey : VAPID_PK\n      privateKey: VAPID_SK\n    }\n  }\n  'https://i18n.site/android-chrome-512x512.png'\n)\n\nbase64url = 'base64url'\n\nID_HOST = new Map (\n  await $q(\"SELECT id,host FROM webpushEndpointHost\")\n).map ([id, host])=> [id, utf8d(host)]\n\nfor [endpointHostId, endpoint, auth, p256dh] from await $q(\"SELECT endpointHostId,endpoint,auth,p256dh FROM webpush\")\n  endpoint = 'https://' + ID_HOST.get(endpointHostId) + '/' + utf8d(endpoint)\n  console.log endpoint\n  auth = auth.toString(base64url)\n  p256dh = p256dh.toString(base64url)\n  try\n    console.log await push(\n      '测试webpush'\n      'https://www.npmjs.com/package/web-push'\n      '主体'\n      endpoint\n      auth\n      p256dh\n    )\n  catch err\n    console.log err.statusCode, err.body\nconsole.log('done')\n# {\"endpoint\":\"https://web.push.apple.com/QD8StnDGB1khT2Ehn0itRDrN4rZzF3XqYxG4ELn9ovO39-vIL1C39Mvx2uA8HpNO-d_E8yQtGIDJ92p43ciqp_x0aoi3A930Zbi4C86g7bVjDM6NQ79v_sev4twHXYGWqJSEplvFbUcIN4S_feTPWc-zhnE0vBmPBdaaJSQGghI\",\"keys\":{\"p256dh\":\"BBdcKG-6UrSSb8kJJWZ-I0NWDNIqF9_7IDJLfMvr5fv0ZJOlUsFFC5Rz11gEY_fhJlmgeRL96V4hQ27llcDnsuA\",\"auth\":\"TqzuWW63r_vTfyINDjmVAg\"}}\n\n# ARG = [\n#   [\n#     \"https://web.push.apple.com/QD8StnDGB1khT2Ehn0itRDrN4rZzF3XqYxG4ELn9ovO39-vIL1C39Mvx2uA8HpNO-d_E8yQtGIDJ92p43ciqp_x0aoi3A930Zbi4C86g7bVjDM6NQ79v_sev4twHXYGWqJSEplvFbUcIN4S_feTPWc-zhnE0vBmPBdaaJSQGghI\"\n#     \"TqzuWW63r_vTfyINDjmVAg\"\n#     \"BBdcKG-6UrSSb8kJJWZ-I0NWDNIqF9_7IDJLfMvr5fv0ZJOlUsFFC5Rz11gEY_fhJlmgeRL96V4hQ27llcDnsuA\"\n#   ]\n#   [\"https://updates.push.services.mozilla.com/wpush/v2/gAAAAABmaRzB2cyqwa5h1iR2Yz9TJjGlfgw5r6OZXkPrJwj3FVtQucKHoDCbPFHFXBElhz8Uz-CrybHYOGZvuA3PQAZ7xx36FXSFELFdc_RDdFz_b99sZzLG7tNpGiXYXu_M-V5EUb93FPhqASfgX-77dQrF1x_cn4-WO_wHwBcw6y6WzEqVHmw\",\"PSCbzbnnMPAFQ9Qcfez_yQ\",\"BGD2kV9zk0d1fv7xCJ00_EPIG335fws_MCrpLX3x852r7ySPqJ8gUqlSTAcyHxetcoMRckIwQyk0FvsdFp8VUxQ\",0]\n#   [\"https://fcm.googleapis.com/fcm/send/eQh3we0tMkk:APA91bFxO_ydkPXvWlnt_3K9Pn4WbIHEPJ2dS5a4Hz0P5wqm40rB13i3QOA29bvqVxqS0oJH6__PXx1GmnpPGb_nwwuHYS2q5I5wQ1vbglGHLEfzssK-CzdhIQaf_FrDPqR67Zzcea8V\",\"5jGSvwj2_K7GGd4-dGw18w\",\"BFoecbFSWzJib91A4UPiqdmJmAVw_b1-hmgdkLsXwqrahcVlP4gj_GxqWKxuOiiLF0fS9_4v0EoW-yRzGjmsOVw\",0]\n# ]\n#\n# for arg in ARG\n#   console.log await push(\n#     '测试webpush'\n#     'https://www.npmjs.com/package/web-push'\n#     '主体'\n#     ... arg\n#   )\n```\n\noutput :\n\n```\n\u001b[;90mSET NAMES utf8mb4 - parameters:[]\u001b[0m\n\u001b[;90mSELECT id,host FROM webpushEndpointHost - parameters:[]\u001b[0m\n\u001b[;90mSELECT endpointHostId,endpoint,auth,p256dh FROM webpush - parameters:[]\u001b[0m\nhttps://fcm.googleapis.com/fcm/send/c0iC4geeCa4:APA91bHUNS6TBAHLuqF_bXARxyn8TyqHj9V-NJWo8V9vqyLRFkk4-Rh0E79OgjzxTSCZ3R2jGbDhKqsIWVi6Iu4L97RVPvHFRD0vB5o-iQmk9NGnsZBU90MEG3t3KOLz378eJzyIfDsD\n\u001b[;90mSET NAMES utf8mb4 - parameters:[]\u001b[0m\n\u001b[;90mSET NAMES utf8mb4 - parameters:[]\u001b[0m\n\u001b[;90mSET NAMES utf8mb4 - parameters:[]\u001b[0m\n\u001b[;90mSET NAMES utf8mb4 - parameters:[]\u001b[0m\n\u001b[;90mSET NAMES utf8mb4 - parameters:[]\u001b[0m\n\u001b[;90mSET NAMES utf8mb4 - parameters:[]\u001b[0m\n\u001b[;90mSET NAMES utf8mb4 - parameters:[]\u001b[0m\n410 push subscription has unsubscribed or expired.\n\nhttps://fcm.googleapis.com/fcm/send/fVOPL8StQCc:APA91bF8PMUiKe-yyXmkKK5N0giiVplsW7SwV3b9SfklyDZR2JnlKtoOmGHs0a0j-BeOdMxYThW1cVvMbnxthA9xGXvZg7VrMdcdyzTTJpuIv8A92xHjHj8iUkTudgBwLqm7TkOtJMMT\n{\n  statusCode: 201,\n  body: '',\n  headers: {\n    'content-security-policy-report-only': \"script-src 'none'; form-action 'none'; frame-src 'none'; report-uri https://csp.withgoogle.com/csp/goa-520bfc14\",\n    'cross-origin-opener-policy-report-only': 'same-origin; report-to=\"goa-520bfc14\"',\n    location: 'https://fcm.googleapis.com/0:1718179466461611%cc9b4facf9fd7ecd',\n    'report-to': '{\"group\":\"goa-520bfc14\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/goa-520bfc14\"}]}',\n    'x-content-type-options': 'nosniff',\n    'x-frame-options': 'SAMEORIGIN',\n    'x-xss-protection': '0',\n    date: 'Wed, 12 Jun 2024 08:04:26 GMT',\n    'content-length': '0',\n    'content-type': 'text/html; charset=UTF-8',\n    'alt-svc': 'h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000',\n    connection: 'close'\n  }\n}\ndone\n```\n\n## About This Project\n\nThis project is an open-source component of [i18n.site ⋅ Internationalization Solution](https://i18n.site).\n\n* [i18 : MarkDown Command Line Translation Tool](https://i18n.site/i18)\n\n  The translation perfectly maintains the Markdown format.\n\n  It recognizes file changes and only translates the modified files.\n\n  The translated Markdown content is editable; if you modify the original text and translate it again, manually edited translations will not be overwritten (as long as the original text has not been changed).\n\n* [i18n.site : MarkDown Multi-language Static Site Generator](https://i18n.site/i18n.site)\n\n  Optimized for a better reading experience\n\n## 关于本项目\n\n本项目为 [i18n.site ⋅ 国际化解决方案](https://i18n.site) 的开源组件。\n\n* [i18 :  MarkDown命令行翻译工具](https://i18n.site/i18)\n\n  翻译能够完美保持 Markdown 的格式。能识别文件的修改，仅翻译有变动的文件。\n\n  Markdown 翻译内容可编辑；如果你修改原文并再次机器翻译，手动修改过的翻译不会被覆盖（如果这段原文没有被修改）。\n\n* [i18n.site : MarkDown多语言静态站点生成器](https://i18n.site/i18n.site) 为阅读体验而优化。","readmeFilename":"README.md"}