GithubHelp home page GithubHelp logo

search5 / evernote-for-linux Goto Github PK

View Code? Open in Web Editor NEW
79.0 16.0 6.0 6.38 MB

This is an unofficial packaged version of Evernote (same as the Windows distribution version)

Shell 49.16% Python 50.84%
electron enex-files evernote evernote-enex google-keep javascript linux nodejs note-taking notebook typescript clucene notes todo web-clipper

evernote-for-linux's Introduction

Evernote for Linux

Bendingspoon, the company that acquired Evernote, removed all compilable source code and Linux support that had been added to the Evernote for Windows binaries.

With version 10.60.4 officially locked down, it's now virtually impossible to repackage, even if I were to provide the community with the build scripts I've been using.

This was a project that I personally took on without permission from Evernote when I first saw the notion-for-linux project and was inspired by it, and it seems clear that Bendingspoon no longer intends to support Linux.

If I were to recommend an alternative to Evernote to anyone who came to this project, I would recommend going to notion, obsidian, etc. and if you still need to use Evernote for the time being, I would recommend installing a program called webcatalog to use the web version of Evernote.

We apologize that we are no longer able to maintain the project.

2024-03-29 build notice update

  • After a certain version of Evernote, I was concerned that I could be sued for reverse engineering the Evernote program, so I kept the build script to myself and no longer updated it.

Setup Requirements

  • Debian 9 or Ubuntu Linux 18.04
  • Python3
  • Git
  • NodeJS 14.15.4

Setup

Download the system package.

apt-get install libsecret-1-dev libclucene-dev build-essential p7zip-full libuv1-dev

Private NPM Registry setup

npm install -g node-gyp node-pre-gyp
npm install verdaccio

Please refer to other documentation on how to set up Verdaccio.

Python Packages Install

pip install click

Git Clone

git clone https://github.com/search5/Evernote-for-Linux.git

Registering required packages in private NPM Registry

cd Evernote-for-Linux/build_helper
./publishConfig_update.py --registry http://localhost:4873

Please note that the private NPM Registry URL may vary depending on the setting (the value used here is the default value).

Packages to be registered in the private registry need to go into a separate directory and only issue the npm publish command.

There are two types of en-data-model: evernote_modules/en-data-model and evernote_modules/en-graph-types/node_modules/en-data-model, each with completely different versions and content. Therefore, these two modules must be registered separately with the private NPM.

Evernote Build

cd Evernote-for-Linux
./build.sh

When Evernote build is complete, a deb file is created in the out directory, and once this file is installed, Evernote can be used in Linux.

ElectronJS used in this project is version 11.1.1, and if the version to be used is different, you need to enter build.sh as well as electron-clipboard-files, modify package.json, rebuild, and upload to private NPM (for convenience of development). There are some pre-built for Electron 11.1.1, Linux, and amd64)

Warning: This project is based on information extracted from the official Evernote EXE file, and unauthorized modification of the source code is not permitted, and redistribution is not permitted. In the case of distribution or general distribution by modifying the source code in any form, the legal responsibility for the person concerned lies with the actor.

Copyright: The copyright of the program code in the node_modules directory belongs to Evernote, and the copyrights of various Python scripts and shell scripts belong to Lee Persy Ji-ho ([email protected]), and are subject to the BSD license.

evernote-for-linux's People

Contributors

search5 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

evernote-for-linux's Issues

Login via Google Hangs

Issue Summary

Google authentication hangs.

Steps to Reproduce

  1. Open the app
  2. When the login screen appears click the Google icon
  3. Browser (in this case, Brave) opens and able to select Google account
  4. Prompted to close tab (so do that)
  5. Go back to Evernote window

Actual Results

Application sits with "Signing in..." message showing.

Expected Results

"Signing in..." is automatically dismissed and taken to the full UI.

System Information

NAME="Pop!_OS"
VERSION="20.10"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 20.10"
VERSION_ID="20.10"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=groovy
UBUNTU_CODENAME=groovy
LOGO=distributor-logo-pop-os

Other Notes

  • I am able to log in to the Evernote web via the Google login, so it's not the account
  • Account was set up via Google SSO, so using username/password is not an option here

Screenshots

EvernoteBrowser

EvernoteClient

Problem on Ubuntu 22.04

