헤드 없는 Ubuntu 인스턴스에 ProtonMail 이메일 아카이빙

소개하다.



컨텐츠를 검색해야 할 때 로컬 컨텐츠 검색을 실행하기 위해 아카이빙할 수 있는 e-메일ProtonMail을 로컬에 모두 저장하고 싶습니다.
나는 나의 절차를 다 말할 것이다.전자 우편 서비스에 관한 강좌가 많다. 예를 들면;Gmail, Hotmail 등이지만 Proton Mail과 큰 관계가 없고 특히 무두실례를 사용한다.

ProtonMail 브리지


ProtonMail Bridge는 서브팀에 의해 구축된 소스 오픈 소프트웨어로 로컬에서 가상 IMAP 서버를 만드는 데 사용되며 유일한 목적은 로컬에서 사용자의 전자메일을 복호화하여 데스크톱 전자메일 클라이언트를 사용할 수 있도록 하는 것이다ThunderBird.
Proton Mail Bridge는 비용 지불 기능으로 최저 요구는 ProtonMail Plus 계획(5달러/월)이다.ProtonMail 브리지는 ProtonMail Free 프로그램에서 사용할 수 없습니다.

개술


우리는 모든 전자메일을 정기적으로 삭제하는 크론 작업을 머리 없는 Ubuntu 실례에 설정할 것입니다.이 인스턴스는 ProtonMail Bridge와 Offlineimap 라는 도구를 실행합니다. 이 도구는 모든 전자메일을 명문, 검색 가능한 형식으로 저장하는 데 사용됩니다.

개시하다


1단계: Linux 서버 설정


기존 서버 실례를 만들거나 만들어야 합니다.loft의 서버에서 실행되는 Proxmox 실례를 사용합니다.로컬 아카이브를 실행하려면 Digital Ocean 툴을 사용하십시오.아래 링크를 이용하면 $100의 60일 포인트가 제공되며this link 등록만 하면 됩니다.
서버를 설정하거나 로그인하면업데이트를 진행하고 필요한 설치를 실행해야 합니다.
sudo apt-get update
sudo apt-get upgrade

1단계:gpg와 통과


ProtonMail 브리지를 사용하려면 먼저 종속성을 설정해야 합니다.이러한 의존항은 pass (암호 관리 시스템) 이고, 그 의존항은 gpg (키 관리 시스템) 이다.

GPG 설치


GPG는 서버를 구성한 후 처음 실행되는 update and upgrade 명령의 일부로 시스템에 설치해야 합니다.그렇지 않으면 다음 명령을 실행하여 GPG를 설치할 수 있습니다.
sudo apt-get install gpg
GPG가 설치되면 GPG 키를 생성해야 합니다.
gpg --gen-key
전체 이름과 전자 우편 주소를 추가하는 마법사를 실행합니다.gpg 키를 위한 암호 구문도 만들어야 합니다.마법사의 요구를 충족시키기 위해 비밀번호를 추가하지만, 나중에 삭제해야 합니다.
불행하게도 ProtonMail Bridge는 암호로 보호된 GPG 키를 헤드 없이 사용할 수 없습니다.이것은 심각한 안전 위험이므로 이에 대해 자신의 견해를 발표하고 이것이 어떤 영향을 미칠지 연구해 보십시오.
GPG가 완료되면 공개 키 출력이 발생합니다.얘는 아래처럼 이렇게.
7BDD29402175BC627671356BE8AC4A1C3C5J6357
이 키와 관련된 암호 구문을 삭제해야 합니다.
다음 명령 실행
gpg --edit-key 7BDD29402175BC627671356BE8AC4A1C3C5J6357
일단 이 명령을 실행하면 gpg 환경에 들어갑니다
다음 명령 실행
passwd
GPG 키를 잠금 해제하려면 이전에 만든 암호 구문을 입력해야 합니다.
새 암호 구문을 입력하라는 다른 콘솔의 프롬프트가 나타납니다.
비우다.
공백을 원하는 암호를 확인해 달라는 요청을 받을 것이다. 보안 위험을 경고할 것이다.
"Y"또는 "예"를 클릭하여 이 뜻을 확인하세요.
마지막으로 q를 입력하고 Enter 키를 눌러 GPG 컨텍스트를 종료합니다.

