Skip to content

Instantly share code, notes, and snippets.

@Hexa
Hexa / docker.md
Last active December 25, 2020 08:51
簡単な設定で Docker をもう少し気軽に使用する

Docker をもう少し気軽に使用する

Docker コンテナ上のサービスに外部からアクセスするためには、 ポートマッピングや、ホストネットワークモードを使用する方法がありますが、 これらの方法では他のコンテナとポートがぶつからないように気をつける必要があります。

しかし、例えば、検証のために同一環境だが別々のコンテナを立ち上げて同時に使用したい等の場合には、他のコンテナがどのポートを使用しているかは意識したくはありません。

そこで、ルータへの static route の追加と、Docker ホストへの簡単な設定のみで、 ホストのポートを意識せずにコンテナを立ち上げて使用できるようにしてみます。

@Hexa
Hexa / mdns.md
Last active July 19, 2020 14:00
docker で mDNS

Ubuntu 20.04 のコンテナの場合

avahi のインストール

# apt -y install avahi-daemon

/etc/avahi/avahi-daemon.conf の変更

@Hexa
Hexa / cert.md
Created February 3, 2020 03:22
Google Chrome で使用可能なオレオレ証明書の発行

Google Chrome で使用可能なオレオレ証明書の発行

  • 試したバージョン: Google Chrome 79.0.3945.130

オレオレ証明書を作成して Google Chrome で https でアクセスしようとした際に NET::ERR_CERT_INVALID のエラーになり、アクセスできなくなっていました

このエラーの場合は、無視してアクセスすることもできません

いくつか試してみたところ、証明書の Extended Key Usage に TLS WWW server authentication を付与することで、アクセス可能になることが確認できました (他の証明書エラーになりますが、エラーを無視することは可能です)

@Hexa
Hexa / s_client.sh
Created December 8, 2018 09:37
openssl s_client で sslkeylog.log を出力する
openssl s_client \
-connect localhost:18080 -tls1_3 -verifyCAfile ca.pem \
-no_middlebox -keylogfile sslkeylog.log </dev/nul
configure
set system login user hexa authentication public-keys hexa@local type ssh-ed25519
set system login user hexa authentication public-keys hexa@local key AAA...
commit
save
@Hexa
Hexa / edgerouter.md
Created November 23, 2017 09:32
vpn

L2TP

configure

set vpn ipsec nat-networks allowed-network 0.0.0.0/0
set vpn ipsec nat-traversal enable

set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret
set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret $secret
@Hexa
Hexa / Makefile
Created November 19, 2017 11:59
ifeq
.PHONY: all
b:
$(eval N := $(shell echo "100"))
p: b
ifeq ($(CMD),a)
$(eval B := $(shell expr $N + 10 ))
else
$(eval B := $(shell expr $N + 20 ))
@Hexa
Hexa / Dockerfile
Created November 2, 2017 16:06
headless browser
FROM hexa/chromium-browser:ubuntu-16.04
MAINTAINER Hexa <hexa.diary@gmail.com>
ENTRYPOINT ["chromium-browser", "--headless", "--disable-gpu", "--use-fake-ui-for-media-stream", "--use-fake-device-for-media-stream", "--no-sandbox"]
FROM ubuntu:16.04
MAINTAINER Hexa <hexa.diary@gmail.com>
ONBUILD RUN apt-get update && apt-get -y install \
chromium-browser \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
@Hexa
Hexa / tlsclient.cr
Created November 13, 2016 11:20
tlsclient
require "libtls"
ca_file = "/tmp/ca.pem"
host = "www.example.com"
port = "443"
exit if LibTls.tls_init() == nil
exit unless ctx = LibTls.tls_client()
exit unless config = LibTls.tls_config_new()
exit if LibTls.tls_config_set_ca_file(config, ca_file) < 0