Skip to content

A nostr client for Windows just to post and browse the global timeline.

License

Notifications You must be signed in to change notification settings

betonetojp/nokakoi

Repository files navigation

◆ 動作環境

Windows11 22H2 (x64)
.NET 8.0
※ランタイムが必要です。インストールしていない場合は初回起動時の案内に従ってください。


◆ nokakoi.exe

Nostrのリレーサーバーに接続してグローバルタイムラインをリアルタイムに表示するアプリケーションです。
設定でフォロータイムラインにすることもできます(ログインが必要です)。
タイムラインを『伺か』(SSP)に流すことができます。
https://ssp.shillest.net/

初期設定では、やぶみリレー(wss://yabu.me/)ほか計3つのリレーに接続します。
左上の『リレーボタン』からリレーの追加削除と使用リレーの選択ができます。

投稿機能を使うには、右上の『設定ボタン』からnokakoiキーとパスワードの入力が必要です。
nokakoiキーはnokakoienc.exeで作成します。

※その他の設定項目はさわって確かめてみてください。
  ESCキー 設定画
  F10キー ユーザーミュートとキーワード通知の設定画面
  F11キー メイン画面の表示と非表示
  F12キー ポストバーの表示と非表示


◆ nokakoienc.exe

Nostr秘密鍵(nsec1...)と自分で決めたパスワードからnokakoiキー(nokakoi:...)を作成するアプリケーションです。

nokakoiキーはNostr秘密鍵をパスワードを使ってローカルで暗号化したものです。
nokakoi独自仕様なので多少は安全ですが、Nostr秘密鍵を完全に含むものなので公開は控えてください。
nokakoiキーとパスワードが漏れると、他者によるnokakoiでの投稿が可能となってしまいます。
パスワード変更して新しいnokakoiキーを作成したとしても、以前のnokakoiキーとパスワードの組み合わせは有効です。


◆ 更新履歴

2024/07/13 v0.4.9
利用パッケージのセキュリティアップデートを適用しました。

2024/07/08 v0.4.8.1
設定の初期値を変更しました。
noskoiと表記している箇所を修正しました。

2024/07/07 v0.4.8
kind:0未取得のユーザーの投稿は表示しないように変更しました。
DirectSSTP送信のオンオフ設定を追加しました。
emoji URLの初期値を変更しました。

2024/06/27 v0.4.7
キーワードリアクションを追加しました。
設定画面を整理しました。

2024/06/19 v0.4.6
\nで改行を廃止しました。※改行投稿はポストバーで可能です。
users.jsonの保存タイミングを変更しました。

2024/06/15 v0.4.5
プロフィールのtagsに絵文字があるとプロフィールを取得できなっかった問題を修正しました。
SSTP Nostr通知イベント Nostr/0.4に対応しました。
※それに伴ない、picture未取得時に代替pictureを送っていたのを廃止しました。
キーワード通知(Open file notification)送信時に利用リレー情報を含めないように変更しました。

2024/06/13 v0.4.4
リレー表示がはみ出さないように修正しました。
設定ファイルのパスを絶対パスに修正ました。

2024/06/09 v0.4.3
「伺か」用ゴーストnostalkのNostrイベント通知(Nostr/0.3)に対応しアバター画像を送信するようにしました。
https://github.com/nikolat/nostalk
利用ライブラリ更新。
設定画面を2回以上開くとフォロイー判定ができなくなていたのを修正しました。
ユーザーリストの言語判定結果表示を廃止しました。

2024/05/10 v0.4.2
自動でミュートされたMostrアカウントのミュートを解除できるようにしました。
Mostrの投稿をミュートする機能をオン/オフできるようにしました。
ユーザーリストに言語判定結果を追加しました。
users.jsonのキー名CreatedAtをcreated_atに変更しました。
※created_atは取得し直しとなります。

2024/05/06 v0.4.1
ユーザーリストに取得日時を追加。並び替えと削除ができるようになりました。
複数リレーのkind:0のうち最新のユーザー名を取得するようにしました。
Mostrの投稿を自動でミュートするようにしました。

2024/05/05 v0.4.0
複数リレーに対応しました。
デフォルトでは、
wss://yabu.me/
wss://r.kojira.io/
wss://bostr.nokotaro.com/
が有効になっています。
左上のボタンからリレーの追加削除と使用リレーの選択ができます。
※クライアント独自のリレー設定なのでkind:10002等には影響しません。

2024/05/01 v0.3.7
ユーザーミュートとキーワード通知の設定画面を追加しました。
F10キーか本体の余白を右クリックで開きます。

2024/04/29 v0.3.6
ポストバーで改行が投稿できるようになりました。
※ポストバーではEnterキーで、本体では\nで改行します。
CTRL + Enterで投稿するように戻しました。

2024/04/27 v0.3.5
高DPIやWindows 10で多少見た目が良くなるように調整しました。
Enterキーで投稿できるようにしました。CTRL + Enterでの投稿を廃止しました。

2024/04/27 v0.3.4
起動時に自動でリレーに接続するようにしました。
Escキーで設定画面の開閉ができるようになりました。
F11キーでメイン画面の表示と非表示ができるようになりました。
F12キーでポストバーの表示と非表示ができるようになりました。
キーワード通知でneventを開けるようにしました。keywords.jsonで設定できます。
デスクトップ通知の有無とkeywords.jsonで設定できるようにしました。
keywords.jsonは以下のようになります。無い場合は自動で作成されるようにしました。
{
    "keywords": 
    [
        "nokakoi",
        ":n:"
    ],
    "balloon": true,
    "open_file": true,
    "file_name": "https://nostter.app/"
}
※↑はデフォルト設定から変更した例です。

2024/04/25 v0.3.3
ユーザー名を投稿毎に取得するようにしました。変更が反映されるのはそのユーザーの次の投稿からです。
リレー接続ボタンと購読開始ボタンを統合しました。
試験的にキーワードを含む投稿をデスクトップ通知するようにしました。本体に表示する投稿のみが対象です。
nokakoi.exeと同じフォルダにkeywords.jsonを作成し、下記のようにキーワードを登録してください。
{
    "keywords": 
    [
        "nokakoi",
        ":n:"
    ]
}

2024/04/08 v0.3.2
CTRL + Enterで投稿できるようにしました。
ユーザーの情報をusers.jsonに保存するようにしました。
ミュート機能を追加。users.jsonのmuteメンバーをtrueにすると、そのユーザーの投稿を表示しなくなります。
※ミュートの変更はアプリを起動していない状態で行ってください。

2024/03/14 v0.3.1
内部的な修正。
※Donさん( @nikolat )にSSTP通信部分をスマートにしていただきました!

2024/03/14 v0.3.0
ユーザーの名前表示にゆるく対応。
名前の表示長さを指定する設定を追加。
フォロイーのみを表示する設定を追加。

2024/03/09 v0.2.10
投稿特化のポストバーを追加。ポストバーの余白ダブルクリックでメイン画面を最小化できます。

2024/03/07 v0.2.9.1
SSPゴーストに送る文章も本体設定文字数でカットするように変更。SSTPLib更新。

2024/03/07 v0.2.9
DirectSSTP送信を試験的に追加。SSPゴーストにタイムラインとリアクション通知を送信します。

2024/03/02 v0.2.8
リアクション表示を追加。

2024/02/20 v0.2.7
サイズを保存するように。clientタグとemojiタグを必要時のみ付けるように修正。

2024/02/17 v0.2.6
エンドタグをshortcode専用に変更。emoji URLを設定可能に。

2024/02/15 v0.2.5
設定を保存するように。エンドタグをemojiに変更。

2024/02/11 v0.2.4
日本語フィルタ追加。同梱の Core14.profile.xml が必要です。


◆ 利用NuGetパッケージ

NTextCat
https://github.com/ivanakcheurov/ntextcat

◆ Nostrクライアントライブラリ

NNostr
https://github.com/Kukks/NNostr
内のNNostr.Client Ver0.0.49を一部変更して利用しています。


◆ DirectSSTP送信ライブラリ

DirectSSTPTester
https://github.com/nikolat/DirectSSTPTester
内のSSTPLib Ver4.0.0を利用しています。