Thanks for a really awesome package for Evernote - better than the private beta.

Since updating to Ubuntu 22.04, I've noticed an issue on one machine (but not on another). App starts then immediately crashes with following log:

[2022-05-18T15:25:56.498Z] INFO: electron.main/121982 on yellowBox(/usr/lib/evernote-client/resources/app/node_modules/en-ts-utils/src/logger.ts:248 in info): client:utils:PerformanceLogger ELECTRON_INITIALIZATION took: 1400 ms (topicName=client:utils:PerformanceLogger)
[2022-05-18T15:25:56.508Z] INFO: electron.main/121982 on yellowBox(/usr/lib/evernote-client/resources/app/node_modules/en-ts-utils/src/logger.ts:248 in info): client:utils:PerformanceLogger APP_INITIALIZATION started: 1560 (topicName=client:utils:PerformanceLogger)
[2022-05-18T15:25:56.508Z] INFO: electron.main/121982 on yellowBox(/usr/lib/evernote-client/resources/app/node_modules/en-ts-utils/src/logger.ts:248 in info): Main app ready {"sender":{"userAgentFallback":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) evernote-client/10.34.4 Chrome/89.0.4389.128 Electron/12.2.3 Safari/537.36","allowRendererProcessReuse":true,"commandLine":{},"isPackaged":true,"_events":{},"_eventsCount":11}}
(node:121982) UnhandledPromiseRejectionWarning: TypeError: c.PromiseBuffer is not a constructor
at K.e (/usr/lib/evernote-client/resources/app/main.js:2:55293)
at new t (/usr/lib/evernote-client/resources/app/main.js:2:24917)
at new K (/usr/lib/evernote-client/resources/app/main.js:852:24853)
at MainBackend._setupTransport (/usr/lib/evernote-client/resources/app/node_modules/@sentry/electron/dist/main/backend.js:115:20)
at MainBackend.BaseBackend (/usr/lib/evernote-client/resources/app/node_modules/@sentry/electron/node_modules/@sentry/core/dist/basebackend.js:15:32)
at new MainBackend (/usr/lib/evernote-client/resources/app/node_modules/@sentry/electron/dist/main/backend.js:59:24)
at MainClient.BaseClient (/usr/lib/evernote-client/resources/app/node_modules/@sentry/electron/node_modules/@sentry/core/dist/baseclient.js:52:25)
at new MainClient (/usr/lib/evernote-client/resources/app/node_modules/@sentry/electron/dist/main/client.js:17:23)
at Object.initAndBind (/usr/lib/evernote-client/resources/app/node_modules/@sentry/electron/node_modules/@sentry/core/dist/sdk.js:18:18)
at Object.init (/usr/lib/evernote-client/resources/app/node_modules/@sentry/electron/dist/main/index.js:53:12)
(Use evernote-client --trace-warnings ... to show where the warning was created)
(node:121982) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:121982) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[2022-05-18T15:25:56.626Z] WARN: electron.main/121982 on yellowBox(/usr/lib/evernote-client/resources/app/node_modules/en-ts-utils/src/logger.ts:258 in warn): electron:settings Unable to load settings, reverting to defaults Error: ENOENT: no such file or directory, open '/home/yellowbox/.config/evernote-client/localsettings.json' (topicName=electron:settings)
[2022-05-18T15:25:56.628Z] INFO: electron.main/121982 on yellowBox(/usr/lib/evernote-client/resources/app/node_modules/en-ts-utils/src/logger.ts:248 in info): boron:appProtocol Registering buffer protocol for the session {"defaultSession":{"availableSpellCheckerLanguages":["af","bg","ca","cs","cy","da","de","de-DE","el","en-AU","en-CA","en-GB","en-GB-oxendict","en-US","es","es-419","es-AR","es-ES","es-MX","es-US","et","fa","fo","fr","fr-FR","he","hi","hr","hu","hy","id","it","it-IT","ko","lt","lv","nb","nl","pl","pt","pt-BR","pt-PT","ro","ru","sh","sk","sl","sq","sr","sv","ta","tg","tr","uk","vi"],"spellCheckerEnabled":true,"cookies":{},"netLog":{"currentlyLogging":false},"protocol":{},"serviceWorkers":{},"webRequest":{}}} (topicName=boron:appProtocol)
[2022-05-18T15:25:56.628Z] INFO: electron.main/121982 on yellowBox(/usr/lib/evernote-client/resources/app/node_modules/en-ts-utils/src/logger.ts:248 in info): boron:appProtocol Registering buffer protocol for the session {"defaultSession":{"availableSpellCheckerLanguages":["af","bg","ca","cs","cy","da","de","de-DE","el","en-AU","en-CA","en-GB","en-GB-oxendict","en-US","es","es-419","es-AR","es-ES","es-MX","es-US","et","fa","fo","fr","fr-FR","he","hi","hr","hu","hy","id","it","it-IT","ko","lt","lv","nb","nl","pl","pt","pt-BR","pt-PT","ro","ru","sh","sk","sl","sq","sr","sv","ta","tg","tr","uk","vi"],"spellCheckerEnabled":true,"cookies":{},"netLog":{"currentlyLogging":false},"protocol":{},"serviceWorkers":{},"webRequest":{}}} (topicName=boron:appProtocol)
[2022-05-18T15:25:56.639Z] INFO: electron.main/121982 on yellowBox(/usr/lib/evernote-client/resources/app/node_modules/en-ts-utils/src/logger.ts:248 in info): client:utils:PerformanceLogger CONDUIT_INIT started: 1691 (topicName=client:utils:PerformanceLogger)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[121982:0518/172558.158002:FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.
Trace/breakpoint trap (core dumped)

Usage documentation wrong?

Hi,

I cannot seem to get this working:

/publishConfig_update.py --registry http://localhost:4873
Usage: publishConfig_update.py [OPTIONS] REGISTRY
Try 'publishConfig_update.py --help' for help.

Error: no such option: --registry

Need to relogin to evernote on each application restart

Hello,

Evernote itself works great here, the only issue is that I have to relogin to evernote each time I launch the app (which is quite inconvenient since I also have activated two factor authentication on my account).
To log-in I'm using a standard evernote account and not a google or apple account.
On this specific machine I'm running kubuntu 22.04 (I'm not experiencing the same issue on my primary machine running popos 21.10)
.
Any hints?

