yamaguchi.txt

開発日記。備忘録代わりだよ。

ブラウザではアクセスできるのにcurlでhtmlが取ってこれない時

curlのUser Agentが弾かれているのかもしれません。ブラウザのUser Agentをホワイトリストにしてそれ以外を弾くようにしているサイトもあるみたいです。
何のUser Agentで通信しているかは、-vオプションを付ければわかります。

$ curl -A "Mozilla/5.0" https://www.example.com

などとしてUser Agentを偽装しましょう。

超古いサーバーからhttpsにcurlする時

curl: (35) Unknown SSL protocol error in connection to www.example.com:443

こんなエラーメッセージが出るときは、curlが使っているopensslのバージョンが古くて、tlsv1.2以降がサポートされていないのかもしれません。

curlとopensslのバージョンを確認する

$ curl -V
$ openssl version

opensslのバージョンが0.9.hogeだった場合はtlsの最近のバージョンがサポートされていないので、おそらくこれが原因です。

実際に通信しているsslプロトコルを調べる

$ curl -v https://www.example.com

標準エラー出力の中に以下のような行がある。

SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256

opensslのビルド

公式サイトから新しいopensslをダウンロードしてきます。

$ export CFLAGS=-fPIC
$ ./config --shared
$ make -j 4
$ sudo make install

正しくインストールされているか確認する

openssl version

パスを通しておく

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib

curlをビルドする

公式サイトから新しいcurlをとってきます。

$ ./configure --with-ssl=/usr/local/ssl
$ make -j 4
$ sudo make install

with-sslがないと新しいopensslが使われないので大事。

バージョンを確認する。Protocolsにhttps,FeaturesにTLSがあることを確認する。

$ curl -V
curl 7.33.0 (x86_64-unknown-linux-gnu) libcurl/7.33.0 OpenSSL/1.0.1g zlib/1.2.3.3 libidn/1.15
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

これでhttpsに対してもcurlが動くはず

トラブルシューティング

$ curl: (1) Protocol https not supported or disabled in libcurl

こんなエラーメッセージが出た時は、curlをビルドするときにopensslが紐づけられていないのでhttpsに非対応になっている。--with-sslをつけてconfigureしよう。
curlを./configureするとエラー出力の一番最後にビルド情報が載っていて、そこに対応プロトコルが載っているはず。httpsに対応していることを確認する。

QTcpsocketがwriteされない時

全くwriteされない、もしくは意図していたのと違うパケットがtcpでwriteされてしまった場合、デフォルトで有効になっているNagleのアルゴリズムが原因かもしれません。

できるだけまとめて送られてしまうので、逐次的にwriteしたい場合などはsocket->waitForBytesWritten();をwriteの後に書くと正しい挙動になってくれます。

socket->write("hoge");
socket->waitForBytesWritten();

QAbstractSocket::LowDelayOptionでNagleを無効にできると公式ページでは書いてありますが、少なくとも私の環境では無理でした。

留年の、その後

前書き

三月の中旬にfacebookツイッターで留年した旨を報告しました。
新学期が始まってから、いろんな人に"今どうなってるの?"と聞かれることが多いので、現状を綴ろうと思います。心配や気にしていただいた方、本当にありがとうございます。

結論から言うと:
理情の授業にもフルに出れていて、他の活動も色々としていて、人生が超充実しています。
本当に背水の陣であることには変わりがないのですが、私は追い詰められたほうがハイになってパフォーマンスが上がるタイプみたいです。

以下、経緯を詳しく説明します。

留年した経緯

前期教養の総合科目のE系列を勘違いしていました!

総合科目を"E,F系列に渡って"取らないといけなかったのをF系列しか取っていませんでした。
私の他に3人、全く同じ原因で留年した同級生がいます。
新入生はほんと気を付けましょうね、教務課は何の連絡もしてくれませんから。

理情の授業に出れることになった経緯

制度についてご説明

東大の一二年生は入学したら全員教養学部という所に入れられます。教養学部と三四年生の工学部、理学部などは事務の方が"教養学部は別の大学って感じだから…"と言うくらい離れた組織です。

私は理学部に内定していたのですが教養学部を卒業できなかったため、理学部に進学できないという状態です。

