사람들이 서로 개인적으로 메시지를 주고받도록 돕는 쉬운 방법은, 새로 합류한 I2P-Bote 사용자들이 자신의 I2P-Bote 피어를 부트스트랩(초기 설정)하는 데 쓸 수 있는 I2P-Bote 피어를 운영하는 것입니다. 안타깝게도 지금까지는 I2P-Bote 부트스트랩 피어를 설정하는 과정이 필요 이상으로 난해했습니다. 사실은 매우 간단합니다!
I2P-bote란 무엇입니까?
I2P-bote는 i2p 위에 구축된 비공개 메시징 시스템으로, 전송되는 메시지에 대한 정보를 파악하기 더욱 어렵게 만드는 추가 기능들을 갖추고 있습니다. 이러한 특성 덕분에 높은 지연 시간(latency)을 감수하면서도 발신자가 오프라인이 되었을 때 메시지를 대신 전송하는 중앙집중식 릴레이에 의존하지 않고 비공개 메시지를 안전하게 전송할 수 있습니다. 이는 다른 거의 모든 대중적인 비공개 메시징 시스템과 대조적이며, 그러한 시스템들은 양쪽 모두가 온라인 상태여야 하거나 오프라인이 된 발신자를 대신해 메시지를 전달하는 부분적으로 신뢰되는 서비스에 의존합니다.
또는, ELI5(초등학생에게 설명하듯): 이메일과 비슷하게 사용되지만, 이메일의 프라이버시 취약점은 전혀 없습니다.
1단계: I2P-Bote 설치
I2P-Bote는 i2p 플러그인으로, 설치가 매우 쉽습니다. 원본 지침은 bote eepSite, bote.i2p에서 확인할 수 있지만, clearnet(일반 인터넷)에서 읽고 싶다면, 다음 지침은 bote.i2p에서 제공한 것입니다:
- Go to the plugin install form in your routerconsole: http://127.0.0.1:7657/configclients#plugin
- Paste in the URL http://bote.i2p/i2pbote.su3
- Click Install Plugin.
- Once installed, click SecureMail in the routerconsole sidebar or homepage, or go to http://127.0.0.1:7657/i2pbote/
2단계: 자신의 I2P-Bote 노드의 base64 주소 가져오기
여기서 막힐 수 있는 부분이지만, 걱정하지 마세요. 설명을 찾기가 조금 어려울 뿐, 실제로는 간단하며 상황에 따라 사용할 수 있는 도구와 옵션이 몇 가지 있습니다. 자원봉사자로서 bootstrap nodes(부트스트랩 노드)의 운영을 돕고자 하는 분들에겐, bote tunnel에서 사용하는 개인 키 파일에서 필요한 정보를 추출하는 방법이 최선입니다.
키는 어디에 있습니까?
I2P-Bote는 destination(목적지) 키를 텍스트 파일에 저장하며, Debian에서는 해당 파일이 /var/lib/i2p/i2p-config/i2pbote/local_dest.key에 위치합니다. 사용자가 i2p를 설치한 Debian이 아닌 시스템에서는 키가 $HOME/.i2p/i2pbote/local_dest.key에 있고, Windows에서는 파일이 C:\ProgramData\i2p\i2pbote\local_dest.key에 있습니다.
방법 A: 평문 키를 Base64 목적지로 변환하기
평문 키를 base64 destination(목적지 식별자)으로 변환하려면, 키를 가져와 그중에서 destination 부분만 분리해야 합니다. 이를 올바르게 수행하려면 다음 단계를 따라야 합니다:
- First, take the full destination and decode it from i2p’s base64 character set into binary.
- Second, take bytes 386 and 387 and convert them to a single Big-Endian integer.
- Add the number you computed from the two bytes in step two to 387. This is the length of the base64 destination.
- Take that nummber of bytes from the front of the full destination to get the destination as a range of bytes.
- Convert back to a base64 representation using i2p’s base64 character set.
이 단계를 대신 수행해 주는 애플리케이션과 스크립트가 여러 가지 있습니다. 그중 일부는 다음과 같지만, 이것이 전부는 아닙니다:
이러한 기능은 다양한 I2P 애플리케이션 개발 라이브러리에서도 사용할 수 있습니다.
바로 가기:
오직 번역만 제공하고, 그 외에는 아무것도 제공하지 마십시오:**
귀하의 Bote 노드의 로컬 destination이 DSA destination이므로, local_dest.key 파일을 처음 516바이트만 남기도록 잘라내는 것이 더 빠릅니다. 이를 쉽게 수행하려면 Debian에서 I2P와 함께 I2P-Bote를 실행할 때 다음 명령을 실행하십시오:
sudo -u i2psvc head -c 516 /var/lib/i2p/i2p-config/i2pbote/local_dest.key
또는, I2P가 사용자 계정으로 설치되어 있다면:
head -c 516 ~/.i2p/i2pbote/local_dest.key
방법 B: 조회하기
그게 조금 지나치게 번거롭게 느껴진다면, base32 주소 조회가 가능한 어떤 방법이든 이용해 해당 base32 주소를 조회함으로써 Bote 연결의 base64 목적지를 확인할 수 있습니다. Bote 노드의 base32 주소는 Bote 플러그인 애플리케이션의 “Connection” 페이지에서 확인할 수 있습니다: 127.0.0.1:7657/i2pbote/network
3단계: 문의하기!
새 노드를 추가하여 built-in-peers.txt 파일을 업데이트하세요
이제 I2P-Bote 노드의 올바른 destination(목적지)를 확보했으니, 마지막 단계는 I2P-Bote here의 기본 피어 목록에 자신을 추가하는 것입니다. 이를 위해 저장소를 포크하고, 이름을 주석 처리하여 목록에 추가한 다음, 그 바로 아래에 516자 길이의 destination을 다음과 같이 넣으세요:
# idk
QuabT3H5ljZyd-PXCQjvDzdfCec-2yv8E9i6N71I5WHAtSEZgazQMReYNhPWakqOEj8BbpRvnarpHqbQjoT6yJ5UObKv2hA2M4XrroJmydPV9CLJUCqgCqFfpG-bkSo0gEhB-GRCUaugcAgHxddmxmAsJVRj3UeABLPHLYiakVz3CG2iBMHLJpnC6H3g8TJivtqabPYOxmZGCI-P~R-s4vwN2st1lJyKDl~u7OG6M6Y~gNbIzIYeQyNggvnANL3t6cUqS4v0Vb~t~CCtXgfhuK5SK65Rtkt2Aid3s7mrR2hDxK3SIxmAsHpnQ6MA~z0Nus-VVcNYcbHUBNpOcTeKlncXsuFj8vZL3ssnepmr2DCB25091t9B6r5~681xGEeqeIwuMHDeyoXIP0mhEcy3aEB1jcchLBRLMs6NtFKPlioxz0~Vs13VaNNP~78bTjFje5ya20ahWlO0Md~x5P5lWLIKDgaqwNdIrijtZAcILn1h18tmABYauYZQtYGyLTOXAAAA
그리고 pull request를 제출하면 됩니다. 그게 전부이니, i2p가 계속 살아 있고, 탈중앙화되어 있으며, 신뢰성을 유지하도록 도와주세요.