Thank you very much for the great work you are doing!

Did you give up on the project?

I know Evernote has lost its way in recent years. Now it seems to have gotten better again. This is the best alternative to have Evernote working well on Linux and despite using an old version, it is the best alternative. Updates were fast and frequent with each officially released version, but it seems like you've given up. Could you talk a little about that?

publishConfig_update.py: no such file or directory

I am trying to follow the documentation here, and tried running the following commands:

./publishConfig_update.py --registry http://localhost:4873

I get the following error:
bash: ./publishConfig_update.py: No such file or directory

After looking at the files, it seems that this file is no longer included?
image

I am new to Linux, and so any suggestions/help I would appreciate it.

Evernote client 10.60.4 says it is not supported

I was logged off from the Evernote client, and during my re-login I'm getting message "Client not supported, please upgrade".

Evernote's verison: 10.60.4:

$ LANG=C apt-cache show evernote-client
Package: evernote-client
Status: install ok installed
Priority: optional
Section: utils
Installed-Size: 521300
Maintainer: Evernote Corporation <[email protected]>
Architecture: amd64
Version: 10.60.4-20230803182206
Depends: libgtk-3-0, libnotify4, libnss3, libxtst6, xdg-utils, libatspi2.0-0, libdrm2, libgbm1, libxcb-dri3-0, kde-cli-tools | kde-runtime | trash-cli | libglib2.0-bin | gvfs-bin
Recommends: pulseaudio | libasound2
Suggests: gir1.2-gnomekeyring-1.0, libgnome-keyring0, lsb-release
Description: evernote-client
 evernote-client
Description-md5: 
Homepage: https://evernote.com/

Console log is attached
evernote_client_console.log

Regular updates

Hello,

Thank you for the fantastic work on the Evernote client for Linux. Your efforts are particularly appreciated following Evernote's announcement of discontinuing updates for the Linux Beta client.

Could you please inform me about the frequency of updates for this client? Is the process automated, with a service that monitors, builds, and uploads updates, or is it managed manually?

Additionally, I'd like to offer my support. Is there anything I can do to assist you in this project?

Best regards,
Laurence

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.