torrc와 nginx로 개인 블로그를 .onion 히든 서비스로 직접 운영

torrc와 nginx로 개인 블로그를 .onion 히든 서비스로 직접 운영

  • 블로그를 Tor 히든 서비스로 올려 .onion 주소에서 서비스한다. /etc/tor/torrc에 HiddenServiceDir /var/lib/tor/blog/와 HiddenServicePort 80 127.0.0.1:8080을 넣고 Tor를 재시작하면 호스트네임 파일에 주소가 생성된다. Tor가 자체 암호화를 하므로 nginx는 TLS 없이 평문 TCP로 127.0.0.1:8080만 listen한다.
  • Hugo 사이트를 clearnet과 onion 두 벌로 빌드하고, onion 빌드의 baseURL에 .onion 주소를 넣어 RSS와 canonical, og:url 같은 절대 URL이 onion 밖으로 나가지 않게 한다. 배포 파이프라인이 push마다 대상별로 빌드해 각자의 웹 루트로 rsync한다.
  • 댓글에서 clearnet 사이트에 Onion-Location 헤더를 넣으라는 제안이 나왔고 작성자가 바로 반영했다고 답했다. Tor Browser가 방문자에게 onion 주소를 자동으로 알려주는 기능이다.
  • ISP가 CGNAT 뒤에 있어도 포트포워딩 없이 사이트를 열 수 있다는 점이 장점으로 꼽혔다. 반면 onion v3 주소는 구두로 전달할 수 없고, 지연 때문에 잦은 요청을 주고받는 사이트는 정적 페이지 위주로 만들어야 한다.
  • 10년 가까이 .onion 사이트를 운영한 댓글러는 torv2가 더는 안전하지 않다고 판단하자 Tor 프로젝트가 기존 v2 사이트를 전부 일방적으로 없앴고 2021년에 그 망이 사라졌다며, .onion의 모든 것이 ephemeral하다고 정리했다.

Hacker News 의견들

onion 사이트 몇 년 굴려봤는데 좋은 건 공인 IP나 인증서를 아예 안 건드린다는 거임. 대신 v3 주소는 말로 전달할 방법이 없고 지연 때문에 채팅성 기능 넣으면 깨짐. 정적 페이지 전용이 답임.

채팅성만 낮추면 SSR도 잘 돌아감. Dread도 SSR이고 JS 켜져 있으면 잔소리까지 함.

포트포워딩을 건너뛰는 게 제일 큼. ISP가 CGNAT 뒤에 있으면 특히. 근데 업타임은 어떻게 잡는지 궁금함. 히든 서비스 죽어도 누가 알려주기 전까지 모르잖아.

나도 반년째 문제 없이 돌아감. CGNAT 해법은 따로 글 써놨음.

다른 서비스랑 똑같이 모니터링 붙이면 됨. 사용자가 다운됐다고 알려주는 상황이면 이미 다운타임을 엄청 먹고 있는 거임.

같은 사이트를 호스트네임만 바꿔서 두 번 빌드할 이유가 있나? 상대 링크 쓰면 되는 거 아닌가.

RSS나 canonical, og:url 같은 게 절대 URL을 씀. onion에 한 번 들어온 사람이 onion을 벗어나지 않게 하려고 그럼.

onion 쪽에선 사칭이 진짜 큰 문제라, 이렇게 해두면 프론팅하는 쪽이 수고를 더 해야 함.

내 서버가 랜덤한 사람들의 exit node로 쓰이기도 하나? 스위스에서 만난 사람이 익명 exit node 돌리다가 경찰에 설명하느라 힘들었다고 하더라.

그건 exit relay고 나는 안 돌림.

exit node는 선택적인 부분임. 릴레이나 히든 서비스만 돌리면 exit 쪽에 강제로 참여되지 않음. 히든 서비스랑 같이 돌리는 건 보안상 권장 안 함.

