Raspi日記 https://diary.raspi0124.dev/ Just another WordPress site Mon, 15 Jul 2019 05:32:47 +0000 ja hourly 1 https://wordpress.org/?v=5.6 https://diary.raspi0124.dev/wp-content/uploads/2019/04/cropped-cropped-IMG_1752-4-192x192-1-32x32.jpg Raspi日記 https://diary.raspi0124.dev/ 32 32 HAProxyでMinecraftのプロキシサーバーの構築してみた https://diary.raspi0124.dev/post-4329/ https://diary.raspi0124.dev/post-4329/#respond Mon, 15 Jul 2019 05:16:05 +0000 https://diary.raspi0124.dev/?p=4329 はい! 期末がやばかったraspi0124です!最近記事書いてなかったことに気付いたのでちょっと記事を水増ししようと書いてみました。

半年ぐらい前に書いた記事ではNginxを使ってプロキシングを行っていたのですがやはりNginxはもともとそういった目的のために作られてはいないことだけありちょっと設定が複雑だったのでHAProxyでの構築も紹介しておきたいと思います。

THIS ARTICLE CORRESPONDS TO プロキシ(Nginx)鯖の構築[中継鯖] part on this article.

HAProxyのインストール

環境: Ubuntu Server 18.10
sudo apt install haproxy
Nginxとは違い標準で対応しているので普通にaptでインストールしてみてください

設定

こっちもNginxと比べてシンプルになってます。
sudo nano /etc/haproxy/haproxy.cfg

以下の感じで一番下に追記してください

10.0.0.1の部分はMinecraftサーバー側のアドレスとポートに適当に置き換えてください。

おしまい

HAProxy、やっぱり簡単ですよね。ということで以上です。これでSpigot鯖が起動していればプロキシサーバーの25565ポートに接続して遊べるようになったはずです。

 

]]>
https://diary.raspi0124.dev/post-4329/feed/ 0
ContributterにプライベートレポジトリのContributionを含めてあげる方法 https://diary.raspi0124.dev/post-4305/ https://diary.raspi0124.dev/post-4305/#comments Wed, 24 Apr 2019 15:18:28 +0000 https://diary.raspi0124.dev/?p=4305 意外と知られていなかった(自分も無意識にやってた)のでちょっと。

Contributterはまあこの記事に来るようなことならご存知だと思うんですが一応説明しておくとContributterはこんな感じでGithubのContribution数を毎日0時に自動的にTwitterに送ってくれるサービスです。周りの人大体使ってる気がします。

それでは本題です。まあ簡単なんですけどね。

まずあなたのGitHubのプロフィールページ(https://github.com/raspi0124 みたいな感じのやつです)に行きます。そしてちょっとスクロールします。ちょっとスクロールすると

みたいな感じの画面があるので Private contributionのところをクリックしてチェックしてあげれば完了です。次の日のContributterにはたぶんプライベートレポジトリのContribution数も含まれて表示されるようになっていると思います。以上です。

]]>
https://diary.raspi0124.dev/post-4305/feed/ 2
Pythonでstrとlistを相互変換してみた https://diary.raspi0124.dev/post-4273/ https://diary.raspi0124.dev/post-4273/#respond Wed, 03 Apr 2019 04:16:11 +0000 https://diary.raspi0124.dev/?p=4273 なんかsqlite使ってたらリストをsqliteに流し込めないっぽかったのでPythonでstrとlistを相互変換してみた話です。

 

基本的にはこんな感じでいいと思います。一応やってることを説明しておくとlist_to_strではリストの要素を全部繋げて(join()して)要素の間に;をはさんであげてるだけです。

でstr_to_listでは逆に;で区切ったものをリスト化(split)してるだけです。

]]>
https://diary.raspi0124.dev/post-4273/feed/ 0
Android StudioでRunとかがグレーになっているときは。 https://diary.raspi0124.dev/post-4264/ https://diary.raspi0124.dev/post-4264/#comments Sun, 31 Mar 2019 14:18:23 +0000 https://diary.raspi0124.dev/?p=4264 最近ちょっと昔挫折したAndroidアプリ開発に再チャレンジしようと思い始めてAndroid StudioをインストールしたまではよかったのですがTeratailとかに乗ってた解決法全部試してもなぜかrunできなくて結構詰まってたので共有。

状況: ただNew ProjectからBasic Activity選んで適当に建てただけの初期状態

さてgdgdしてないで本題に突っ込みます。

なんかいろいろ解決法がありましたが(自分の場合は)単純でした。

1. まず右上らへんにある”Add Configuration”というボタンをクリック

2. で、ポップアップしてきたウィンドウの左上にあるプラスボタンをクリックしてください