통행증을 설치하다


이제 패스를 설치할 때가 되었습니다. 패스는 Proton Mail 브리지 의존 항목입니다.
sudo apt-get install pass
그리고 이전에 생성한 gpg 키 id를 사용하여 새 pass 실례를 초기화해야 합니다.
pass init 7BDD29402175BC627671356BE8AC4A1C3C5J6357
필요한 모든 설정이 초기화됩니다pass.

2단계: ProtonMail 브리지 설치


이제 Proton Mail 다리를 설치할 때가 되었다.
이 문서를 작성할 때 다음 명령을 실행하여 최신 버전의 ProtonMail Bridge를 설치합니다.
wget https://protonmail.com/download/beta/protonmail-bridge_1.5.0-1_amd64.deb
설치 후
dpkg -i protonmail-bridge_1.5.0-1_amd64.deb
설치할 때 의존 항목이 부족할 수도 있습니다.이 문제를 복구하려면 다음 명령을 실행하십시오
sudo apt --fix-broken install

3단계: ProtonMail 브리지 초기화


이제 ProtonMail Bridge에 로그인하여 다음 명령을 실행해야 합니다.
protonmail-bridge --cli
ProtonMail Bridge가 시작되고 전자 메일 및 암호를 사용하여 로그인해야 합니다.
표준 ProtonMail 사용자 이름과 암호가 됩니다.

4단계: ProtonMail IMAP 사용자 이름 및 암호 가져오기


ProtonMail Bridge 세션의 컨텍스트에서 다음 명령을 실행합니다.
info
다음 출력을 볼 수 있습니다.
            Welcome to ProtonMail Bridge interactive shell
                              ___....___
    ^^ __..-:'':__ :..: __:'':-..__
                  _.-: __:.-:'': : : :'':-.:__ :-._
                .':.-: : : : : : : : : :._:'.
             _ :.': : : : : : : : : : : :'.: _
            []: : : : : : : : : : : : : :[]
            []: : : : : : : : : : : : : :[]
   :::::::::[]: __:__ : __:__ : __:__ : __:__ : __:__ : __:__ :__:[]:::::::::::
   !!!!!!!!![]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![]!!!!!!!!!!!
   ^^^^^^^^^[]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[]^^^^^^^^^^^
            [] []
            [] []
      jgs [] []
    ~~^_~^~/ \~^-~^~ _~^-~_^~-^~_^~~ -^~_~^~-~_~-^~_^/ \~^ ~~_ ^
>>> info
Configuration for {your email}
IMAP Settings
Address: 127.0.0.1
IMAP port: 1143
Username: {your email}
Password: {your password}
Security: STARTTLS

SMTP Settings
Address: 127.0.0.1
IMAP port: 1025
Username: {your email}
Password: {your password}
Security: STARTTLS
{your email}{your password}을 기록합니다.너 앞으로 이런 거 필요할 거야.

5단계: 오프라인 IMAP 설정


Github에서 찾은 소스 오픈 툴을 사용할 것입니다.저자peterrus.
다음 명령을 실행하여 Github에서 재구매 계약을 해제합니다.
git clone https://github.com/peterrus/protonmail-export-linux.git
cd를 클론 재구매 계약으로 전환
cd protonmail-export-linux
이제 설치해야 합니다offlineimap.
sudo apt-get install offlineimap
설치 후 protonmail-export-linux 디렉터리에 offlineimaprc 파일이 하나 있습니다.네가 가장 좋아하는 텍스트 편집기로 이것을 열어라.이 예에서 나는 사용할 것이다vim.
vim offlineimparc
열린 파일을 아래와 같이 보실 수 있습니다
# Feel free to modify this file to your needs
# See https://github.com/OfflineIMAP/offlineimap/blob/master/offlineimap.conf for a full reference

[general]
accounts = Protonmail
metadata = ./offlineimap-metadata

[Account Protonmail]
localrepository = ProtonmailLocal
remoterepository = ProtonmailRemote