教養学部と理学部は別の組織なので理学部の方からどんなに言っても教養学部で出た留年という判定を覆すことはできません。

今回の措置

今回私が特例で認めてもらった措置は(大部分の科目について)今年度普通に実験、テストなどを受けたら、来年の進学後に単位が降ってくるというものです。前例はないらしいです。
(大部分の科目について)というのは、4つの講義でまだこの件に関して教授に相談ができていないが、それ以外の科目については認められそうである、ということです。この4つの講義というのは全部座学でテスト科目なので、最悪の場合でも来年テストだけ受ければ良いので負担は全然重くないです。

ロッカー、パソコン、wifi…なども支給していただき、毎日本郷に通い、三年生と全く変わらない待遇を受けさせてもらっています。
唯一違うことは、私の学生証が教養学部のもので理学部のものではないので、深夜や土日など七号館の鍵が閉まっている時に私の学生証じゃカードリーダーが通してくれないということくらいです。しかし、他の人と一緒に入ればいいだけなので全然大した問題じゃありません。

特例を認めてもらえた経緯

三月末にいきなり学科長からお呼び出しがあり、今回のような人権が認められる措置になったことを告げられました。
留年してから事務の方とも密に連絡を取っていたし、理情の仲の良い先生が学科長に怒りのメールを送ってくれていたらしく、(それでなのかは知りませんが)教授会議が開かれ決定したみたいです。

留年した当日から直ぐに本当に色々な人 (理学部や理情や仲の良い先生や、受かっていたSVAPプログラムの事務局や(SVAPに関しては理学部のプログラムなので行けなくなりました)、先輩方、facebookツイッターなど) に報告や相談をして連絡を取っていたおかげだと思います。相談やアドバイスをくれた方、本当に本当にありがとうございます。

教養学部の授業

理情の授業に出つつも、不足しているE系列などを取るために駒場に通わないといけません。
S1の一単位だけで終わるE系列と、文系総合科目を取ることにしました。
時間割はこんな感じになります。

今学期はどうするのか

ここまで色々やってもらったのに中途半端な成績を取るわけにはいかないし、駒場の点数も下げるわけにはいかないので、授業を優先して色々活動をします。
普通に留年して暇になるものだと思って応募してしまった時間が取られるプログラムもあり、もし仮にそれに受かったりしたら本当にヤバいです。これに関しては結果が出ていないので未定ですが。
他にも、バイトは楽しいし、最近clangにパッチを投げたりなどしてOSS活動ももっとできたらいいな、と思っているのでやることはたくさんあります。大学入ってから一番忙しいかもしれません。

過労死することはあるかもしれませんが、鬱病で死ぬことは絶対にないのでその点に関しては安心していただければなと思います

今後ともよろしくお願いいたします。

techgirlでLTしたよ

昨夜は@kamapuさんにお誘いいただき、techgirlというイベントに参加してきました。


techgirl.doorkeeper.jp

みなさん普通にIT企業にバリバリ勤めていらっしゃる方が多く、普段あまり外の世界と関わらない私にとっては"世の中にはこんなに女性エンジニアがいるんだなぁ"という感動がありました。
LTでは仕事の話が多く私が発表した"/etcを歩く"は完全に浮いてしまっていたのですが、会社の人ってこんなこと考えてるんだーと勉強になりました。
今度からはもっとウケのよさそうな話題を提供するぞ…。

/etcを歩く

/etcのファイル・ディレクトリの小ネタです。
会場がハートビーツさんというサーバー管理の会社で、完全に釈迦に説法状態になっていて怖かったです。

一応スライドはあるのですが、口頭で話すつもりだったので情報量が0なので是非画像の方を見てください。

www.slideshare.net