3. ポップアップしてきたメニューの一番上にあるAndroid Appをクリック

44.とりあえず適当に名前つけてください。Module変更も忘れずに。終わったらApplyしてOK.

5. 終わったらRun機能が緑色になっていると思います。お疲れさまでした!

]]>
https://diary.raspi0124.dev/post-4264/feed/ 1
Haproxyが起動できないときの解決策 https://diary.raspi0124.dev/post-4256/ https://diary.raspi0124.dev/post-4256/#respond Thu, 21 Mar 2019 14:41:18 +0000 https://diary.raspi0124.dev/?p=4256 Haproxyいじってたら初回は起動するのに二回目以降起動しないという何とも言えないことが発生したので備忘録的に。

小1時間ほど悩んでググりまくってたらこちらのスレッドを発見。どうやらserviceファイルを書き換えれば動くらしい(ってかこのスレ3年前。。3年たった今も直されてないとかどういうこと..)

というわけでUbuntuだったら

cd /lib/systemd/system

して

sudo mv haproxy.service haproxy.service.backup

して

 

な感じの内容を

sudo nano haproxy.service

してあとはコピペすればok。あ、デーモンのリロードも忘れずに

sudo systemctl daemon-reload

これで終わり。疲れた。

]]>
https://diary.raspi0124.dev/post-4256/feed/ 0
ロックファイル的なものをPythonで実装する..? https://diary.raspi0124.dev/post-4254/ https://diary.raspi0124.dev/post-4254/#respond Mon, 18 Mar 2019 10:46:13 +0000 https://diary.raspi0124.dev/?p=4254 ちょっとMonage Discord Editionのほうでいろいろあったので対策としてロックファイル的なものを実装したので載せとく。ぶっちゃけロックファイルというかはかなり微妙。

目的

コマンドが一気に大量に送られてちょっとしたエラーが発生したり本来一日一回までのコマンドが複数回不正に実行されてしまうのを防ぐため

コード

みたいな感じ。

osモジュールが簡単そうだからosモジュール使ってみた

処理

コマンドが実行されたらまずロックファイルがないか確認してもしあったら動作をその時点で中止、なかったら”.ユーザーネーム_lock”的なファイルを作成してコマンドの動作が完了したら消す。これだけ。

 

]]>
https://diary.raspi0124.dev/post-4254/feed/ 0
Japanese Font for WordPressのフォント等の配信元の変更について https://diary.raspi0124.dev/post-4241/ https://diary.raspi0124.dev/post-4241/#respond Mon, 25 Feb 2019 13:35:19 +0000 https://diary.raspi0124.dev/?p=4241 こんにちは。Japanese Font for WordPress(旧名:Japanese Font for TinyMCE)を開発してるraspi0124です。Japanese Font for WordPressの一部CSS及び一部フォントの配信元(CDN)をバージョン4.10にて変更しましたのでお知らせします。

いままでJapanese Font for WordPressではrawgitというCDNサービスをNoto Sansフォント以外のすべてのフォントのロード及びCSSのロード元をCDNに指定した際の配信元として使用してきましたが、そのRawgitがサービスを2019年10月までに終了すると発表したため配信元をjsDelivrという別サービスにバージョン4.10にて変更しました。

この変更による不具合の発生の可能性は低いと思いますが万が一発生した場合お知らせください。

今後Japanese Font for WordPressではすべてのフォント及びCSSのロードをGoogle Cloud Storageによるものに変更可能にする予定ですがコスト的な問題もありしばらくはjsDelivrからのみの配信とする予定です。

なおこの変更についての質問等はこの記事のコメント欄またはraspi0124[at]gmail.comまでお願いします。([at]は@で置換してください)

これからもJapanese Font for WordPressをよろしくお願いします。

]]>
https://diary.raspi0124.dev/post-4241/feed/ 0
OpenVPNとNginxでポート開放せずにポートフォワーディングしてみた話[Minecraft] https://diary.raspi0124.dev/post-4233/ https://diary.raspi0124.dev/post-4233/#respond Sun, 24 Feb 2019 14:01:38 +0000 https://diary.raspi0124.dev/?p=4233  

 

さてさてまたまた定期テスト1週間前なのに記事書いてるraspi0124です。テスト前に限って記事が書きたくなるのはなんでなんだろう🤔

というわけで今回はちょっと知り合いからポート開放せずにマイクラ鯖を立てたいという極めてめんどくさい依頼を受けたのでせっかくだし記事にしてみました。今後このようなめんどくさいことをやる方にとってこの記事が少しでも時間短縮の助けになりますように。

はじめに

