Entries from 2018-09-01 to 1 month

C言語のmain関数の仮引数について

最近のC言語の規格では, main関数の仮引数は基本的に int main(void) か int main(int argc, char **argv) のどちらか(またはこれらと同等のもの)にしなければならない(C99, C11). のだが, 今日ネット上で int main(int argc, char **argv, char **envp) と…

某ディストリビューションでPythonパッケージを扱う

はじめに venvを紹介するだけの記事なので知ってる人は帰ってよし. 三行で $ sudo apt install python3-venv $ python3 -m venv ${PATH_TO_VIRT_ENV} $ source ${PATH_TO_VIRT_ENV}/bin/activate プログラミング言語のパッケージ管理システムは微妙 基本的に…

Internet Kill Switch by Firewall (OpenVPN + iptables)

タイトルの通り. このPythonプログラムはopenvpnの設定ファイルの remote <hostname> <port> を remote <ip address> <port> に書き換える. また, 書き換えたVPNサーバのIPアドレスへのアクセスを許可するiptablesのOUTPUTチェインの追加ルールを./rules.txtに保存する. iptables-restoreで読み</port></ip></port></hostname>…

安全でないストリーム暗号ARCFOUR

はじめに Wikipediaを見てみたらARCFOURのアルゴリズムが単純だったので実装してみた. 一応言っておくが, 暗号アルゴリズムの実装は素人がやるものではない. 参考記事: https://en.wikipedia.org/wiki/RC4 記事に書いてある通りに実装した. ソースコード /* …