4 ms·
> The other versions are native. It's one of the things that sets 1Password apart. Is the Linux version Electron? Yes, it is very obvious from the screenshot t
by guessmyname 6y ago
> The other versions are native. It's one of the things that sets 1Password apart. Is the Linux version Electron?
Yes, it is very obvious from the screenshot that it’s built on top of Electron [1].
GTK nor Qt have that type of UI elements, they are obviously HTML elements stylized with CSS.
Another hint is in the files contained inside the Debian package used during the Linux installation [2]:
root@3cb1637b3070:/# apt-get download 1password
root@3cb1637b3070:/# dpkg --extract 1password_0.8.0-22506_amd64.deb temp
root@3cb1637b3070:/# ls -lia ./temp/opt/1Password/
total 177900
661008 drwxr-xr-x 5 root root 4096 Aug 3 18:23 .
661007 drwxr-xr-x 3 root root 4096 Aug 3 18:23 ..
661011 -rwxr-xr-x 1 root root 129796744 Aug 3 18:21 1password
661010 -rw-r--r-- 1 root root 1060 Aug 3 18:21 LICENSE.electron.txt
661023 -rw-r--r-- 1 root root 4710103 Aug 3 18:21 LICENSES.chromium.html
661021 -rwxr-xr-x 1 root root 6322128 Aug 3 18:21 chrome-sandbox
661017 -rw-r--r-- 1 root root 179981 Aug 3 18:21 chrome_100_percent.pak
661013 -rw-r--r-- 1 root root 321151 Aug 3 18:21 chrome_200_percent.pak
661022 -rw-r--r-- 1 root root 10505952 Aug 3 18:21 icudtl.dat
661012 -rwxr-xr-x 1 root root 243992 Aug 3 18:21 libEGL.so
661014 -rwxr-xr-x 1 root root 8948960 Aug 3 18:21 libGLESv2.so
661024 -rwxr-xr-x 1 root root 3103488 Aug 3 18:21 libffmpeg.so
661020 -rwxr-xr-x 1 root root 4488304 Aug 3 18:21 libvk_swiftshader.so
661018 -rwxr-xr-x 1 root root 8483376 Aug 3 18:21 libvulkan.so
792826 drwxr-xr-x 2 root root 4096 Aug 3 18:23 locales
792824 drwxr-xr-x 2 root root 4096 Aug 3 18:23 resources/app.asar
661015 -rw-r--r-- 1 root root 4791423 Aug 3 18:21 resources.pak
661009 -rw-r--r-- 1 root root 50592 Aug 3 18:21 snapshot_blob.bin
792821 drwxr-xr-x 2 root root 4096 Aug 3 18:23 swiftshader
661019 -rw-r--r-- 1 root root 170903 Aug 3 18:21 v8_context_snapshot.bin
661016 -rw-r--r-- 1 root root 107 Aug 3 18:21 vk_swiftshader_icd.json
You can use “npx asar extract /opt/1Password/resources/app.asar source” to access the JavaScript files [3].
[1] https://i.imgur.com/pGJ4Wvd.png https://i.imgur.com/pGJ4Wvd.png
[2] https://support.1password.com/cs/getting-started-linux/ https://support.1password.com/cs/getting-started-linux/
[3] https://stackoverflow.com/a/38524534 https://stackoverflow.com/a/38524534
- pseudalopex 6y agoThe native versions don't look native either. You can use a web view without Electron too. Edit: Thanks for adding the package info.
- deleted 6y ago[deleted]
- andialo 6y ago> Yes, it is very obvious from the screenshot that it’s built on top of Electron [1]. I love this. It was my first reaction when I used MS Teams ... shit, it's electron and the I got the horrible user experience as usual. And in MS Teams even the font and its rendering is hardcoded and the devs are refusing to do anything about this! So when I use MS Teams I need to look at blurry text. EDIT: And they bundle libffmpeg.so too .... let's have a look at what version, though I guess 1password is not a good attack vendor as it'd be hard for the attacker to control input data, right.
- fmakunbound 6y agoHeh. What does the password manager use OpenGL and ffmpeg for? I guess the binary is 130MB(!) is the electron part?
- panpanna 6y agoLooking forward to seeing my passwords stolen by a zero day shader vulnerability...
- GoblinSlayer 6y agoIt's GLES, my guess they are web apis and are just chrome batteries.
- bwoodruff 6y agoOpenGL is included because the UI is hardware accelerated. ffmpeg comes from the toolchain (Electron, specifically). It looks like there is an open issue with Electron for that: https://github.com/electron/electron/issues/21967 https://github.com/electron/electron/issues/21967
- pjmlp 6y agoSo another application to ignore. React Native can't kill them all soon enough.