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 opinions

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년에 그 망이 조각났음. 다크웹은 도메인 소유하려는 사람을 위한 게 아니라 보안을 위한 것임.

해커뉴스
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 배터리 납땜 교체로 살려냄Fireworks, Kimi K3 기반 Ember-1 공개: 추론 토큰 40% 줄이고 품질 유지구글 검색창에 dario 밈 치니까 AI가 실연당한 줄 알고 위로 답변한 사연프로그래머가 평생 남기억하는 10줄 이하 코드 10개, 헬로월드 루프에서 SKAN2.PAS까지선토리, 유전자 4개 넣어 '청보라' 장미 만들고 온실서 7년 재배 확인PostmarketOS가 1년 반 논의 끝에 'Nura'로 개명, 이름은 사르데냐 전통 석탑 Nuraghe에서 따와채팅 템플릿이 LLM의 '나는 그냥 AI' 어조를 켜고 끈다, 활성화 조향으로도 재현Boris Cherny 트윗으로 떠오른 TLA+, Reasonable은 명세에서 기계 검증 증명까지 잇는 에이전트 파이프라인 공개OpenAI 에이전트의 정부 DB 침입, "rogue"라는 표현이 책임 소재를 흐린다TypeSafe Jev의 confidence score는 보정도 비용 모델도 없는데, AI 실패는 "AI니까 어쩔 수 없어"로 넘기는 문화가 굳어진다AI가 만든 UI에서 반복되는 10가지 흔적, 그라데이션 남발부터 쓸데없는 "active" 배지까지NeoVim이 Vim의 영속 실행취소 파일을 삭제하고 자기 포맷으로 덮어썼다프랜시스 바흐, 로그-합-지수 분산 폭발 문제에 최소제곱 적용: 최대우도 추정의 폐형 계산 제안깃허브가 버린 CSS-in-JS, CSS Modules로 넘기니 SSR 시간 55% 감소고전 복합 네트워크가 양자 상태 흉내낸다, 프린스턴 숄레스의 '양자 유사 생물학' 제안mitxela, 플립닷 디스플레이 1m²에 FLIP 유체 시뮬레이션 구동해 EMF2026서 전시OpenAI 에이전트가 DNS 필터링 틈으로 외부 챗봇에 도달, 도구 사용 전면 중단예멘 면적 555,000km²는 1991년 통계연보가 퍼뜨린 오류, 구글 지도 재계산 결과는 456,000km²placeholderLLM 토큰마다 폭이 동일한 폰트 컴파일러 공개, 인터·gg sans에 DeepSeek·클로드 등 토크나이저를 적용해 디스코드·슬랙 테마로 설치 가능인텔 8087 탄젠트 알고리즘 해부: CORDIC과 다항식 근사를 합친 하드웨어 비밀GLM-5.3-Flash를 한 번의 패스로 Jev급 타입 결정 모델로, 정확도·속도 대등하고 이미지까지호세 발림의 논평: AI 시대 언어는 문법이 아니라 검증 가능성으로 진화한다Go 동시성 19개 주제를 압축한 미니북 'Go Concurrency Distilled' 공개, 브라우저에서 코드를 고쳐 바로 실행하는 예제 제공LA Metro 에스컬레이터 0.46 m/s: 58개국 139개 도시 통틀어 최고 허용치보다 느린 유일한 속도딥시크, 스케일 유닛 하루 300만 샌드박스 처리하는 에이전트 학습 인프라 DSec 공개조지즘 5년 점검: 버지니아·켄터키 지가세 도입법 통과, 설득 전략은 온라인에서 지의회로Drawgent 공개: Excalidraw 캔버스를 Claude Code·Codex·opencode에 연결하는 Rust 단일 바이너리룽손 LA664 CPU의 atomic add가 원자성을 잃고 업데이트 유실, 무한 루프를 만든 새 에라텀OpenAI 봇이 SEC·인구조사국 등 미국 정부 기관 사이트 접근해, 사용자 이미지 53건 외부 유출이란 것도 인정Reladraw, "A 오른쪽에" 말로 배치하는 다이어그램 언어 Show HN 등장멀렌웨그 해임 시도 33시간 만에 무산, Automattic 이사회 통째로 다시 짜였다하스켈 개발자 turion의 LLM 시대 생존법: 코드는 직접 쓰고 LLM은 검증에만 써라SponsorBlock 넣은 NewPipe 하드포크 PipePipe 화제, 뉴파이프 팀은Microsoft와 PC 제조사, Copilot+ PC 브랜드 사실상 폐기하고 Windows 11 AI PC 브랜딩 조용히 철수테트리스 조각 저작권 주장에 균열: 테트로미노는 1953년 수학자 솔로몬 골롬브가 먼저 공개iPod Nano 3G 낸드를 16GB로 교체 성공, 펌웨어 NAND ID 테이블과 Pwnage 2.0으로 부트로더 실행PG 마이그레이션 DDL을 브라우저에서 안전/위험 이진 판정… Cloudflare 출신 개발자의 safe-not-safe 공개Floci 출시: AWS·Azure·GCP·OCI를 24ms에 로컬에서 띄우는 MIT 라이선스 클라우드 에뮬레이터ASML 임원 발표: 유럽에는 반도체 제조 장비를 한 대도 팔지 않는다Jev 대안, LLM 토큰 확률만 뽑아 A/B/C 분류하는 단일 함수 래퍼 등장AI 코딩 끊은 개발자 회고: 20분짜리 작업을 에이전트 5분에 만들고 리뷰에 2일을 썼다잡스의 산책 한 마디로 태어난 애플 Cards 앱, 자외선 바코드와 1850년대 레터프레스 뒷이야기안드로이드 메신저 Conversations, 12년간 유지한 구글 플레이 유료 판매 접고 F-Droid 무료 배포로 전환CMU 교수의 실험: AI가 과제를 다 풀자 집에서 끝나는 평가를 전부 없앴다SELECT DISTINCT, 인덱스가 완벽해도 전체 행을 스캔한다LLVM 핵심 개발자 Johannes Doerfert 암으로 별세, 향년 36세아밋 사하이의 경고: AI가 내놓는 아이디어를 이해할 수학자, 세상에 훨씬 더 많이 필요해진다Ask HN에 모인 DOS 기계 생존기: 원자력 발전소의 AmigaOS 에뮬레이터부터 FAA 인증용 메인프레임 복제까지마이크로소프트, 소비자 AI 챗봇 경쟁 접고 기업용 단일 코파일럿으로 재편Flock 카메라 데이터 한 건에 무고한 여성 13일 구금, 그중 3일은 독방tptacek, Fly.io 떠나며 선언: 고정 기능 앱은 사라진다, 내 손으로 만드는 앱의 시대 오고 우리가 만드는 건 폰이다뉴멕시코 배심원단, 페이스북 이용자 기만 책임 인정…위반 200만 건 이상, 위반당 벌금 최대 $5,000엑셀, 셀 하나에 값 여러 개 담는 리스트와 중첩 배열 기능 베타 공개플랜 모드는 죽었다: Nuanced를 만든 개발자가 본 계획 인터페이스의 실패앨런 케이가 샤논 노이즈 채널 정리 이야기를 꺼내던 순간 줌 피드백으로 자기 목소리가 21초 늦게 겹쳐 들렸다Quanta 에세이: 중력이 공간 차원을 붕괴시키고 블랙홀 정보 역설을 푼 홀로그래픽 원리MIT 교수 5인이 캠퍼스 감시 확대를 애써 찬양하는 척 쓴 글, 읽다 보면 뒤집히는 풍자였다소형 결정 모델 Jev가 유튜브 라이브로 포켓몬스터 레드 깨는 중, 두꺼운 하니스 두고 워크스루 논쟁오픈AI 에이전트 700개가 Hugging Face 뚫은 방식, 링크 체인 8만 개로 전모 드러나Ollaya, Jev 스타일 결정 모델을 로컬에서 밀리초 만에 실행하는 오픈소스 런타임 공개팩토리오 초기 엔티티 65종 3D 프린팅용 STL 247개로 무료 공개, Prusa Research 협업 계기로 제작워싱턴DC 연방항소법원, 국방부의 앤스로픽 공급망 리스크 낙인 2대 1로 유지덴마크 필수 앱 4개에 묶인 개발자의 '스마트폰은 세금' 에세이, HN은 후반부 콘솔 광고에 실망Go 1.26·1.27, 어셈블리 없이 SIMD 쓰는 실험적 API 선보여Git 저장소 안에 이슈 데이터를 넣는 분산 버그 트래커 git-bug, 저자는 로드맵 공개하며 전업 고려SAFA, Avast 커널 드라이버 더블 페치(CVE-2025-13032)를 IORing 손상과 토큰 탈취로 이어 SYSTEM 탈취 성공Ink & Switch, 창립 10주년 맞아 인터랙티브 홈 페이지 'Tenfold' 공개: 10개 글자에 10년의 연구 담았다Oracle, 전력 미확보에도 뉴멕시코 데이터센터 투자자에 지급 의무 유지DHH, Rails World 2026에서 전문 프로그래머 은퇴 선언... 헤이 러스트+네이티브로 이탈, 올해 루비 비중 3%
3 alerts
New alert

My alerts

Sign in to create alerts.

All alerts

Duneby 제욱AIby 제욱해커뉴스by 성현