clearnet 쪽에 Onion-Location 헤더를 넣으면 Tor Browser가 알아서 알려줌.

놓치고 있었음, 지금 추가하는 중. 고맙다.

일반인이 앱 하나 깔아서 폴더에서 웹사이트 굴릴 수 있으면 좋겠음. CLI는 일반 웹호스팅보다 어려움. 무슨 명령인지도 모르고 치는 건 별로 좋은 생각이 아님.

127.0.0.1 대신 별도 바인드 주소를 쓰는 게 좋음. 127.13.37.1:8080 같은 식으로. 나중에 그 포트를 다른 데 재사용하고 히든 서비스 끄는 걸 잊으면 낯선 사람이 접속하게 됨. 히든 서비스를 여러 개 돌리면 포트나 주소를 나눠야 서로 연관짓지 못하고, nginx가 Host 헤더를 못 맞추면 알파벳 순 첫 사이트를 내보냄.

속도 올리려면 HTTPS 인증서를 사서 HTTP/2를 써야 함. 멀티플렉싱이 onion에서 특히 중요함. HiddenServiceExportCircuitID를 설정하면 circuit id를 웹서버로 넘길 수 있는데, 안 하면 로그상 모든 사용자가 같은 IP로 찍힘.

onion 서비스는 Tor가 항상 암호화하는데 그 안에 평문 HTTP가 터널링되는 구조임. .onion에 무료로 인증서를 발급해주는 CA가 없어서 자체 서명 없이는 HTTP/2를 무료로 못 씀. 자체 서명 인증서를 그냥 신뢰하지 않는 이유가 궁금함.

큰 onion 사이트는 성능 최적화가 Tor 전용이 됨. 에셋은 base64로 박고 CSS는 인라인, 애니메이션은 CSS로, 렌더링은 백엔드에서. JS 없이도 돌아가야 하고, keep-alive 연결 하나에 최대한 몰아넣어야 함. 새 요청마다 다른 Onion 회선이 잡혀서 느려지니까.

DDoS도 문제인데 Tor에 맞는 방식이 따로 있음. 더블 캡차가 필요하고, 모든 사이트에 기생 프론트가 수십 개 붙어 있어서 진짜 주소를 오프사이트로 알려줘야 함. JS를 쓰면 사이트가 바로 의심 대상이 됨.

홈컴퓨터에서 superkuhbitj6tul.onion을 10년 가까이 굴리면서 배운 건 .onion에 있는 모든 게 ephemeral이라는 것임. torv2가 더는 안전하지 않다고 판단하자 Tor 프로젝트가 기존 v2 사이트를 전부 일방적으로 날려버렸고 2021년에 그 망이 조각났음. 다크웹은 도메인 소유하려는 사람을 위한 게 아니라 보안을 위한 것임.

