linux

某VPNの設定を半自動化する小汚い小スクリプト群

何をしているのかわからない人はやらないほうがいいです 俺もわからん. 某VPNはセットアップが楽ちん さらに楽にするために半自動化します. その場しのぎで書いただけで何も考えてません. 使用, 参考にする場合は要注意. 筆者の環境はArch Linuxだが, 執筆時…

SOLVED: なぜセグフォ?

最近現実逃避が捗りすぎて困っている. 最近は低レベルのコードとかよくわからないので勉強している(遊んでいるだけ). このC言語のソースコードは, x86_64のLinuxなら動く環境があると思う. const unsigned char main[] = { 72, 199, 192, 1, 0, 0, 0, 72, 19…

某ディストリビューションで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>…

How to Play an Encrypted Video File Directly with openssl and mpv

openssl と mpv を使用して暗号化された動画ファイルを直接再生する方法 やむを得ない事情により, 復号したファイルを保存できない場合があるかもしれない. opensslと mpv を使用することで, 暗号化された動画を直接再生することができる. Example Assume th…

Linux Kernel の黒魔術マクロ: __is_constexpr(x)

__is_constexpr(x) は Linux kernel 4.17 で導入されたマクロで、与えられた式が定数式であるかを 式を評価せずに 判定する。 /* * This returns a constant expression while determining if an argument is * a constant expression, most importantly wit…

ExcludeNodes の設定を半自動化

追記 ExcludeNodes, ExcludeExitNodes の設定は参考サイトから丸パクリして載せていましたが, 消したようなので消しました. このプログラムは, BadExit の付いたノードが一つも存在しない場合の処理が抜けています. 気が向いたら直しておきます.直しました. …