Category: Linux

  • Discourse

    플로팅 방식의 게시판을 알아 보고 있다. Gemini 는 Discourse를 추천해 주었다. 우선 도커 환경에서 시험해 보기로 했다. 공식 설치 가이드라인은 다음과 같다.

    도커 설치는 이미 되어 있다고 하자.

    git clone https://github.com/discourse/discourse.git
    cd discourse

    임의의 폴더에 설치 파일을 다운 받는다.

    d/boot_dev –init

    In one terminal:
    d/rails s

    And in a separate terminal:
    d/dev –only ember

    이게 공식 가이드라인 내용이다. 이렇게 설치하면 로컬에서만 접속 가능하다. 난 boot_dev에서 로컬 주소를 변경하는 것으로 했다. boot_dev 내용을 보면 –net-public 을 이용해도 되는 것 같다.

  • Iosevka

    이렇게 입력하면 관련 파일을 다 받을 수 있다.

    curl -s 'https://api.github.com/repos/be5invis/Iosevka/releases/latest' | jq -r ".assets[] | .browser_download_url" | grep PkgTTC-Iosevka | xargs -n 1 curl -L -O --fail --silent --show-error

    Gemini에게 D2Coding 처럼 폭이 좁은 고정폭 서체를 추천해 달라고 했다. 조건은 작은 글씨에서도 가독성 있을 것으로 말이다. 그래서 추천 받은 글꼴이 Iosevka 이다.

    글자 폭은 비슷한데 글자가 좀 더 얇아서 더 늘씬하게 보이는 것 같다.

    위쪽이 D2Coding, 아래가 Iosevka 이다.

  • ODoH(Oblivious DNS over HTTPS)

    DoH 보다 조금 더 익명성에 신경 쓴 표준. Gemini에서 방법을 물어봤지만 잘 되지 않아서 직접 웹 사이트를 보면서 Gemini 도움 받아가며 구현함.

    나의 dnscrypt-proxy.toml 설정은 다음과 같다. 구현 에 ODoH 서버와 릴레이 2개의 주소 목록이 필요하다. DoH 만 이용할 때 보다 응답 속도는 많이 느리다. <10 ms 였던 것이 200~400ms 가 된다.

    bootstrap_resolvers = ['1.1.1.1:53','8.8.8.8:53','9.9.9.9:53']
    listen_addresses = ['0.0.0.0:53']
    
    cache = true
    cache_size = 512
    
    odoh_servers = true
    
    [anonymized_dns]
    routes = [{ server_name='*', via=['*'] }]
    
    [sources]
    
      [sources.'odoh-servers']
      urls = [
        'https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/odoh-servers.md',
        'https://download.dnscrypt.info/resolvers-list/v3/odoh-servers.md',
        'https://cdn.jsdelivr.net/gh/DNSCrypt/dnscrypt-resolvers@master/v3/odoh-servers.md'
      ]
      minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
      cache_file = 'odoh-servers.md'
    
      [sources.'odoh-relays']
      urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/odoh-relays.md', 'https://download.dnscrypt.info/resolvers-list/v3/odoh-relays.md', 'https://cdn.jsdelivr.net/gh/DNSCrypt/dnscrypt-resolvers@master/v3/odoh-relays.md']
      minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
      cache_file = 'odoh-relays.md'
    
  • openssl rand

    숫자, 문자를 포함한 16자리 문자열 생성하기. 0-9, a-f 까지만 이용함.

    $ openssl rand -hex 16
    7596387ec579bba992acb1af7acd23cd

    대소문자, 숫자, 특수문자를 포함한 16자리 문자열 생성하기

    $ openssl rand 128 | tr -dc 'a-zA-Z0-9!@#$%^*()' | head -c 16; echo
    bnc0DI8EQHEu#Kp0