INSTALLATION
Izy Sync is now broken up into small services, that can be put into the Izy Task Runner for continous syncing of data. Example data sources and services are: imap, gmail(gapi), slack, generic pop3, etc.
Notice that IMAP is still supported by the izy-sync package.
Commandline Usage
HAR collection
You should normalize your data dumps by
npm run "filestore?normalize" queryObject.storePath ~/Downloads
Slack
For production environment, customize the service-compose.json and deploy as a a nanoservice
node apps/slack.js pathtoharrepo servicename
To inspect HAR content and reconstruct from a HAR file, try
npm run "slack?fromHAR" queryObject.path ~/tmp/app.slack.com.har
IMAP Server Sync
Many services support the IMAP protocol. The IMAP protocol allows for querying via the 'SEARCH' command (see https://tools.ietf.org/html/rfc3501
page-49).
You may pass on the protocol specific data via the Izy command line configurations:
`
imap.search.key1 ALL imap.search.key2 SINCE imap.search.key3 SINCE 'June 24, 2016'
`
Below are a few common service provider specific examples.
Gmail
`
node cli.js method imap imap.user me@gmail.com imap.password mypass imap.host imap.gmail.com imap.port 993 imap.tls true mimestore.modhandler localfs mimestore.path /tmp/izyware/mimestore imap.search.key1 ALL imap.search.key2 SINCE imap.search.key3 '2010/01/01'
`
GoDaddy
NOTE: By default GoDaddy only supports POP3. Only unlimited Email plan supports IMAP.
`
node cli.js method imap imap.user me@email.com imap.password mypass imap.host imap.secureserver.net imap.port 993 imap.tls true mimestore.modhandler localfs mimestore.path /tmp/izyware/mimestore imap.search.key1 ALL imap.search.key2 SINCE imap.search.key3 '2010/01/01'
`
Gmail, API Based Mailbox Access
You may also access items through the Google gmail apis. You would need to run a the worker task for gmail on your machine first:
`
cd thirdparty/gmail
node taskrunner.js
`
Note that the taskrunner may be configured to use a socket server. For example to enable izysocksserver1
you can use SSH:
`
ssh -D 19999 user@host.com
`
Notes about session tokens and API limitations
Grabbing the Session Data
- go to https://developers.google.com/apis-explorer/
search/messages/m/gmail/v1/gmail.users.messages.list?userId=me&_h=1&
Click authorize and execute*
- Check only [x] https://mail.google.com/
- Make sure developer console is open and you are tracking the network traffic
Click authorize and execute* (again)
- Cut & Parse the entire heads tab for https://content.googleapis.com/gmail/v1/users/me/messages?key=...
- Make sure each section's name (Request Headers, is present in the payload)
GAPI behavior
- The first time, it will ask you to pick an account and it will confirm that you want to allow GOOGLE API EXPLORER to Read, send, delete, and manage your email.
- A confirmation email is sent
Google APIs Explorer connected to your Google Account
- Another confirmation email another security email was sent to the backup email account.
- The emails above were NOT sent for an MFA account but it they were sent for a non MFA (This is as of June 26 2017).
- Works with logged-in and MFA enabled (no further MFA verification)
- The data download is not throttled by size.
- The session cookie expires after about an hour or so (not predictable)
- The download rate is about 400MB/hour
Query Mime Repository Database
If you are dealing with a file based repository, you can get the oldest date by:
`
find . -type f -exec grep -i 'To: email' {} \;
`
remove -r from ls to get the newst date
NOTE
for more details, visit https://izyware.com
ChangeLog
V7.4
- 7400040: docgen - improve monitoring. implement showRevisions feature
- 7400039: slack - improve monitoring
- 7400038: docgen - improve UI. Implement support for emoji in slack blocks
- 7400037: docgen - implement messenger-dark theme
- 7400036: docgen - overwriteMessages add support for loading txt from external file
- 7400035: docgen - implement incidentsGrepStr, support hh:mm, inline emojis
* incidentsGrepStr useful for picking individual incidents and iterating
- 7400034: docgen - improve formatting and rendered UI
- 7400033: docgen - move path info to compose files
- 7400032: docgen - add slack transforms
- 7400031: docgen - add new serialize/image module, allow overwriteMessages from yml
- 7400030: docgen - improve image caching algorithm
- 7400029: slack - improve emoji, timeline and metadata rendering.
- 7400028: docgen - add support for yaml and improve layout
- 7400027: slack - improve JSONcache and layout generation
- 7400026: slack - decouple serialization from json store matainance
- 7400025: extract and render rich_text from the messages
- 7400024: slack - improve dedup algorithm to pick up the most up to date item
- 7400023: slack - improve rendering of attachments
- 7400022: slack - add title. fix misc naming bugs
- 7400021: slack - allow specification of slackQuery.windowSize
- 7400020: slack - improve rendering of reactions and emojis. allow query clientmsgid by range.
- 7400019: fix new line issue with message
- 7400018: documentation - allow embedding of slack screenshots into document trail
- 7400017: slack - optimize JSON cache by removing conversations and storing users
- 7400016: slack - implement JSON cache for message
* add fromJSONCache to the service compose
- 7400015: slack - include invisible message metadata on the output
- 7400014: slack - implement slack-dark theme
- 7400013: slack - implement nanoservice with service-compose.json
- 7400012: slack - extract channel data, implement contentGrepStr to replace responseGrepStr
- 7400011: slack - dedup messages
- 7400010: har - implement store iterator
* useful for batch processing items in a store
- 7400009: filestore - implement normalizer
* helps in collecting har dumps and other data files for training the models
- 7400008: slack - improve error handling
- 7400007: slack - improve logging and extract more timestamp metadata
- 7400006: slack - extract reactions
- 7400005: refactor and regornize the source implementation to allow for more extensibility
- 7400004: slack - improve monitoring
- 7400002: slack - ignore messageTyp1 when clientmsgid is speced
- 7400002: allow query strings for fromHAR extractors and implement usersMapLoad. support html and text output
* support urlGrepStr, responseGrepStr, clientmsgid queryObject parameters
- 7400001: implement fromHAR for slack source
V6.1
- 6100044: implement HAR (HTTP Archive) data parser
* Supports generation ['net.httprequest'] compatible chain items for replaying the HAR contents..
* HAR is defined in the W3C Specification is an archival format for HTTP transactions that can be used by a web browser to export detailed performance data about web pages it loads.
- 6100043: update .gitignore