Skip to content

Instantly share code, notes, and snippets.

@masakielastic
masakielastic / README.md
Last active March 3, 2026 05:21
HTTP/3 関連のローカルビルドのための設定ファイル・改訂版

HTTP/3 関連のローカルビルドのための設定ファイル・改訂版

OpenSSL のビルドオプションを修正して $HOME/.local/lib にインストールされるようにする。

./Configure \
  --prefix=$HOME/.local \
  --openssldir=$HOME/.local/ssl \
  --libdir=lib \
 linux-x86_64 shared zlib
@masakielastic
masakielastic / README.md
Created March 2, 2026 09:29
io_uring でエコーサーバー

io_uring でエコーサーバー

sudo apt update
sudo apt install -y build-essential liburing-dev
gcc -O2 -Wall -Wextra -pedantic -std=c11 -o uring_echo uring_echo.c -luring
./uring_echo 12345
@masakielastic
masakielastic / 02-server.go
Created March 2, 2026 07:29
go-quic で echo サーバー
// server.go
package main
import (
"context"
"crypto/tls"
"fmt"
"io"
"log"
@masakielastic
masakielastic / 01-README.md
Last active March 2, 2026 06:22
aioquic で echo サーバー

aioquic で echo サーバー

uv init
uv add aioquic

@masakielastic
masakielastic / 01-README.md
Created March 2, 2026 05:58
aioquic でハンドシェイクのみ

aioquic でハンドシェイクのみ

uv init
uv add aioquic
uv run python client.py
@masakielastic
masakielastic / 01-README.md
Last active March 1, 2026 21:53
PHP RFC: Polling API の最小限の実装

PHP RFC: Polling API の最小限の実装

@masakielastic
masakielastic / README.md
Last active March 1, 2026 11:12
ngtcp2 と GnuTLS で QUIC サーバー

ngtcp2 と gnuTLS で QUIC サーバー

サーバ起動:

/usr/sbin/gtlsserver 127.0.0.1 8443 /tmp/nghttp3-localhost.key /tmp/nghttp3-localhost.crt

クライアント実行:

@masakielastic
masakielastic / README.md
Created March 1, 2026 10:55
ngtcp2 と GunTLS でクライアント

ngtcp2 と GunTLS でクライアント

Debian 12 上で libngtcp2-devlibngtcp2-crypto-gnutls-dev を使って ビルドできるように調整した client.c のサンプルです。

Requirements

  • Debian 12
  • libngtcp2-dev
@masakielastic
masakielastic / README.md
Last active March 2, 2026 04:36
OpenSSL で QUIC クライアント

OpenSSL で QUIC クライアント

ローカルビルドした OpenSSL の証明書のパスが不適切な設定であるために手間取りました。 証明書を設定して適切に動くかどうかどうかは次のコマンドで確認することができます。

openssl s_client -4 -connect nghttp2.org:443 -servername nghttp2.org -tls1_3 -CAfile /etc/ssl/certs/ca-certificates.crt </dev/null

また IPv6 では接続できない現象もあるので、IPv4 に固定して実験を行いました。

@masakielastic
masakielastic / README.md
Last active March 1, 2026 01:46
HTTP/3 関連のローカルビルドのための設定ファイル

HTTP/3 関連のローカルビルドのための設定ファイル

サブシェルで一時環境を使う」方式

h3 curl -V
h3 h2load --version
h3 nghttpx --version
h3 openssl version