f:id:yamaguchi_1024:20170409012915p:plain
話そうと思っていた内容は
・thermaldとかいうの、CPUの周波数を監視して冷却するデーモン
・brlapi.key brltty 盲目な人用の点字ディスプレイデーモン 
・magic スペシャルファイル。Fileコマンドが使用するmagicファイル。例えばelfなら7f45からはじまるマジックナンバーを見て、どのファイルか決める
・security ユーザーごとのリソース制御 cpu何コアとか、メモリ何ギガとか
・securetty rootがログイン可能なターミナル tty0,1…
・init系 init と init.dの違い。Linuxで初めに立ち上がるinitデーモンで、古いSysV init の定義ファイルがあるのがinit.dで、新しいUpstartの定義ファイルがあるのがinit. Initのほうが新しいんですね。
・network 基本的な設定。よく使うやつ。
・networks デフォルトは空。ネットワーク名とネットワークアドレスの対応を書く
・subgit gitをsubversionに移行
・passwd ユーザー名、ホームディレクトリ ここにはパスワードは書かれていない,shadow パスワードの実態
debian_version,os-release,lsb_release,issue ディストリやバージョンを取得



半分も話さないうちに時間切れになってしまいました…。
タイムマネジメントしような。

サイバーコロッセオに参加したよ

3/5に秋葉原で行われたサイバーコロッセオ×SECCONというCTFの大会にチーム_hodge+mamaとして参加しました。結果は10位。まぁまぁです。
東京2020公認プログラムらしいです。あまり意味は無さそうですが承認欲求が満たされますね。

今回はオンサイトなのでking of the hill方式ということで、jeopadyとはちょっと変わった感じでした。
可視化エンジンはNIRVANA改で、攻殻CTFの時に見たAMATERASとはちょっと違う気もしました。NIRVANAのほうが若干オシャレな気がします。

今回の教訓は、絶対に性能の良いノートPCを買おうな!!!!!ということです。
素因数分解、scapy等ちょっと重い処理をさせたらフリーズし、競技中10回は電源をブチ切ったので頭の血管が破裂しそうでした。

個別の問題の感想はディスりになってしまうので省略しますが、SECCONだなぁ…という感じでした。
第六問の謎プロトコルモールス信号を二時間くらい考えて思いつかなかったのは本当に世界一頭が悪かったと思います。深く反省しています。
競技時間が短いからか、時間がかかるrevとかpwn系よりも思いつくか思いつかないか、知ってるか知ってないか系の問題が多かったと思いました。


f:id:yamaguchi_1024:20170306213756j:plain
f:id:yamaguchi_1024:20170306213807j:plain
NIRVANA改。おしゃれですね?

f:id:yamaguchi_1024:20170306213814j:plain
f:id:yamaguchi_1024:20170306213837j:plain
SAO好きにならねば…。と思って見たのですが安直なハーレム的な感じが好きになれませんでした。攻殻機動隊でいいよ。

f:id:yamaguchi_1024:20170306213844j:plain
証明がめちゃくちゃ青かったので自殺防止か?と思いました。

鬼畜眼鏡布教ブログ

高校生の時からやってみたいなと思っていた、鬼畜眼鏡という18禁BLゲームをプレイしました。
ありえないくらい良かったので布教するために記事を書きます。

まぁとりあえずOPを見てみてください。いいですよね。
www.youtube.com


今までやった18禁ゲーム(とは言っても恋姫無双と沙耶の歌しかないが)の中でシナリオがダントツに良く、今までの人生の中で初めて主人公が一番好きになりました。
BL好きな人でも好きじゃない人でも、誰にでもおすすめできるゲームです。鬼畜とは言ってもそこまでハードな凌辱はないし、何といってもシナリオが神なので是非プレイしてほしいです。

あらすじ

(公式HPより)
何をやっても裏目に出てしまい、失敗ばかりの営業マン、佐伯克哉。
リストラを目前にして、半ばあきらめていた彼の前に現れたとある人物。

  「これを身につけた瞬間から、あなたの人生は大きく変わります」

そういって手渡された、なんの変哲もない眼鏡。
それをかけた瞬間から、彼の人生は180°変わり始めた――。

その眼鏡をかけている間は、人が変わったように有能に仕事がこなせるようになったのだ。これで俺は今までの駄目な自分を捨て、変わることができる。

しかし、断片的によみがえる眼鏡をかけているときの自分の行動。 
これは本当に俺なのか? 一体俺は何をしているんだ?
そう、その眼鏡は、なんとかけた者を鬼畜に変える禁断のアイテムだったのだ…。

