최근 브라우저를 Chrome에서 Brave를 거쳐 Eloston Chromium으로 변경하게 되었습니다. Chrome에서 Brave로 넘어가게 된 계기는 Ublock Origin의 지원 종료 예정과 브라우저가 점점 무거워진다고 느꼈기 때문입니다.

Brave는 자동으로 광고를 차단해주는 장점이 있었지만, 여러 탭을 동시에 열었을 때 브라우저가 멈추는 현상이 자주 발생했습니다.

이러한 문제를 해결하기 위해 가볍고 안정적인 브라우저를 찾던 중, Chrome 기반이면서 Google 서비스가 제거된 Eloston Chromium을 발견하게 되었습니다.

Eloston Chromium 정보


저는 대부분의 비밀번호를 1Password의 랜덤 생성 기능을 통해 관리하고 있습니다. 새로운 브라우저에서도 1Password를 계속 사용하고 싶었기에 관련 설정 방법을 찾아보았습니다.

Eloston Chromium은 기본적으로 Chrome Web Store가 제거되어 있어 확장 프로그램 설치를 위해서는 추가 설정이 필요합니다.

CRX File 설치 사전 작업

Always install extension MIME type requests

Change the flag chrome://flags/#extension-mime-request-handling to Always prompt for install. Then when using the CRX URL from the omnibox, the custom search engine, or the Bookmarklet, the browser will prompt for installation.

ref: https://ungoogled-software.github.io/ungoogled-chromium-wiki/faq

Chrome Web store 설치

Chromium Web Store

Release로 가서 Chromium.Web.Store.crx 를 다운 받으면 설치 Prompt창이 나타나는데 Add extension 를 눌러 설치 하면 됩니다.

1Password Extension 설치

1Password Extension

Extension 페이지에 접속해서 설치합니다.

1Password <> Eloston Chromium 연동하기

Eloston Chromium 브라우저는 공식적으로 지원하는 브라우저가 아니므로, 1Password Desktop에서 Setting > Browser > Connecto additional browsers 탭에서 Chromium을 추가합니다.

웬만하면 이 스텝에서 1Password Desktop App이랑 Extension이 연동이 되지만 아래의 에러가 나타나며 연동이 되지 않는 예외의 경우가 있습니다.

Error Log:

Desktop app port disconnected. Error: Specified native messaging host not found.

위 문제를 해결하려면 아래와 명령어를 복사해서 실행하면 문제 없이 연동됩니다.

cd ~/Library/Application Support/Chromium/NativeMessagingHosts
cat <<EOF > com.1password.1password.json
{
  "name": "com.1password.1password",
  "description": "1Password BrowserSupport",
  "path": "/Applications/1Password.app/Contents/Library/LoginItems/1Password Browser Helper.app/Contents/MacOS/1Password-BrowserSupport",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://hjlinigoblmkhjejkmbegnoaljkphmgo/",
    "chrome-extension://gejiddohjgogedgjnonbofjigllpkmbf/",
    "chrome-extension://khgocmkkpikpnmmkgmdnfckapcdkgfaf/",
    "chrome-extension://aeblfdkhhhdcdjpifhhbdiojplfjncoa/",
    "chrome-extension://dppgmdbiimibapkepcbdbmkaabgiofem/"
  ]
}
EOF