ぶっちゃけpingとかラグさを気にしないのであればすでにNgrokという素晴らしいサービスが存在しているのでそちらを使うことをお勧めします。ラグいラグいといってもせいぜい100-200msなのでまあ生活鯖とかだと許容範囲でしょう。無料版にはちょっと制限がかかってるっぽいですがまあ小規模鯖なら十分だと思います。

やりたいこと

ポート開放がなされていない環境にあるMinecraftサーバー(マンション内)にHamachi等を使わずに(エンドユーザーから見て)普通にアクセスしたい。

こんな感じ

マイクラ鯖があらかじめ中継鯖のVPNに接続しておいてVPN上のプライベートIPを取得して中継鯖上のnginxが中継鯖の25565ポートに届いたトラフィックをすべてVPN上にあるマイクラ鯖(10.8.0.2)の25565ポートに転送

記事上では以下のような構成を仮定してやっていきます

マイクラ鯖=ポート開放されてない。VPNネットワーク上でのIPは10.8.0.2

中継鯖=VPNとかプロキシがここに乗ってる。VPS等パブリックな環境でグローバルIPあり。グローバルIPはここでは123.456.78とする

ちなみにOSはUbuntu 18.04 LTSを使ってます

やりかた

openvpnの構築[中継鯖]

めんどくさいので適当にスクリプトをググって見つけてきたのですがちょっと古くて微妙にエラー出たのでちょっと改造してみたのでよかったらどうぞ。選択肢を選んでいくだけで簡単に構築できるのでかなり便利です。

ちなみにフォーク元は https://github.com/Nyr/openvpn-install です。

https://github.com/raspi0124/openvpn-install/blob/master/openvpn-install.sh

wget https://raw.githubusercontent.com/raspi0124/openvpn-install/master/openvpn-install.sh && sudo chmod +x openvpn-install.sh && sudo bash openvpn-install.sh

とするとたぶんこんな感じの質問が出てくると思うのでまあ適当にやっておきましょう。わからなければコメントしてくれればできる範囲で教えます。たぶん2番目の中継鯖のグローバルipが聞かれているところ以外はすべてそのままEnter押していけば大丈夫なはずです。


さて構築が完了したらユーザーのホームディレクトリに(Enterを押し続けた場合)client.ovpnというファイルができていると思うのでそれをsftpなりなんなりでマイクラ鯖まで持っていきましょう。

 

VPNへの接続[マイクラ鯖]

続いてマイクラ鯖でさっき構築した中継鯖上のVPNへ接続していきましょう。screenで実行するのがおすすめです。

sudo apt install openvpn && sudo openvpn client.ovpn

といった感じのコマンドを実行してなんかいろいろ流れた後Initialization Sequence Completedと出れば成功です。

マイクラ鯖のVPN上でのプライベートIP[中継鯖]

さてさてようやく中間地点までたどり着きました。

cat /etc/openvpn/openvpn-status.log

を実行してみると接続クライアント一覧が見れます。

 

OpenVPN CLIENT LIST
Updated,Sun Feb 24 13:19:50 2019
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
client,<マイクラ鯖のグローバルIP>:49091,5140,4893,
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
10.8.0.2,client,<マイクラ鯖のグローバルIP>:49091,<日付>
GLOBAL STATS
Max bcast/mcast queue length,1
END

とりあえず6行目の10.8.0.2の部分を次のパートで使うのでどこかにメモしといてください。

HAPROXYを使ったやりかたはこちら

↑ちなみにたぶんHaproxy使ったほうが楽です

プロキシ(Nginx)鯖の構築[中継鯖] (HAProxyのほうが個人的におすすめです。↑のリンクをどうぞ)

iptableでもポートフォワーディングできるらしいのですがなんか上手く行かなかったのでおとなしくnginx使います。

基本的にはhttps://qiita.com/ttk1/items/007bf1623519dc614c1b#nginx%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E8%A8%AD%E5%AE%9Aに沿って行けばいいのですがUbuntuだとsystemdの場所と書き方が違うのでそこだけ注意です。systemdの書き方とかは公式を参考にするといいと思います。ちなみにaptで入手したnginxではできないようなので注意してください。

参考までに自分のnginx.confを置いておきます。

とまあこんな感じです。注意点としては最初のほうにあるpidはsystemdのものと合わせないとうまく働かないので注意してください。あと10.8.0.2は一個前のパートの“マイクラ鯖のVPN上でのプライベートIPを確認”で確認したもので適当に置き換えないと動かない感じです。ファイヤーウォールの開放も忘れずに。

 

おしまい

あとはマイクラ鯖のほうでspigotなりなんなり立ち上げてあげれば中継鯖のIPアドレスでマイクラ鯖に接続できると思います。さすがにspigotのインストール方法とかはネット上に山ほどあるのでここでは解説しないでおきます。

