プロキシ環境変数を設定するランチャを作った

最近はUnityと戦っていたりします。で、Webとの通信を見るためにFiddler使いたいなぁと調べたらUnityはプロキシ設定を環境変数http_proxyから取ってくる。

グローバルに設定するとこの環境変数を読む他のアプリケーションと競合します。例えばdropboxFiddlerのメモリを食い尽くすとか。

要はプロセスが上がってくる際に環境変数が設定されてればいいので、簡単なランチャを書きました。

github.com

やってることは単純でSetEnvironmentVariable環境変数設定してCreateProcessで子プロセス生成して即座に終了するだけ。この程度で.NET使うの牛刀感溢れるのでWTL使ってさくっと作りました。

京大マイコンクラブと旅するわたし

この記事はKMC Advent Calendar 2015 17日目の記事です。

何故か参加ボタンをポチってしまったwalkureです。TwitterとかのIDは取れなかったのでW53SA*1
今は東京で何故か土木っぽいことしてます。

昨日は京大マイコンクラブに東京の大学生が入った話 - 型想い三年でした。

で。

ポチった最初はnode.js/地震計とか書こうと思ってたんですけど、今月に入ってから四時間の通勤電車で精神力が消費される日々になってしまい毎日しんどくて現在休止中。。。。。。。。

ということで、他の人達とは毛色の違うことを書くことにしました。

*1:当時使ってた携帯

続きを読む

艦これ専ブラのソースをgithubに投げた

長らく専ブラいじれてないというか日々消耗してなんもできてないのでソース公開しました。

コピペした部分は記憶とソースコードの記録にあるかぎり書いたのですが、なんか足らなかったら指摘してください。

今のところ、遠征と時々演習を回すことしかしてないですね。朝遠征回して夜帰ってきて演習回すとかそんな感じで。

ShadowsocksでURI検閲HTTPプロキシを越える

中南海による言論統制システム金盾を越える為にいろんなVPNソフトウェアがありますが、その一つにSOCKSv5プロトコルを暗号化して飛ばすShadowsocksがあります。最近では開発者の家に警察がやってきてソースコードgithubから消すのを強要される事件がありましたが、既にもりもりforkされていました。サーバもpipに残ってるしOSSって強いね。作者さんは無事でしょうか、、、、

さて、日本でもネットワークによっては検閲プロキシなどの壁が存在するので当然壁を壊しにゆきます。昼休みぐらい艦これさせろ。

HTTPプロキシを越える手段としては、CONNECTメソッドがあります。この手で壁を超える際に使うのはstoneが有名です。CONNECTメソッドの詳細はRFC 2817あたりですが、簡単に言うと「指定のホストへの通信を中継する機能がある」わけです。なんに使うかって言うとRFCにあるようにSSL通信で、SSL通信はバイナリデータをサーバとクライアントの間でやりとりする必要があります。

CONNECTメソッドの動きは簡単で、CONNECTでリクエストを投げると、HTTPレスポンスが返ってきた後にリクエストで指定したホスト:ポートへのtcp接続を中継してくれます。stone使った場合のはこんな感じ。

Shadowsocksと一緒にstone起動してもいいんですが、せっかくソース公開してるので改造してCONNECTリクエスト投げて、HTTPレスポンスを無視する機能をTCPリレー部分に突っ込んでみました。これだと単にShadowsocks.exeを起動するだけで壁を越えてくれます。やったね。

ソースはforkしたgithubに突っ込んでバイナリもreleaseしてみた*1しれっとレゾルバがIPv6アドレス無視するようにしてありますが、これはデバッグ中にpolipo使ってたけど127.0.0.1でしかbindしてくれなくてlocalhostで解決した際に最初に::1が返ってくるとコネクション貼れない場合があったんですが最高に馬鹿っぽい感じがしますねこれ。

これで晴れて壁を越えて世界の知にアクセスできるヤッターとか思ってたけど、出口設置したさくらVPS2ch.netからブロック*2されてるオチもあったり。

*1:Tag打たないとDraftから先に進まないって知らなくて暫くハマった。

*2:分裂騒動の影響ですね。

HttpListenerを使ってFiddlerCoreを代替してみた

今年の春先にFiddlerCore艦これの専ブラに使うのはライセンス的にダメなんちゃうって話が出たので、KCBrで使っていた部分だけを代替するものを.NET Frameworkが持ってるHttpListenerを使ってさくっと作って取っ替えました。

最初はTcpListnerでも少し書いてたけど、既に十分検証されていて使用可能なコードがあるのに自分で書くのは馬鹿すぎるので止めました。

続きを読む

表をOCRで処理する

この業界、頭が異様に悪くて何故か表をAutoCADで描いたりします

構造をもった電子データであるという認識を捨てて単なる画像として処理することを考えて手段を探すと色々と術が見つかってきました。紙で渡されるのとほとんど同じ処理をするハメになるわけですね。ひたすらOCROCROCR,,,,,

で、AutoCADで描かれた表を手打ちしたら死ぬのでOCRです。

続きを読む