眼鏡の着脱によって、弱気な主人公(受)から鬼畜な主人公(攻)へと変身できる、アダルトリーマンラブストーリー。


感想

太一ルート→本多(ノーマル)→片桐→御堂(ノーマル)→本多(眼鏡)→アキ→御堂(眼鏡)
の順で攻略した。

太一ルートはシナリオが厚く説得力があり本当に良かった。太一の言動は納得できる人が多いのではないだろうか。
太一は克哉の家の近くにある喫茶店の店員。ちゃらんぽらんな感じがする一見普通の大学生だが、ストーリーを進めると太一の育った環境やその倫理観に驚くことになる。
歪んだ愛情ルートは最高だった。太一は克哉のことを「ここにいるのに、いない」と形容していたが、歪んだ関係になってしまうルートでは、克哉のことをどれだけ凌辱して侍らせても自分のものになったという満たされない気持ちだったんじゃなかろうか。救われなくて最高。
太一ルートと本多ルートは受け克哉が一番幸せになるルートなんじゃないだろうか。


片桐はあまり期待していなかったが、結果的には激シコだった。バツイチの課長がメンヘラ乙女だって誰が想像する?
仕事の能力も低く誰にも必要とされていないと感じ続けた片桐にとって、凌辱という行為であっても眼鏡克哉が自分を必要としてくれるのが嬉しかった。バッドエンドの刺殺ルートも他のキャラの刺殺よりCGがあるなど気合が入っており、メンヘラ感が出ていて非常に良かった。
「それは、僕が気が利かないおじさんだからかい?」
眼鏡克哉に凌辱され依存させられて捨てられた時に縋りついていったセリフがこれって、どんだけいじらしんだよという感じだった。
バッドエンド快楽落ちの時の「次は、僕も…」というセリフも可愛くて最高だった。


本多ルートは、王道というか克哉の心の闇を一番理解して慰めてくれるルートだった。
本多は克哉の同期で同僚で、ウザいくらい熱血な男なのだが、克哉との心の摩擦というかすれ違いがアツくて最高だった。
単細胞脳筋な所は攻めでしかなく、ノーマル克哉に対する優しい攻めはもちろん、眼鏡克哉に対しても対等?に攻めようと努力し(受けだが)ちゃんと自我を保っているところがすごい。
約束された攻めという感じ。


御堂攻めルートは王道凌辱という感じ。まあ普通?個人的には電話口であえぐ克哉の声を聴いて好きになっちゃう本多が救われなさ過ぎて好きだった。
御堂受け、あまり期待してなかった分刺激が強かった…。御堂ただでさえ美しいのに一年後に告白した時のCGが絵になりすぎて泣いた。
君は、強姦されると好きになっちゃうタイプのフレンドなんだね!って思っていた。
どれだけ凌辱されても絶対に屈しない芯の強さはもちろん、あんなことされても好きと言われただけで憎しみから愛情に変わってしまう繊細なところも最高。


アキは、ビジュアル的には好みなのだがシナリオが薄い感じがした…。残念…。
受けはアキみたいな淫乱猫みたいな感じより、堅物で真面目だけど弱気…みたいなのが好きなので微妙だった。
もうちょっと一ひねりあっても良かったんじゃないかな?


個人的には、学園ものなんかよりも舞台が会社でビジネスビジネスしているところがツボだった。世の中のリーマンすべてに優しい気持ちを持てるようになった。
エロシーンも良いのだが、それよりもホモが哲学しているシーンが好きということに気が付いたので、そういうゲームがあればぜひ教えてほしい。


ノーマル克哉は本当に最高で、こんなにMで可愛くて幸せにしたくなってシコい主人公はいないと思う。太一は「克哉さんって幸薄そうな感じ・・・。幸せにしたくなる感じ!」と言っていたが、本当にそうだし太一とはつくづく気が合うなぁと思う。
BLの主人公は幸薄そうであればあるほど、そこから救い出してくれる攻めが愛おしくなるから良い。
片桐とノマ克はまさに優しい弱気リーマンで、この二人に幸せになってほしいと心から思うのに、二人のルートがないことがさみしい…。
どちらが攻めでもなく、ゆるゆるとお互いに支えあう生活ができると思うんだけど…。