プログラミングなんてわからないんですけど〜

元プログラマによるプライベートでのプログラミング日記。1/3のつもりだけどソフト関連はここがメイン

fediversesearch crawlerの問題個所を一部修正した(SNS閉鎖対策)

fediversesearchのクローラーは、「DNSでIPアドレスが設定されていない場合はDBにフラグを立てる」「初回のクロール時にタイトルなどの情報が取れなければDBに書き込まない」という感じの仕様になっています。 この仕様と検索用APIの「DBでそのURLのDNSステ…

WindowsなしでUbuntuのインストール用USBメモリを作成できるんだねえ

数年前(8年前ぐらいか?)ぐらいに「WindowsじゃなくてAndroidのスマホやタブレットからLinux(一番作るのが簡単なのはUbuntuか?)のインストール用USBメモリが作れれば楽なのに」と思ってAndroidアプリがあるか探したことがありますが、探し方が悪かったの…

Windows11上でWSL2のUbuntuにfast.comでの速度測定を行うコマンドを入れたけど色々面倒だった

知識不足なので手探りでやっていくしかないですけどね。 sudo apt update sudo apt install npm でnpmをまずインストール。 npm install -g fast-cli でfast-cliをインストール。うちの環境だとそのまま「fast」では呼び出せない。bash_profileとかにいろい…

Windows11で「このwindowsdefender リンクを開くには新しいアプリが必要です」という画面が表示されるようになった場合の対処方法

Insider Previewを使っていた時からか、いつのまにかWindowsセキュリティの画面を表示しようとすると以下のような画面が表示されてどうしようもなくなることになりました。 セキュリティ機能は動いているようなので、レジストリか何かがおかしくなっているの…

fediversesearchの構築手順をまとめてみる(その3:fediversesearch-crawler)