해커뉴스
TLA+ 교육자 힐렐 웨인, "LLM이 형식 검증으로 에이전트 개발을 해결한다"는 낙관론에 제동$35 후방 카메라 디스플레이의 AMT630A 역공학, ESP32 HUD용 Arduino 라이브러리로 공개Codex로 $415 로봇팔 SO-101을 세팅한 개발자, 캘리브레이션 실패와 서보 전원 한계에 부딪힘편자공에서 정비공이 된 증조부, AI 앞에 선 개발자에게 던지는 가족사LinkedIn 슬롭 게시물 탐지기를 1시간 30분 만에 만든 블로거, 컴퓨터 비전 자랑글의 실체를 지적Slug 특허 퍼블릭 도메인 공개 후 GPU 텍스트 렌더링 기법 비교: 텍스처 아틀라스, SDF, MSDF, SlugMathigon 'Mathematical Origami', 정다면체 5종과 아르키메데스 다면체 13종 접기 도안 공개블룸버그 터미널의 역사를 다룬 IEEE 스펙트럼 글, 해커뉴스는 크로미움 포크와 정보 밀도 UI를 논의아두이노 UNO Q 기반 오픈소스 3D 프린팅 데스크톱 로봇 JBR-001, STL 파일까지 공개16세 해커, MS 내부 Titan의 JWT 서명 미검증으로 17조 행 접근 가능성 발견Show HN: KCC, 2D DFT와 디더링으로 eInk 만화 화질 최적화오픈소스 3D 치과 해부 탐색기 Dental Scope 공개, 커밋 이력은 3일미국 NRC, TVA 클린치강 BWRX-300 소형모듈원자로에 첫 건설허가 발급WGSL과 Rust 구조체 레이아웃 차이, facet 런타임 리플렉션 단위 테스트로 잡는다MCP 안 쓴다던 Pi, 최신 버전에서 MCP와 Codemode를 코어에 통합Last.fm이 없앤 RSS 피드, 개인 프로젝트 lfm.xiffy.nl이 6종으로 대체이란전쟁으로 호르무즈 막히자 유가 배럴당 $66에서 $101로, 늘어난 돈은 석유회사로팩토리오 품질 확률을 행렬 방정식으로 푼 온라인 계산기 공개NYT 등 12개 출판사 법률 문서: OpenAI가 페이월 우회해 기사 긁어가, MS 임원은 "인류 역사상 최대의 노동 절도"2026년 9월 시나리오 에세이: 호르무즈 봉쇄가 기름, 비료, 감자 가격을 한꺼번에 밀어올린 경로1+1 이진 트리 과제로 시작해 C로 함수형 언어 만든 개발자, 아레나 할당자와 GC까지 구현Raschka가 짚은 Jev 열풍: bag-of-words부터 Jev까지 텍스트 분류의 계보NASA, 1999년 마지막 비행한 SR-71A 844호기를 격납고로 옮기고 전직 시험엔지니어들에게 비행 복귀 참여 제안Frostyard, 리눅스용 WSL 격 NSL 공개: 공유 VM 안에서 systemd-nspawn 컨테이너 실행밤하늘 밝기 매년 10%씩 밝아져, 도시 야외 조명 규제 필요성 제기NAND 게이트 277,248개로 CPU와 RAM, 비디오까지 만든 컴퓨터, 브라우저에서 게이트 단위로 열어본다백블레이즈 2026년 2분기 드라이브 통계: 35만 4,415대 전체 고장률 1.73%, 22TB WDC가 0.55%로 최저버몬트주가 발전소를 가정용 배터리로 대체, GMP 가상발전소가 주 최대 전력원이 됨브라우저에서 실시간 태양계 구현, 소행성 52만7천 개와 추적 위성 3만5천 개 표시Opus 5.5 너프 측정 저장소 livenerf, 78문항 고정 패널로 30일 사전등록 실험 진행USPIS, 위조 우편 라벨 510만장 판매한 LabelsBank.com 압수, 파키스탄인 기소, 피해 $126M2008년 MacKay의 Sustainable Energy without the hot air, HN에서 1차 에너지 오류와 태양광 가격 하락 논쟁'일 만들기' 스태프 엔지니어 가이드, HN에서 '요구사항 공학' 논쟁과 LLM 작성 의혹까지OpenAI, 월 $500 Pro 500 요금제 공개. 신규 Pro 200 구독은 사용량 축소PS5 탈옥 익스플로잇 Relapse 공개, 7.00부터 13.60까지 커널 r/w 확보Tcl/Tk 9.1.0 공개, Tk에 화면 읽기 접근성과 RTL 텍스트 지원 추가미국 정부 AI 안내 사이트 america.gov 공개, 25MB 페이지에 챗봇은 429OpenAI, 24시간 상시 가동 에이전트 dots 공개. GPT-6 Astra 기반, Pro와 Enterprise 플랜부터OpenAI, GPT-6.1 Sol 공개: Astra에 근접한 성능을 5분의 1 가격에godot-cpp 10과 Conan으로 Godot에 C++ 라이브러리 붙이기, flecs로 입자 10만 개 시뮬레이션1993년에 부팅한 Stratus 서버, 24년째 무중단 가동 중이지만 2017년 4월 은퇴 예정PostHog, Jev류 결정 모델에 추론을 결합한 오픈소스 'jeeves' 공개Claude 전 서비스 1시간 장애, 로그인과 파일 업로드까지 막혀 14:59 UTC 복구macOS 27 Golden Gate, 안정성 개선 내세웠지만 메뉴 바 크래시 등 버그 다수델리, 전력 손실률 50%에서 5%로 낮춤: Tata Power가 저소득 지역 물 공급과 금융 교육까지 손댄 결과미국 ICC 제재로 네덜란드, 마이크로소프트 배제하고 NixOS 기반 대안 생태계로 이동런던 역 6개월 얼굴인식 시범, 50만 스캔에 오탐 1건·체포 0건, 비용 32만 파운드대화형 AI 9곳 분석: 대화 제목·프롬프트·스크린샷이 제3자 추적기로 전달됨미국, 집에 손님 초대하는 문화 붕괴: 1975년 이후 70% 감소실리콘밸리를 25년 먼저 비판한 폴리나 보르숙, 커리어 상실 뒤 뒤늦은 재조명Show HN: Pac-Bench, 30개 모델이 원샷으로 만든 팩맨, Opus 5.5가 99/100으로 1위무관해 보이는 단어 10개로 임베딩 '원' 기하를 위조해 맥주 내기에서 이기다ESP32S3 여러 대를 묶어 1.58비트 BitNet 언어모델을 돌리는 깃허브 프로젝트 공개스코치드 어스에 원형 행성과 궤도 역학을 얹은 웹게임 'Tank Body Problem'이 해커뉴스에 공개됨1871년 Nature의 1841년 우주기상 기록, 알고 보니 오타였다1996년 온라인 서비스 감성 채팅방 lolchat.rip, Win95·System 7 데스크톱과 같은 방을 공유괴베클리 테페에서 1만 2천 년 전 매장 2기 첫 발견, 흩어진 뼈 미스터리 풀려황금비 코드로 뽑은 필로택시스 패턴, 89개 LED 조형물이 되어 소리에 반응하다캘리포니아 포도 농가, 와인 수요 급감에 판로 상실…전체 포도밭 25% 폐원엔비디아, 에이전트 통제용 Open Agent Safety Platform 공개... 네트워크 칩 Sentry와 CPU용 OpenShell 포함Show HN: 주소만 입력하면 스틱맨이 그 페이지를 부수는 'Destroy Any Website' 공개레딧 나이프 추천글 언급 31%, 상위 5% 계정에서 나옴. 우연의 4배Show HN: HN.watch, 해커뉴스 전면 페이지 모든 글에 AI 설명 영상 붙인다브라우저에서 초소형 LLM 7종 벤치마크하는 MicroLLM Lab 공개World Labs, AMD에 합류: 페이페이 리가 AMD EVP 겸 Chief Scientist로구글 지도 위성사진 갱신으로 드러난 라파 폐허, 학교 아이콘만 남은 폐허 위 지도Jev 호환 0.8B 결정 모델 Jeff 공개, 자택에서 학습해 M4 Max에서 약 28ms칼 뉴포트, 의회에 OpenAI·앤트로픽 조사 요구…"에이전트 해킹 왜 안 멈췄나"알렉스 에베를뢰프 "코딩은 풀리지 않았다", AI는 책임질 수 없어서 위임도 안 된다Cloudflare, 에이전트 겨냥 CLI 'cf' 오픈 베타 공개: 280개 명령을 3,000개 API 오퍼레이션으로파이어폭스에 지친 블로거가 Brave로 갈아탄 이유PS5 RTMP 스트림을 DNS 스푸핑으로 가로채 맥에서 받기구글 플레이 심사 거부당한 개발자, "구글이 무관한 앱의 NSFW 스크린샷을 보냈다"국경 그리기 게임 Borderline에 모인 43,780개 그림을 겹쳐 만든 '사람들이 기억하는 세계 지도'Wild Card 팟캐스트 댓글창, 중학생들의 비밀 그룹 채팅으로 드러나MongoDB CEO 데사이, 취임 1년 만에 메타로 이직... 몽고DB 주가 18% 급락MGM 복원이 《석양의 무법자》를 179분으로 늘린 뒤, 팬들이 토렌트로 원판을 되살린 이야기Windows 11의 광고·구독·AI 잔소리를 그대로 옮긴 패러디 사이트 'Windows 11½'가 해커뉴스에서 화제앤스로픽, Claude Sonnet 5.5 공개: Terminal-Bench 4.0 70.6%로 Opus 5.5 앞서고 작업당 비용은 최대 30% 절감Postgres에서 AT TIME ZONE 'UTC'를 두 번 써야 하는 이유, timestamptz가 timestamp로 바뀌는 함정일몰 후에도 달이 위를 향하는 '달 종단선 역설', 시뮬레이터로 원인 확인닛산 3세대 e-POWER, 5-in-1 모듈과 전용 엔진으로 연비·정숙성 개선Ink & Switch, 사용자가 직접 고쳐 쓰는 '말레어블 소프트웨어' 에세이 공개…해커뉴스서 114개 댓글 토론ESP32-S3 AMOLED 보드로 만든 기타 페달 CoyoPedal, NAM A2-full 구동카너먼의 '빠른 사고와 느린 사고'를 AI 멀티에이전트 구조로 옮긴 2021년 논문이 해커뉴스에 다시 올라와중앙 서버 없는 IRC 연합 채팅 Parley, 닉네임 중복 시 엉뚱한 사람에게 가던 멘션 푸시 수정Anthropic이 Claude Opus 5.5 프롬프트 가이드 공개. 출력 토큰 생성 30% 이상 빠르고 기존 Opus 5 프롬프트가 그대로 동작스타십 플라이트 14, 첫 궤도 진입 성공하고 스타링크 V3 위성 26기 배치뉴질랜드 풍자매체, AI 기업들이 '인류 멸망 능력' 경쟁 벌인다는 패러디로 HN 화제Recurse Center 여름 배치기: DEFLATE 재구현, dodo 언어 완성, 에이전트 실험앨런 케이 "ENIAC에 BIOS는 없었다", 해커뉴스에서 ENIAC 저장 프로그램 논쟁으로 번져코드 리뷰를 에이전트가 대체한다는 논문 반박: "이해가 안 된다"는 리뷰어의 반응 자체가 결함 탐지 신호비디오 CD를 넣으면 윈도우 탐색기가 멈춘다, 2025년 말 보고에도 수정 없음2026년 Rust SIMD 현황: Fearless SIMD 메인테이너가 정리한 생태계와 x86 분기 문제로컬 AWS 에뮬레이터 fakecloud 공개, 105개 서비스와 Smithy 테스트 248,557개 전부 통과 주장torrc와 nginx로 개인 블로그를 .onion 히든 서비스로 직접 운영2013년 C++ 효율 코드 글에 해커뉴스 '요즘 C++가 더 어려워졌다' vs '더 쉬워졌다' 논쟁Go 코드를 GitHub에 묶지 말고 커스텀 도메인으로 네임스페이스하라엔비디아 초기 기술자문, 30년 뒤 발견한 옵션 베스팅 오류… 450만 주는 소멸시효에 막혀10년 묵은 충전식 자전거 라이트, LIR2477 배터리 납땜 교체로 살려냄
알림 3개
새 알림

내 알림

로그인하고 알림을 만들어 보시기 바랍니다.

전체 알림

Dune제욱 님AI제욱 님해커뉴스성현 님