# Feel free to change this, or disable it by commenting it out
postsynchook = notify-send 'Protonmail export done'

[Repository ProtonmailLocal]
type = Maildir
localfolders = ./protonmail-export
# If you (accidentally) delete mail locally, it won't get synced to Protonmail
sync_deletes = no

[Repository ProtonmailRemote]
type = IMAP
# Change this to the value provided in the Protonmail bridge
remoteuser = {your email}
remotepass = {your password}
remotehost = localhost
remoteport = 1143
ssl = no
starttls = no
# If you delete mail on Protonmail, this deletion also get's synced to the archive
expunge = yes
# Don't try to sync local changes to Protonmail, we just want a backup
readonly = True
내가 지정한 {your email} 부분과 {your password} 부분을 제외하고는 모든 것이 원상태로 유지된다.ProtonMail Bridge 이메일과 비밀번호로 바꿔야 합니다. 제가 이 점을 알려드렸습니다.
변경 사항을 저장하고 텍스트 편집기를 종료합니다.

6단계: 화면 설정


나는 화면을 사용하여 백엔드에서 서비스를 실행한다.protonmail-bridgeofflineimap 모두 동시에 실행해야 합니다.
sudo apt-get install screen

단계 7: 시작 스크립트 만들기


나는 나 자신을 간소화하고 실행 스크립트를 만들었다protonmail-bridgeofflineimap이것은 제 스크립트입니다. 홈 디렉터리에 start-sync.sh 라는 새 파일을 만들기만 하면 됩니다.실행
sudo chmod +x start-sync.sh
start-sync.sh 문서의 내용은 다음과 같아야 한다.
#! /bin/bash
echo "killing existing screen sessions"
pkill screen
echo "Starting bridge"
screen -d -m protonmail-bridge --cli
echo "Starting sync"
sleep 10
screen -d -m offlineimap -c /home/{your user}/protonmail-export-linux/offlineimaprc
이 셸 스크립트에서 파일의 위치를 변경합니다.

8단계: 오프라인 IMAP 시작


지금은 너를 실행할 때야offlineimaprc
./start-sync.sh
이제 당신의 두 가지 서비스가 모두 시작되어야 합니다.그것들을 보려면 아래 명령을 실행하십시오
screen -r
다음 출력을 보실 수 있습니다
ed@mail:~# screen -r
There are several suitable screens on:
        6415..mail (12/05/20 18:06:26) (Detached)
        6308..mail (12/05/20 18:06:16) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
ed@mail:~#
그리고 뛰다
screen -r 6415 // 6415 being the id of the top process on the screen -r output
ProtonMail Bridge가 성공적으로 검증한 출력과 현재 다운로드 중인 전자 메일 목록을 볼 수 있습니다.
Copy message UID 2081 (23/3445) ProtonmailRemote:All Mail -> ProtonmailLocal
Folder INBOX [acc: Protonmail]:
etc...
두드리기start-sync.shCtrl + a를 통해 이 화면에서 분리됩니다.

9단계: 내 이메일은 어디에 있습니까?


e-메일을 다운로드하면 에 저장됩니다Ctrl + d.~/protonmail-export 하위 디렉터리에 있는 이 디렉터리에서 전자 우편 폴더 목록을 보아야 합니다.

10단계:cron 작업을 설정하여 새 전자 우편을 가져옵니다


이 작업을 매일 또는 매시간 실행할 때입니다. 무엇을 선택하든지.
다음 명령 실행
sudo crontab -e
cur 파일의 맨 아래에 다음 명령을 붙여넣습니다.
0 0 * * * /home/{your user}/start-sync.sh
나는 명령을 실행하는 시간표를 선택하는 데 도움을 주는 crontab.guru 도구를 사용한다.
나의 명령은 매일 자정에 운행될 것이다.

이게 다야.


모든 것이 순조롭게 진행되기를 바랍니다.만약 당신이 평론에서 어떤 문제를 받게 된다면, 저에게 알려 주십시오. 저는 기꺼이 당신에게 도움을 제공할 것입니다.
이제 Dropbox나 Syncthing과 같은 모든 메일을 동기화할 수 있습니다.

좋은 웹페이지 즐겨찾기