第3回目は、fediversesearch-crawlerです。これで、システムとしてまともに動くようになります。前回、前々回の記事はこちら。 www.kaias1jp.com www.kaias1jp.com 今回対象とするOS 今回対象とするOSは、Ubuntu 20.04.2 LTSとします。 構築手順 前準備(fe…

fediversesearchの構築手順をまとめてみる(その2:fediversesearch-fe)

今回は、WebUIのfediversesearch-feの構築手順です。サービス本体の構築方法については、以下の記事を参照してください。www.kaias1jp.com 今回対象とするOS 今回対象とするOSは、Ubuntu 20.04.2 LTSとします。 構築手順 前準備(fediversesearch-serverとサ…

fediversesearchの構築手順をまとめてみる(その1:fediversesearch-server)

一通りソースコードをgithubにアップロードしたので、テスト環境を構築しながら構築手順をまとめてみます。 まずは、fediversesearch-serverについてまとめます。 今回対象とするOS 今回対象とするOSは、Ubuntu 20.04.2 LTSとします。 構築手順 OSの最新化 …

AMD APUでのDLNAアプリは「PC TV Plus」しかなさそうだ

ファイルサーバーを置き換えたため、ThinkCentre M75q-1 Tinyを再びメインのデスクトップPCにしました。普通のソフトは問題ないんですが、1つだけ問題のあるソフトが。「DiXiM Play」です。AMD APUの内蔵グラフィックスを使っていると動かない、対処方法が…

fediversesearchのクローラーを開発しています

fediversesearchは、基本となるサーバー部とWebUIに関してはほぼ完成しました。クローラーに関しては初期に作成したコードがあり「クロールする」という点では動いていたのですが、運用する場合に「どこがボトルネックになっているのか調査しにくい」構造に…

NFC非接触式カードリーダーでLinuxのログイン認証をしてみる

この前、接触式カードリーダーでLinuxのログイン認証を試しました。 www.kaias1jp.com まあ、上手く行ったのですがやはり非接触式が欲しいと思い、「ADVANCED CARD SYSTEM ACR1251U-A1 スマートカードリーダー」を購入しました。 www.popnja.com Linuxでも使…

IFTTTとOneDrive、Gmail APIなどで自動化をしてみる

先日、ポメラのDM200を購入しました。 DM200には、「アップロード」という名のメール送信機能があります。これを使ってまずはDM200からOneDriveにファイルを登録します。そのために、IFTTTを使いました。 「Email」と「OneDrive」を組み合わせています。DM20…

Arch Linuxでマイナンバーカードでのログイン認証をしてみる

時間があるので、マイナンバーカードのPAM認証をArch Linuxでやってみました。 今回の環境は、ThinkPad X201で構築しています。まずは参考文献から。 www.osstech.co.jp www.osstech.co.jp www.r-cnct.com今回使用するのは「SCR80」という接触式カードリーダ…

fediversesearch APIの使用例を紹介します(TheDesk)

Cutls氏が開発している「TheDesk」というデスクトップアプリがあります。このアプリは、Windows/Mac/Linuxのデスクトップで動くマストドン・misskeyなどなどのクライアントアプリです。thedesk.top 1m.cutls.com実は、fediversearchを公開した時に「APIあっ…

mastodonの全文検索インデックスの定期更新をしてみた

mastodonの全文検索ですが、オリジナルのソースコードを使用している場合はインデックスの更新は適宜行われます。 ただし、私のように公開タイムラインのトゥートまで検索対象にしている場合は、ソースコードのかなり深いところまで手を入れないと更新されま…

fediversesearch.comのnginxにオンメモリcacheを設定しました

前段をcloudflareにしているんですが、いまいち反応が鈍い。そういえばnginxにcacheを設定していなかったなと思い色々調べたところ、tmpfsにcacheを持たせられるらしいことがわかったので試してみました。arakoki70.comblog.katsubemakito.netblog.splout.co…

fediversesearchのソースコードを公開しました

fediversesearchですが、オプトアウトによる検索対象除外処理を実装できたのでクローラーを除くソースコードをひとまず公開しました。github.comgithub.comフロントエンドとバックエンドを分離しているのは、単に趣味なだけです。DBからむ実装とWeb系は分離…

mastodonで使用しているS3の設定とかを変えてみた

実は「パス形式での S3 API リクエスト」はいつかできなくなるかもしれないという話がありました。dev.classmethod.jpaws.amazon.comで、うちのサーバはバケット名にドット(.)を使用しているので完全にあかんのですね。なので、新規にバケットを作成しても…

fediversesearchの検索条件にサーバーのソフトウェア種別を追加しました

DBに格納されているURIに対してクロールを実行し終わり、有効なURIのうちサーバーのソフトウェア種別が取得できるものはある程度種類を絞り込んだうえでDBに保存しました。ソフトウェア種別に関してはどう取得したらいいか悩んでいたのですが、分散SNSのフォ…

fediversesearchのモバイル画面を修正しました

fediversesearchのモバイル画面ですが、いままでは「ひとまずスマホの画面に収まるぐらいのサイズで」という感じで検索結果を出していました。 今のところ取得できるサーバの情報もほぼ取得し終わりましたので、もう少しまともな画面に直しました。まずは、…

fediversesearchでロケール未指定の場合自動判別するようにしました

ロケール指定がない場合、デフォルト言語であるenを表示するようにしていましたが、さすがに不便だろうと思いましてロケール指定がされていない場合にブラウザの優先使用言語を取得して自動的に切り替えるようにしました。pisuke-code.comまずはパラメータ指…

fediversesearchのDBにデータがINSERTできなくなっていた

新しいデータのクロールをいい加減にしていたので気づかなかったのですが、セカンダリDBを昇格させたあとからINSERTに失敗していたようです。全文検索はできていたので問題が起きているとは気づかなかった。なぜ気づいたかというと、つい先日フォロアーが新…

fediversesearchに「登録可能」チェックボックスを追加しました

複数キーワードによるAND検索ができるようになったfediversesearchですが、できればユーザ登録可能なサーバーをサッと見たいですよね。ということで、「登録可能」チェックボックスを追加して、ユーザ登録できるサーバーを先に絞り込めるようにしました。デ…

fediversesearchの検索エンジンをPGroongaに変更しました

分散SNS専用の検索エンジンとして開発したfediversesearchは、まずはリリースすることを優先して検索機能は簡単にILIKEで実現していました。 この方法だと、複数キーワードでの絞り込みなどができないので、調べたうえでPGroongaを採用しました。採用理由と…

fediversesearchのAPIを公開します

www.fediversesearch.comで使用している検索APIを公開します。WebAPIですので、インターネットに接続できる環境であればどなたでもご利用になれます。URL: https://www.fediversesearch.com/search/ パラメータ: 「?keyword=キーワード」。キーワードには日…

fediversesearchにPGroongaを導入しました

fediversesearchですが、まずは検索できることが先だったのでILIKE指定によるキーワード1つの検索だけできるようになっていました。 先ほど、PGroongaを導入して複数キーワード指定での検索をできるようにしました。 導入方法は以下を参照しました。pgroong…

fediversesearchにmobile layoutを導入しました

分散SNSサーバの検索サービスであるfediversesearchですが、さきほどmobile layoutを導入しました。まあ、スマホとかの時は項目を削っただけなんですけどね。こういうのがこうなります。DBへの検索は変更していませんので単純に表示だけ違います。 サイトは…

分散SNSのサーバ・インスタンスを検索できるサービスを立ち上げました

分散SNSの投稿を検索できるサービスはあるのですが、サーバを検索するサービスが無いようなので作ってみました。www.fediversesearch.com今のところ、私のサーバ(popon.pptdn.jp)・mstdn.jp・mastodon.social・pawoo・fedibird.comの /api/v1/instance/pee…

mastodonを連合許可モード(旧:ホワイトリストモード)で立ち上げてみた

ちょっと実験も兼ねて、mastodonを連合許可モード(旧:ホワイトリストモード)で立ち上げてみました。ひとまず、ドメインとVPSを確保します。今回は、lightsailの2GBメモリモデル(月$10)を使用しています。OSはUbuntu 20.04です。 VPSが出来たらsshでログ…

Elasticsearchでたまに起きるエラーに対処する

mastodonでchewy:deployしているとたまにtimeout以外のエラーになることがあります。サーバ側のエラーを見てみると、このようなエラーが出ています。/var/log/elasticsearch/elasticsearch.log already closed by tragic event on the index writer java.lan…

自鯖に流れてきたtootを全文検索するのは面倒だなあ

mastodonの全文検索は標準ならElasticsearchを使います。今回はこの仕組みを使う上でのお話です。「DBを直接読めばいいやんけ」という人は頑張ってください。さて、この全文検索ですがいろいろ制限というか面倒な話があります。 標準のソースコードでは検索…