-
![](/static/nostr-icon-purple-64x64.png)
@ ec42c765:328c0600
2025-02-05 23:45:09
test
test
-
![](/static/nostr-icon-purple-64x64.png)
@ ec42c765:328c0600
2025-02-05 23:43:35
test
-
![](/static/nostr-icon-purple-64x64.png)
@ ec42c765:328c0600
2025-02-05 23:38:12
# カスタム絵文字とは
任意のオリジナル画像を絵文字のように文中に挿入できる機能です。
また、リアクション(Twitterの いいね のような機能)にもカスタム絵文字を使えます。
![image](https://nostrcheck.me/media/lokuyow/b350b17b9176c59ec8c5e8251189a6610d09f2d7d2746f40476c5214e5827d37.webp)
# カスタム絵文字の対応状況(2025/02/06)
![image](https://cdn.nostrcheck.me/ec42c765418b3db9c85abff3a88f4a3bbe57535eebbdc54522041fa5328c0600/e815d627b374aba2467952ac2206b04684912bf4a65e39603e090f0de65b7d6a.webp)
カスタム絵文字を使うためにはカスタム絵文字に対応した[クライアント](https://welcome.nostr-jp.org/tutorial/explore-client.html)を使う必要があります。
※表は一例です。クライアントは他にもたくさんあります。
使っているクライアントが対応していない場合は、クライアントを変更する、対応するまで待つ、開発者に要望を送る(または自分で実装する)などしましょう。
#### 対応クライアント
- [Amethyst](https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst)
- [FreeFrom](https://freefrom.space/)
- [nostter](https://nostter.app/)
- [Rabbit](https://rabbit.syusui.net/)
- [Lumilumi](https://lumilumi.app/)
- [Nos Haiku](https://nos-haiku.vercel.app/)
- [Snort](https://snort.social/)
- [noStrudel](https://nostrudel.ninja/)
ここではnostterを使って説明していきます。
# 準備
カスタム絵文字を使うための準備です。
- Nostrエクステンション(NIP-07)を導入する
- 使いたいカスタム絵文字をリストに登録する
## Nostrエクステンション(NIP-07)を導入する
Nostrエクステンションは使いたいカスタム絵文字を登録する時に必要になります。
また、環境(パソコン、iPhone、androidなど)によって導入方法が違います。
Nostrエクステンションを導入する端末は、実際にNostrを閲覧する端末と違っても構いません(リスト登録はPC、Nostr閲覧はiPhoneなど)。
Nostrエクステンション(NIP-07)の導入方法は以下のページを参照してください。
[ログイン拡張機能 (NIP-07)を使ってみよう | Welcome to Nostr! ~ Nostrをはじめよう! ~ ](https://welcome.nostr-jp.org/tutorial/nip-07.html)
少し面倒ですが、これを導入しておくとNostr上の様々な場面で役立つのでより快適になります。
## 使いたいカスタム絵文字をリストに登録する
以下のサイトで行います。
[emojito](https://emojito.meme/)
右上の**Get started**からNostrエクステンションでログインしてください。
例として以下のカスタム絵文字を導入してみます。
実際より絵文字が少なく表示されることがありますが、古い状態のデータを取得してしまっているためです。その場合はブラウザの更新ボタンを押してください。
[generalJP | カスタム絵文字](https://emojito.meme/a/naddr1qqykwetwv4exzmz22qqsuamnwvaz7tmev9382tndv5hsyg8vgtrk2svt8kuusk4l7w5g7j3mhet4xhhthhz52gsyr7jn9rqxqqpsgqqqw48qud6u3s)
![image](https://nostrcheck.me/media/lokuyow/a154cf1d4218cc17291ec845d7706a8a4de9db92759881b69c4f2bf766f8a409.webp)
- 右側の**Options**から**Bookmark**を選択
![image](https://nostrcheck.me/media/lokuyow/ad932fe7118d3059e245c3ab410724495a7ccc72fbaec5ed43fef398d20361d1.webp)
これでカスタム絵文字を使用するためのリストに登録できます。
# カスタム絵文字を使用する
例としてブラウザから使えるクライアント nostter から使用してみます。
[nostter](https://nostter.app/)
nostterにNostrエクステンションでログイン、もしくは秘密鍵を入れてログインしてください。
## 文章中に使用
1. **投稿**ボタンを押して投稿ウィンドウを表示
2. **顔😀**のボタンを押し、絵文字ウィンドウを表示
3. ***タブ**を押し、カスタム絵文字一覧を表示
4. カスタム絵文字を選択
5. : 記号に挟まれたアルファベットのショートコードとして挿入される
![image](https://nostrcheck.me/media/lokuyow/2f469e7bd4a8d0ed1d778934c60a36ed077010181361e50f8d31cdb24ae828b1.webp)
この状態で投稿するとカスタム絵文字として表示されます。
カスタム絵文字対応クライアントを使っている他ユーザーにもカスタム絵文字として表示されます。
対応していないクライアントの場合、ショートコードのまま表示されます。
![image](https://nostrcheck.me/media/lokuyow/0701671fdc2352a9181fac49bca23fb59b61ffacf33090d16d14b6243ed9f877.webp)
ショートコードを直接入力することでカスタム絵文字の候補が表示されるのでそこから選択することもできます。
![image](https://nostrcheck.me/media/lokuyow/bc6b142ea9ac3643fa2bf9360c774fc5b2914ff5b2c2210cb75e6846581fd77f.webp)
## リアクションに使用
1. 任意の投稿の**顔😀**のボタンを押し、絵文字ウィンドウを表示
2. ***タブ**を押し、カスタム絵文字一覧を表示
3. カスタム絵文字を選択
![image](https://nostrcheck.me/media/lokuyow/203ffeba4fe9f3754ef394d6b4c8875db54d03c7d7b30b5eb4ac6d290c985639.webp)
カスタム絵文字リアクションを送ることができます。
![image](https://nostrcheck.me/media/lokuyow/729c3a016b7054433a56b093ee4cc6f3431248ace9e2eaa89bacdeececc0e58d.webp)
# カスタム絵文字を探す
先述した[emojito](https://emojito.meme/)からカスタム絵文字を探せます。
例えば任意のユーザーのページ [emojito ロクヨウ](https://emojito.meme/p/npub1a3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqu3sgh3) から探したり、 [emojito Browse all](https://emojito.meme/browse) からnostr全体で最近作成、更新された絵文字を見たりできます。
また、以下のリンクは日本語圏ユーザーが作ったカスタム絵文字を集めたリストです(2025/02/06)
※漏れがあるかもしれません
[日本ユーザー作 カスタム絵文字](https://nostviewstr.vercel.app/npub17hczqvxtfv3w69wr6lxrttnpdekwdwel55mld60fr24zwjuu6utqtj8mjx/10030)
各絵文字セットにある**Open in emojito**のリンクからemojitoに飛び、使用リストに追加できます。
-----------
以上です。
次:Nostrのカスタム絵文字の**作り方**
Yakihonneリンク [Nostrのカスタム絵文字の作り方](https://yakihonne.com/article/_@lokuyow.github.io/1707912490439)
Nostrリンク nostr:naddr1qqxnzdesxuunzv358ycrgveeqgswcsk8v4qck0deepdtluag3a9rh0jh2d0wh0w9g53qg8a9x2xqvqqrqsqqqa28r5psx3
-----------
# 仕様
[NIP-30 Custom Emoji](https://github.com/nostr-protocol/nips/blob/master/30.md)
[NIP-30 カスタム絵文字(和訳)](https://github.com/nostr-jp/nips-ja/blob/main/30.md)
-
![](/static/nostr-icon-purple-64x64.png)
@ ec42c765:328c0600
2025-02-05 23:16:35
てすと
nostr:nevent1qqst3uqlls4yr9vys4dza2sgjle3ly37trck7jgdmtr23uuz52usjrqqqnjgr
nostr:nevent1qqsdvchy5d27zt3z05rr3q6vvmzgslslxwu0p4dfkvxwhmvxldn9djguvagp2
test
てs
-
![](/static/nostr-icon-purple-64x64.png)
@ ec42c765:328c0600
2025-02-05 22:05:55
# カスタム絵文字とは
任意のオリジナル画像を絵文字のように文中に挿入できる機能です。
また、リアクション(Twitterの いいね のような機能)にもカスタム絵文字を使えます。
![image](https://nostrcheck.me/media/lokuyow/b350b17b9176c59ec8c5e8251189a6610d09f2d7d2746f40476c5214e5827d37.webp)
# カスタム絵文字の対応状況(2025/02/06)
![image](https://cdn.nostrcheck.me/ec42c765418b3db9c85abff3a88f4a3bbe57535eebbdc54522041fa5328c0600/e815d627b374aba2467952ac2206b04684912bf4a65e39603e090f0de65b7d6a.webp)
カスタム絵文字を使うためにはカスタム絵文字に対応した[クライアント](https://welcome.nostr-jp.org/tutorial/explore-client.html)を使う必要があります。
※表は一例です。クライアントは他にもたくさんあります。
使っているクライアントが対応していない場合は、クライアントを変更する、対応するまで待つ、開発者に要望を送る(または自分で実装する)などしましょう。
#### 対応クライアント
- [Amethyst](https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst)
- [FreeFrom](https://freefrom.space/)
- [nostter](https://nostter.app/)
- [Rabbit](https://rabbit.syusui.net/)
- [Lumilumi](https://lumilumi.app/)
- [Nos Haiku](https://nos-haiku.vercel.app/)
- [Snort](https://snort.social/)
- [noStrudel](https://nostrudel.ninja/)
ここではnostterを使って説明していきます。
# 準備
カスタム絵文字を使うための準備です。
- Nostrエクステンション(NIP-07)を導入する
- 使いたいカスタム絵文字をリストに登録する
## Nostrエクステンション(NIP-07)を導入する
Nostrエクステンションは使いたいカスタム絵文字を登録する時に必要になります。
また、環境(パソコン、iPhone、androidなど)によって導入方法が違います。
Nostrエクステンションを導入する端末は、実際にNostrを閲覧する端末と違っても構いません(リスト登録はPC、Nostr閲覧はiPhoneなど)。
Nostrエクステンション(NIP-07)の導入方法は以下のページを参照してください。
[ログイン拡張機能 (NIP-07)を使ってみよう | Welcome to Nostr! ~ Nostrをはじめよう! ~ ](https://welcome.nostr-jp.org/tutorial/nip-07.html)
少し面倒ですが、これを導入しておくとNostr上の様々な場面で役立つのでより快適になります。
## 使いたいカスタム絵文字をリストに登録する
以下のサイトで行います。
[emojito](https://emojito.meme/)
右上の**Get started**からNostrエクステンションでログインしてください。
例として以下のカスタム絵文字を導入してみます。
実際より絵文字が少なく表示されることがありますが、古い状態のデータを取得してしまっているためです。その場合はブラウザの更新ボタンを押してください。
[generalJP | カスタム絵文字](https://emojito.meme/a/naddr1qqykwetwv4exzmz22qq3uamnwvaz7tmwdaehgun2vykkkctjdyhxset8w4ex7tnrdakj7q3qa3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqxpqqqp65uhjtrk6)
![image](https://nostrcheck.me/media/lokuyow/a154cf1d4218cc17291ec845d7706a8a4de9db92759881b69c4f2bf766f8a409.webp)
- 右側の**Options**から**Bookmark**を選択
![image](https://nostrcheck.me/media/lokuyow/ad932fe7118d3059e245c3ab410724495a7ccc72fbaec5ed43fef398d20361d1.webp)
これでカスタム絵文字を使用するためのリストに登録できます。
# カスタム絵文字を使用する
例としてブラウザから使えるクライアント nostter から使用してみます。
[nostter](https://nostter.app/)
nostterにNostrエクステンションでログイン、もしくは秘密鍵を入れてログインしてください。
## 文章中に使用
1. **投稿**ボタンを押して投稿ウィンドウを表示
2. **顔😀**のボタンを押し、絵文字ウィンドウを表示
3. ***タブ**を押し、カスタム絵文字一覧を表示
4. カスタム絵文字を選択
5. : 記号に挟まれたアルファベットのショートコードとして挿入される
![image](https://nostrcheck.me/media/lokuyow/2f469e7bd4a8d0ed1d778934c60a36ed077010181361e50f8d31cdb24ae828b1.webp)
この状態で投稿するとカスタム絵文字として表示されます。
カスタム絵文字対応クライアントを使っている他ユーザーにもカスタム絵文字として表示されます。
対応していないクライアントの場合、ショートコードのまま表示されます。
![image](https://nostrcheck.me/media/lokuyow/0701671fdc2352a9181fac49bca23fb59b61ffacf33090d16d14b6243ed9f877.webp)
ショートコードを直接入力することでカスタム絵文字の候補が表示されるのでそこから選択することもできます。
![image](https://nostrcheck.me/media/lokuyow/bc6b142ea9ac3643fa2bf9360c774fc5b2914ff5b2c2210cb75e6846581fd77f.webp)
## リアクションに使用
1. 任意の投稿の**顔😀**のボタンを押し、絵文字ウィンドウを表示
2. ***タブ**を押し、カスタム絵文字一覧を表示
3. カスタム絵文字を選択
![image](https://nostrcheck.me/media/lokuyow/203ffeba4fe9f3754ef394d6b4c8875db54d03c7d7b30b5eb4ac6d290c985639.webp)
カスタム絵文字リアクションを送ることができます。
![image](https://nostrcheck.me/media/lokuyow/729c3a016b7054433a56b093ee4cc6f3431248ace9e2eaa89bacdeececc0e58d.webp)
# カスタム絵文字を探す
先述した[emojito](https://emojito.meme/)からカスタム絵文字を探せます。
例えば任意のユーザーのページ [emojito ロクヨウ](https://emojito.meme/p/npub1a3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqu3sgh3) から探したり、 [emojito Browse all](https://emojito.meme/browse) からnostr全体で最近作成、更新された絵文字を見たりできます。
また、以下のリンクは日本語圏ユーザーが作ったカスタム絵文字を集めたリストです(2025/02/06)
※漏れがあるかもしれません
[日本ユーザー作 カスタム絵文字](https://nostviewstr.vercel.app/npub17hczqvxtfv3w69wr6lxrttnpdekwdwel55mld60fr24zwjuu6utqtj8mjx/10030)
各絵文字セットにある**Open in emojito**のリンクからemojitoに飛び、使用リストに追加できます。
-----------
以上です。
次:Nostrのカスタム絵文字の**作り方**
Yakihonneリンク [Nostrのカスタム絵文字の作り方](https://yakihonne.com/article/_@lokuyow.github.io/1707912490439)
Nostrリンク nostr:naddr1qqxnzdesxuunzv358ycrgveeqgswcsk8v4qck0deepdtluag3a9rh0jh2d0wh0w9g53qg8a9x2xqvqqrqsqqqa28r5psx3
-----------
# 仕様
[NIP-30 Custom Emoji](https://github.com/nostr-protocol/nips/blob/master/30.md)
[NIP-30 カスタム絵文字(和訳)](https://github.com/nostr-jp/nips-ja/blob/main/30.md)
-
![](/static/nostr-icon-purple-64x64.png)
@ ec42c765:328c0600
2025-02-05 20:30:46
# カスタム絵文字とは
任意のオリジナル画像を絵文字のように文中に挿入できる機能です。
また、リアクション(Twitterの いいね のような機能)にもカスタム絵文字を使えます。
![image](https://nostrcheck.me/media/lokuyow/b350b17b9176c59ec8c5e8251189a6610d09f2d7d2746f40476c5214e5827d37.webp)
# カスタム絵文字の対応状況(2024/02/05)
![image](https://cdn.nostrcheck.me/ec42c765418b3db9c85abff3a88f4a3bbe57535eebbdc54522041fa5328c0600/e815d627b374aba2467952ac2206b04684912bf4a65e39603e090f0de65b7d6a.webp)
カスタム絵文字を使うためにはカスタム絵文字に対応した[クライアント](https://welcome.nostr-jp.org/tutorial/explore-client.html)を使う必要があります。
※表は一例です。クライアントは他にもたくさんあります。
使っているクライアントが対応していない場合は、クライアントを変更する、対応するまで待つ、開発者に要望を送る(または自分で実装する)などしましょう。
#### 対応クライアント
- [Amethyst](https://play.google.com/store/apps/details?id=com.vitorpamplona.amethyst)
- [FreeFrom](https://freefrom.space/)
- [nostter](https://nostter.app/)
- [Rabbit](https://rabbit.syusui.net/)
- [Snort](https://snort.social/)
- [noStrudel](https://nostrudel.ninja/)
ここではnostterを使って説明していきます。
# 準備
カスタム絵文字を使うための準備です。
- Nostrエクステンション(NIP-07)を導入する
- 使いたいカスタム絵文字をリストに登録する
## Nostrエクステンション(NIP-07)を導入する
Nostrエクステンションは使いたいカスタム絵文字を登録する時に必要になります。
また、環境(パソコン、iPhone、androidなど)によって導入方法が違います。
Nostrエクステンションを導入する端末は、実際にNostrを閲覧する端末と違っても構いません(リスト登録はPC、Nostr閲覧はiPhoneなど)。
Nostrエクステンション(NIP-07)の導入方法は以下のページを参照してください。
[ログイン拡張機能 (NIP-07)を使ってみよう | Welcome to Nostr! ~ Nostrをはじめよう! ~ ](https://welcome.nostr-jp.org/tutorial/nip-07.html)
少し面倒ですが、これを導入しておくとNostr上の様々な場面で役立つのでより快適になります。
## 使いたいカスタム絵文字をリストに登録する
以下のサイトで行います。
[emojito](https://emojito.meme/)
右上の**Get started**からNostrエクステンションでログインしてください。
例として以下のカスタム絵文字を導入してみます。
実際より絵文字が少なく表示されることがありますが、古い状態のデータを取得してしまっているためです。その場合はブラウザの更新ボタンを押してください。
[generalJP | カスタム絵文字](https://emojito.meme/a/naddr1qqykwetwv4exzmz22qq3uamnwvaz7tmwdaehgun2vykkkctjdyhxset8w4ex7tnrdakj7q3qa3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqxpqqqp65uhjtrk6)
![image](https://nostrcheck.me/media/lokuyow/a154cf1d4218cc17291ec845d7706a8a4de9db92759881b69c4f2bf766f8a409.webp)
- 右側の**Options**から**Bookmark**を選択
![image](https://nostrcheck.me/media/lokuyow/ad932fe7118d3059e245c3ab410724495a7ccc72fbaec5ed43fef398d20361d1.webp)
これでカスタム絵文字を使用するためのリストに登録できます。
# カスタム絵文字を使用する
例としてブラウザから使えるクライアント nostter から使用してみます。
[nostter](https://nostter.app/)
nostterにNostrエクステンションでログイン、もしくは秘密鍵を入れてログインしてください。
## 文章中に使用
1. **投稿**ボタンを押して投稿ウィンドウを表示
2. **顔😀**のボタンを押し、絵文字ウィンドウを表示
3. ***タブ**を押し、カスタム絵文字一覧を表示
4. カスタム絵文字を選択
5. : 記号に挟まれたアルファベットのショートコードとして挿入される
![image](https://nostrcheck.me/media/lokuyow/2f469e7bd4a8d0ed1d778934c60a36ed077010181361e50f8d31cdb24ae828b1.webp)
この状態で投稿するとカスタム絵文字として表示されます。
カスタム絵文字対応クライアントを使っている他ユーザーにもカスタム絵文字として表示されます。
対応していないクライアントの場合、ショートコードのまま表示されます。
![image](https://nostrcheck.me/media/lokuyow/0701671fdc2352a9181fac49bca23fb59b61ffacf33090d16d14b6243ed9f877.webp)
ショートコードを直接入力することでカスタム絵文字の候補が表示されるのでそこから選択することもできます。
![image](https://nostrcheck.me/media/lokuyow/bc6b142ea9ac3643fa2bf9360c774fc5b2914ff5b2c2210cb75e6846581fd77f.webp)
## リアクションに使用
1. 任意の投稿の**顔😀**のボタンを押し、絵文字ウィンドウを表示
2. ***タブ**を押し、カスタム絵文字一覧を表示
3. カスタム絵文字を選択
![image](https://nostrcheck.me/media/lokuyow/203ffeba4fe9f3754ef394d6b4c8875db54d03c7d7b30b5eb4ac6d290c985639.webp)
カスタム絵文字リアクションを送ることができます。
![image](https://nostrcheck.me/media/lokuyow/729c3a016b7054433a56b093ee4cc6f3431248ace9e2eaa89bacdeececc0e58d.webp)
# カスタム絵文字を探す
先述した[emojito](https://emojito.meme/)からカスタム絵文字を探せます。
例えば任意のユーザーのページ [emojito ロクヨウ](https://emojito.meme/p/npub1a3pvwe2p3v7mnjz6hle63r628wl9w567aw7u23fzqs062v5vqcqqu3sgh3) から探したり、 [emojito Browse all](https://emojito.meme/browse) からnostr全体で最近作成、更新された絵文字を見たりできます。
また、以下のリンクは日本語圏ユーザーが作ったカスタム絵文字を集めたリストです(2024/06/30)
※漏れがあるかもしれません
[日本ユーザー作 カスタム絵文字](https://nostviewstr.vercel.app/npub17hczqvxtfv3w69wr6lxrttnpdekwdwel55mld60fr24zwjuu6utqtj8mjx/10030)
各絵文字セットにある**Open in emojito**のリンクからemojitoに飛び、使用リストに追加できます。
-----------
以上です。
次:Nostrのカスタム絵文字の**作り方**
Yakihonneリンク [Nostrのカスタム絵文字の作り方](https://yakihonne.com/article/_@lokuyow.github.io/1707912490439)
Nostrリンク nostr:naddr1qqxnzdesxuunzv358ycrgveeqgswcsk8v4qck0deepdtluag3a9rh0jh2d0wh0w9g53qg8a9x2xqvqqrqsqqqa28r5psx3
-----------
# 仕様
[NIP-30 Custom Emoji](https://github.com/nostr-protocol/nips/blob/master/30.md)
[NIP-30 カスタム絵文字(和訳)](https://github.com/nostr-jp/nips-ja/blob/main/30.md)
-
![](/static/nostr-icon-purple-64x64.png)
@ 21ac2956:09d1e2df
2025-01-22 15:27:00
## [kakoi](https://github.com/betonetojp/kakoi) の仕様についてのメモ
### キーボード操作
* 左手での操作に最適化
| キー | 動作 |
|:-|:-|
| ESC | 設定画面 |
| F1 / F12 | ポストバーの表示と非表示 |
| F2 | 時間の表示と非表示 |
| F3 | ユーザーアイコンの表示と非表示 |
| F4 | 名前の表示と非表示 |
| F5 | Geminiによるタイムラインまとめ画面を表示 |
| F9 / Z | コンテンツの折り返し表示の切り替え (余白ダブルクリックでも動作) |
| F10 | ユーザーリストとキーワード通知の設定画面 (余白右クリックでも動作) |
| F11 | メイン画面の表示と非表示 (ポストバー表示) |
| Shift + W | イベント最上行へ移動 |
| W / ↑| イベント選択上移動 |
| S / ↓ | イベント選択下移動 |
| Shift + S | イベント最下行へ移動 |
| A / ← | Webビューを開く (イベントを右クリックでも動作) |
| F / → | リアクションを送信 (イベントをダブルクリックでも動作) |
| 1 ~ 0 | リアクションを選択 |
| R | 返信 |
| B | リポスト |
| Q | 引用 |
| C | Webビューを閉じる |
| Ctrl + Shift + A | メイン画面をアクティブにする |
### タイムライン
* kind:1, 6, 7, 16を取得して表示する
* フォロイーの名前の前には * が付く
### フォローリスト(kind:3)
* 参照のみで更新はしない
* F10 で開くユーザーリストでユーザーを選択し petname セルをクリックすることで未フォローユーザーにもペットネームを設定可能(ローカル保存)
### プロフィール(kind:0)
* F10 で開くユーザーリストでユーザーを選択し picture セルをクリックすることでユーザーのアイコン表示を変更可能(ローカル保存)
### 返信([NIP-10](https://github.com/nostr-protocol/nips/blob/master/10.md) kind:1)
* kakoi のタイムラインに流れるすべてのイベント種に返信可能とする
* スレッドを考慮せず、単一イベントへの単発返信とする
* e タグは marker と返信先 pubkey は設定していない。 relay-url には空文字を設定
```json
["e", "返信先 event-id", ""]
```
* p タグは 返信先 pubkey ひとつだけを指定
### リポスト([NIP-18](https://github.com/nostr-protocol/nips/blob/master/18.md) kind:6 , 16)
* kakoi のタイムラインに流れるすべてのイベント種をリポスト可能
* kind:1はkind:6。その他はkind:16でリポストする
* e タグは relay-url に空文字を設定
```json
["e", "リポスト元 event-id", ""]
```
### 引用([NIP-18](https://github.com/nostr-protocol/nips/blob/master/18.md) kind:1)
* q タグは relay-url に空文字を設定
```json
["q", "引用元 event-id", ""]
```
-
![](/static/nostr-icon-purple-64x64.png)
@ 101b30ee:18a46a45
2025-01-02 17:28:15
---
### ハンドシェイク
- HTTPリクエスト解析
- [ ] HTTPリクエストラインのパーサー関数作成
- [x] HTTPヘッダーのパーサー関数作成
- [ ] HTTPリクエストボディのパーサー関数作成
- [ ] WebSocket関連ヘッダーの検証
- [ ] `Upgrade: websocket`
- [ ] `Connection: Upgrade`
- [ ] `Sec-WebSocket-Key` の取得と検証
- [ ] `Sec-WebSocket-Version: 13` の検証
- HTTPレスポンス作成
- [ ] `Sec-WebSocket-Accept` の生成
- [x] `Sec-WebSocket-Key` にSHA-1適用(外部依存)
- [ ] `Sec-WebSocket-Key` にSHA-1適用(非依存)
- [x] `Sec-WebSocket-Key` にBase64エンコードを適用
- [x] HTTP 101 Switching Protocolsレスポンスの構築と送信
---
### データ転送
#### WebSocketフレームの処理
- フレーム解析
- [x] `fin` ビットの取り出しと解釈
- [x] `rsv1`, `rsv2`, `rsv3` の取り出しと検証
- [ ] `opcode` の取り出しと処理
- [ ] 0x0: 継続フレーム
- [ ] 0x1: テキストフレーム
- [ ] 0x2: バイナリフレーム
- [ ] 0x8: 接続終了
- [ ] 0x9: Ping
- [ ] 0xA: Pong
- [x] `mask` フラグの取得と検証
- [x] `payload_len` の取り出しと解析
- [x] 拡張されたペイロード長(`extended payload len`)の取り出し
- [x] `masking key` の取得とデコード
- [x] `payload` データの取り出し
- [ ] `fin` に基づく分割パケット対応
- デコード
- [x] `masking key` を使用したペイロードデコード
- opcode別処理
- [ ] テキストフレーム(0x1)のUTF-8デコードと処理
- [ ] バイナリフレーム(0x2)のデータ処理
- [ ] Ping(0x9)フレームへのPong応答
- [ ] 接続終了(0x8)の処理
- [ ] 不正なopcodeに対するエラー応答
#### フレーム生成
- フレーム構築
- [ ] `fin` フラグ設定
- [ ] `opcode` の設定
- [ ] ペイロードのマスキング処理(クライアント向けのみ)
- [ ] ペイロード長の設定(拡張ペイロード長を含む)
- [ ] フレーム全体のバイトストリーム化
---
### 接続管理
- [x] クライアント接続の確立
- [x] 2クライアント以上の接続の確立
- [ ] 接続中のクライアントのリスト管理
- [ ] 接続のタイムアウト処理
- [ ] 不正なクライアントからの接続拒否
- [ ] 接続終了時のクリーンアップ処理
- [ ] ハートビート機能(Ping/Pong)による接続維持
---
### セキュリティ
- [ ] WebSocket Originヘッダーの検証(許可されたオリジンのみ受け入れる)
- [ ] メッセージサイズの上限設定(大規模メッセージ攻撃の防御)
- [ ] 不正なフレーム/データに対するエラーハンドリング
- [ ] SSL/TLSサポート(wssプロトコル用)
---
### 拡張機能とプロトコルアップグレード
- [ ] サブプロトコル(Sec-WebSocket-Protocol)の処理
- [ ] 拡張(Sec-WebSocket-Extensions)のサポート
- 圧縮データのデコード (例: permessage-deflate)
---
### テストとデバッグ
- [ ] 単体テスト
- [ ] ハンドシェイクのテスト
- [ ] フレーム解析と生成のテスト
- [ ] 各opcode処理のテスト
- [ ] 負荷テスト(高負荷時の動作確認)
- [ ] プロトコルコンフォーマンステスト
- [ ] RFC 6455に準拠しているかの確認
- [ ] ロギングとデバッグツールの実装
---
### ドキュメント
- [ ] コードベースのコメントとドキュメント化
- [ ] WebSocketサーバーの設定と使用法についてのユーザーガイド作成
### タグ
#RFC6455
-
![](/static/nostr-icon-purple-64x64.png)
@ 59cb0748:9602464b
2025-01-01 06:15:09
Nostrでお世話になっている方も、お世話になってない方も、こんにちは!
タコ頭大吉です!
NIP-23を使った初めての投稿です。
今回は、私がここ数ヶ月中にデザインをした三種類のビタキセケースの紹介記事になります!!
ビタキセを買ったもののあまり自分の好みに合う外観や仕様のケースがなく、いくつかプロトタイプを作りそれなりに時間をかけて考えたケース達です。
これら3シリーズに関しては、FDMタイプの3Dプリンタの精度、耐久性、出力後の作業性を考慮して一つのパーツで完結することに拘って設計をしました。
一定以上の充填率でプリントをすればそれなりに丈夫なはずです。
また、基本的に放熱性と保護性を両立できるように設計をしたつもります。
それぞれのモデルについて簡単に紹介をさせていただきますので、よろしければ各リポジトリに付属のREADMEを読んでいただいて自作、フィードバックをいただけましたら幸いです。
それでは、簡単に各モデルの紹介をさせていたきます。
-----------
## AirLiftFrame
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/59cb0748d57e3193f7ffc9333953716864eb7970c038e7299d7717a49602464b/files/1735396086482-YAKIHONNES3.jpg)
最初に作ったモデルです!
少し大きいのが難点ですが、分厚めのフレームをベースとし基盤周辺をあえて囲わない設計により、保護性と放熱を阻害しない事の両立を狙っています。
[リポジトリへ](https://github.com/tko-combinator/BitaxeAirLiftFrame)
-----------
## TwinAirLiftFrame
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/59cb0748d57e3193f7ffc9333953716864eb7970c038e7299d7717a49602464b/files/1735396098253-YAKIHONNES3.jpeg)
ビタキセを買い増ししたことにより、複数台をカッコよく運用したいという需要が自分の中に出てきたので、AirLiftFrameを2つくっつけたら良いのではと言うごくごく単純な発想でつくり始めたケースです。
しかし、ただ横並びにしただけでは廃熱が干渉するだけではなく、DCジャックやUSBポートへのアクセスが阻害されるという問題にすぐに気がつきました。
そこで、WebUI上でディスプレイの表示を上下反転出来ることに注目し、2台を上下逆向きに取り付ける事でそれらの問題を解決しました!
[リポジトリへ](https://github.com/tko-combinator/BitaxeTwinAirLiftFrame)
-----------
## VoronoiShell
![image](https://yakihonne.s3.ap-east-1.amazonaws.com/59cb0748d57e3193f7ffc9333953716864eb7970c038e7299d7717a49602464b/files/1735396108286-YAKIHONNES3.jpg)
AirLiftFrameシリーズのサイズを小型化する事から始めたプロジョクトです。
縦横の寸法の削減だけではなく、厚みを薄くつくリたいという希望がありました。
所が単純に薄くすると、持った時に発熱する背面パーツに手が触れてしまったり、落下などでぶつかった際に背面パーツが破損する懸念がありました。
そこで、(当初は付けたくはなかった)背面保護用のグリルをデザインする必要が出てきました。
初めは多角形でしたがあまりにもダサく、調べている内にVoronoi柄という有機的なパターンに行き付き即採用しました。
結果、ビタキセを取り付けると柄が見えなくなるのが勿体無いぐらい個性的でスタイリッシュなデザインに仕上がりました。
[リポジトリへ](https://github.com/tko-combinator/BitaxeVoronoiShell)
-----------
いずれカスタム方法やインサートナットや増設ファンの選定方法等を紹介したいのですが、今回はNIP-23になれるという意図もあるので紹介に留めます!
また、他の関連OSハードウェアプロジェクトのケースもデザインできたらと思っております!
今後ともタコ頭をよろしくお願いいたします。
-
![](/static/nostr-icon-purple-64x64.png)
@ 84b0c46a:417782f5
2024-12-26 10:28:26
- [lumilumi](https://lumilumi.app/) The Nostr Web Client.
Lightweight modes are available, such as not displaying icon images, not loading images automatically, etc.
- [nostr-share-component](https://github.com/TsukemonoGit/nostr-share-component)
[Demo](https://tsukemonogit.github.io/nostr-share-component/)
- [Nostr Follow Organizer](https://tsukemonogit.github.io/NFO/)
Follow List ( kind3 ) organization tool.
- [NAKE](https://github.com/TsukemonoGit/nake) NIP-19, NIP-49 Encode/Decode Tool
- [chrome extension](https://chromewebstore.google.com/detail/nake/pckmdjknadbfalfohabbccmffoohlamk)
- [firefox add-on](https://addons.mozilla.org/ja/firefox/addon/nake/)
- [nostviewstr](https://nostviewstr.vercel.app/)
Addressable or Replaceable Event Editor ( いろんなリストエディター )
- [luminostr](https://tsukemonogit.github.io/luminostr/)
Addressable or Replaceable Event Recovery tool ( いろいろリカバリーツール )
- [Nostr Bookmark Recovery Tool](https://nostr-bookmark-recovery-tool.vercel.app/)
Bookmark event ( kind:10003,30001,30003 ) recovery tool ( ぶくま復活させたいやつ )
- [Profile Editor](https://nos-profile-arekore.vercel.app/)
プロフィールを編集するやつ
- [nostr-bookmark-viewer](https://nostr-bookmark-viewer3.vercel.app/)
Bookmark event ( kind:10003,30001,30003 ) Editor ( ぶっくまーくをみるやつ )
- [Nostr Note Duplicater](https://dupstr.vercel.app/)
Broadcast an event from relay to relay ( イベントをブロードキャストするやつ )
- [もの画像サイト](https://tsukemonogit.github.io/nostr-monoGazo-bot/)
- [いろいろbotサイト](https://tsukemonogit.github.io/iroirotest/)
-
![](/static/nostr-icon-purple-64x64.png)
@ 21ac2956:09d1e2df
2024-12-24 23:24:04
スペース2つ+改行→
改行2つ→
ハードブレイク→<br>いかがでしたか?
-
![](/static/nostr-icon-purple-64x64.png)
@ 32310997:0c1e64cc
2024-12-24 23:10:03
※このポエムは[Nostr Advent Calendar 2024]( https://adventar.org/calendars/10004)の25日目の記事です。24日目は[tansaibow]( https://nostter.app/tansaibow@tansaibow.com)さんのご担当です。
-----------
**この鍵ひとつあれば**<br>
**僕はどこにだってゆける**<br>
**なんだってできる**<br>
<br>
**さぁ進もう**<br>
**この曠野を**<br>
![image]( https://nostpic.com/media/32310997f6b37b6cd60bb15a28e9a14badddfbf0875a7de24c69123a0c1e64cc/637293a48a7b4a23640e3b8006fffe4e907c5514615b445e89c45f3056df2a10.webp)
(※画像はイメージです。本文とはたいして関係がありません)
-
![](/static/nostr-icon-purple-64x64.png)
@ ec42c765:328c0600
2024-12-22 19:16:31
この記事は前回の内容を把握している人向けに書いています(特にNostrエクステンション(NIP-07)導入)
前回:[Nostrのカスタム絵文字の使い方](https://yakihonne.com/article/_@lokuyow.github.io/xVMTZxHcV_NWKuTbDBUYs)
# 手順
1. 登録する画像を用意する
2. 画像をweb上にアップロードする
3. 絵文字セットに登録する
## 1. 登録する画像を用意する
以下のような方法で用意してください。
* 画像編集ソフト等を使って自分で作成する
* 絵文字作成サイトを使う([絵文字ジェネレーター](https://emoji-gen.ninja/)、[MEGAMOJI](https://zk-phi.github.io/MEGAMOJI/) など)
* フリー画像を使う([いらすとや](https://www.irasutoya.com/) など)
### データ量削減
Nostrでは画像をそのまま表示するクライアントが多いので、データ量が大きな画像をそのまま使うとモバイル通信時などに負担がかかります。
データ量を増やさないためにサイズやファイル形式を変更することをおすすめします。
以下は私のおすすめです。
* サイズ:正方形 128×128 ピクセル、長方形 任意の横幅×128 ピクセル
* ファイル形式:webp形式(webp変換おすすめサイト [toimg](https://toimg.kakechimaru.com/to-webp))
* 単色、単純な画像の場合:png形式(webpにするとむしろサイズが大きくなる)
### その他
* 背景透過画像
* ダークモード、ライトモード両方で見やすい色
がおすすめです。
## 2. 画像をweb上にアップロードする
よく分からなければ [emojito](https://emojito.meme/) からのアップロードで問題ないです。
普段使っている画像アップロード先があるならそれでも構いません。
気になる方はアップロード先を適宜選んでください。
既に投稿されたカスタム絵文字の画像に対して
- 削除も差し替えもできない → [emojito](https://emojito.meme/) など
- 削除できるが差し替えはできない → [Gyazo](https://gyazo.com/)、[nostrcheck.me](https://nostrcheck.me/)など
- 削除も差し替えもできる → [GitHub](https://github.com/) 、セルフホスティングなど
これらは既にNostr上に投稿されたカスタム絵文字の画像を後から変更できるかどうかを指します。
どの方法でも新しく使われるカスタム絵文字を変更することは可能です。
同一のカスタム絵文字セットに同一のショートコードで別の画像を登録する形で対応できます。
## 3. 絵文字セットに登録する
[emojito](https://emojito.meme/) から登録します。
右上の**アイコン** → **+ New emoji set** から新規の絵文字セットを作成できます。
![image](https://nostrcheck.me/media/lokuyow/6e9aa6555dd29b613fc0526cca93b990b4ca20865b3887e282c47f30d56ee1c6.webp)
![image](https://nostrcheck.me/media/lokuyow/926b460d64b50215a0dc95e5fe38facce5d723ad0d54115f5279aa10f225d5d3.webp)
#### ① 絵文字セット名を入力
基本的にカスタム絵文字はカスタム絵文字セットを作り、ひとまとまりにして登録します。
一度作った絵文字セットに後から絵文字を追加することもできます。
#### ② 画像をアップロードまたは画像URLを入力
emojitoから画像をアップロードする場合、ファイル名に日本語などの2バイト文字が含まれているとアップロードがエラーになるようです。
その場合はファイル名を適当な英数字などに変更してください。
#### ③ 絵文字のショートコードを入力
ショートコードは絵文字を呼び出す時に使用する場合があります。
他のカスタム絵文字と被っても問題ありませんが選択時に複数表示されて支障が出る可能性があります。
他と被りにくく長くなりすぎないショートコードが良いかもしれません。
ショートコードに使えるのは半角の英数字とアンダーバーのみです。
#### ④ 追加
**Add** を押してもまだ作成完了にはなりません。
![image](https://nostrcheck.me/media/lokuyow/ff9cbd28825ba38aa71cca686fcb933f4e87b55ba4d33687f896b668f0dd1fe2.webp)
一度に絵文字を複数登録できます。
最後に右上の **Save** を押すと作成完了です。
![image](https://nostrcheck.me/media/lokuyow/c6783b066c48304e066d0a0939bdf5e613f8970dd570615221f8e5044dbea45b.webp)
画面が切り替わるので、右側の **Options** から **Bookmark** を選択するとそのカスタム絵文字セットを自分で使えるようになります。
既存の絵文字セットを編集するには **Options** から **Edit** を選択します。
以上です。
-----------
# 仕様
[NIP-30 Custom Emoji](https://github.com/nostr-protocol/nips/blob/master/30.md)
[NIP-30 カスタム絵文字(和訳)](https://github.com/nostr-jp/nips-ja/blob/main/30.md)