あとめっちゃ眠い中書いたので日本語がよくわからなかったり意味が分からない部分があると思うのでわからなかったりしたらコメントしてください。

この記事を読んでくれてありがとうございました。

参考にさせていただいたサイト:

nginxをminecraftのプロキシとして使う

 

 

]]>
https://diary.raspi0124.dev/post-4233/feed/ 0
Japanese Font for Gutenbergの公開を停止しました。 https://diary.raspi0124.dev/post-4203/ https://diary.raspi0124.dev/post-4203/#respond Wed, 19 Dec 2018 16:11:04 +0000 https://diary.raspi0124.dev/?p=4203
2018年12月16日付でJapanese Font for GutenbergはJapanese Font for WordPress(旧名:Japanese Font for TinyMCE)へと統合されるため公開を停止しました。経緯等につきましてはこちらのほうに一部載せておりますのでよろしければそちらもご覧ください。

なお、いままでJapanese Font for Gutenbergに付属していたGutenberg対応機能はJapanese Font for WordPress上の設定にて有効化していただいたうえで引き続きご使用になれます。詳しい設定方法についてはこちらをご覧ください。

これまでのご使用ありがとうございました。これからもJapanese Font for WordPressをよろしくお願いします。


2018年 12月20日

raspi0124

]]>
https://diary.raspi0124.dev/post-4203/feed/ 0
Japanese Font for TinyMCEはJapanese Font for WordPressに生まれ変わりました https://diary.raspi0124.dev/post-4194/ https://diary.raspi0124.dev/post-4194/#respond Thu, 13 Dec 2018 14:11:41 +0000 https://diary.raspi0124.dev/?p=4194 さて、期末が終わって解放感で満ち溢れているraspi0124です。今回はちょっと重要な発表をしたいと思います。

Japanese Font for TinyMCEはJapanese Font for WordPressに生まれ変わりました

驚きましたか?まあタイトルがそうだからもうわかってるよっていう方が大半でしょうが。。というわけで理由とかいろいろ説明していきたいと思います


理由

まあこれ、単純にGutenbergのリリースに合わせて名前を変更した感じです。
今まではTinyMCE向けとしてきましたがGutenbergのリリース及びJapanese Font for TinyMCEプラグインのバージョン4.00でGutenbergのサポートを正式に開始したからっていうのが大きいです。あとユーザーの方々にGutenbergに対応してないと思われるのも避けたかったのも理由の一つです。

振り返り

このプラグインを作成したのが2017年の2月8日なので既に2年近くたってることに今気づきました。いま考えると実生活でもいろいろとあったなーと感じると同時にもう2年か。。って気持ちがすごいです。
あと昔はせいぜい500サイトぐらいでしか使われていなかったのがどんどん上がっていって今はもう4000サイト以上で使われているのはすごい感慨深いです。しかも昔は無名だったのが今では結構なブログに紹介されているのがめっちゃうれしいです。本当にいろいろあったなー、この2年ぐらい。

これから

これからは今までやってきたTinyMCE向けの日本語フォントサポートの提供だけでなくWordPress全体の様々なものに日本語フォントのサポートを提供していきたいと思っています。
目標はとりあえず使われているサイトが1万を突破することです!いまのペースだとちょっと時間がかかりそうですがもうちょっと頑張って宣伝したいです。

おまけ: バージョン4.00での変更点

最初は真面目にこれだけで終わらせようと思っていたのですがやっぱり少なすぎるように感じたのでプラグイン名の変更以外の変更点を出していきたいと思います。
まあもっともバージョン4.00ではそんなに変更点ないですが。

Gutenbergへの対応!

ぶっちゃけ今回のアプデはこれしかやってないです。実はこれ、半年ぐらい前に仮実装されてた機能なんですが最近になってチェックしてみたらいろいろと仕様が気付かないままに変わっていたようで再コーディングを余儀なくされました。。ちなみにデフォルトでは無効になっているので設定が必要です。

設定

まず管理画面(wp-admin)に入って左の黒い帯のところをちょっとスクロールしてもらうと”Japanese Font for TinyMCEの設定”というボタンが見えると思うのでそこをクリックしてもらいます。

そして”Gutenbergに対応させる(beta)”のチェックボックスをonにしてもらえればそれで終わりです。
ちなみにこんな感じになります

エディタ側:

フロント側:

こんな感じですね。

以上、おまけでした!それではまたいつか!
読んでくださりありがとうございました!これからもJapanese Font for WordPress (旧名: Japanese Font for TinyMCE)をよろしくお願いします!

]]>
https://diary.raspi0124.dev/post-4194/feed/ 0