Code Monkey home page Code Monkey logo

skypeexport's Introduction

SkypeExport

Cross-platform Skype history exporter written in C++. Very fast. Spits out beautiful, completely self-contained HTML pages that don't require any extra files.

Supports all features of the Skype protocol thanks to careful reverse-engineering.

Features

  • Output all contacts or just a certain subset.
  • Edited-state of messages.
  • Delivery-state (Pending/delivered).
  • Emotes (/me emotes).
  • Message formatting added in Skype 7 (bold, italics, strikethrough and preformatted).
  • File transfers and their states (including multi-recipient transfers in conferences), their filenames and sizes (in human-friendly format).
  • Cloud-based file transfers (introduced in Skype 6.22).
  • Phone calls (incoming/outgoing/missed/ended).
  • Conference chats (their creation as well as their contents and people being added/leaving and all the chat history and events that took place in the conference, along with a custom style to set conferences apart graphically).
  • Text messages including dynamic page-width based wrapping of extremely long words.
  • Text with multiple whitespaces and/or indentations is drawn properly.
  • Removed messages ("This message has been removed.").
  • Sender of a message (with their exact name at that point in time).
  • Web links.
  • Timestamps (with your choice of 12/24h time and optional UTC).
  • Emoticons (all of them).
  • All country flag icons.
  • Detection and output of Display Name changes for yourself and others without needing a change in message-chunk direction (not even Skype does this!).
  • Complete history export including every conference they were ever added to/talked in (this is something that even Skype itself cannot do!).
  • The entire history for a chat contact is output as a single XHTML file that works in all modern browsers and contains the entire history and all images, stylesheets, etc (in a highly compressed format); this means you can share a single .htm file and it will contain the entire history and everything required to render it properly!
  • It even outputs the complete history for people you have long-since deleted from your contact list!
  • ...and much more (actually, that's all the major stuff, so not that much more ;)).

Binaries

Compiling

  • Windows compilation is done using Visual Studio or the compiler of your choice.
  • Mac OS X and Linux compilation is done using the included shell scripts.

Quick Guide

  • Open a Terminal (OS X) or Command Prompt (Windows) and navigate to the folder containing your unzipped SkypeExport binary. For example, if it's stored in your Downloads folder, you would type "cd Downloads" to navigate there.
  • Next, run the appropriate export command for your platform below (and remember to change your_username to your actual Skype ID).
  • (Windows) SkypeExport.exe --db "%AppData%\Skype\your_username\main.db"
  • (Mac) ./SkypeExport --db ~/Library/Application\ Support/Skype/your_username/main.db
  • To see all possible export options, simply add --help to the command to see a list of extra features. The most commonly used optional feature is "--timefmt 24h" which switches the output to 24 hour time format.

History & The Future

  • SkypeExport was born as a personal project as I was leaving Skype and needed some way of exporting years of conversations, but there were no solutions out there for doing so.
  • This software was created during an intense 3 week reverse engineering and coding session and was finished on August 28th, 2011, working perfectly with the latest Windows and Mac Skype versions out at that time.
  • As of December 2015, it still works perfectly with all of the latest versions of Skype; verified using Skype 7 on OS X. Support has been added for all new Skype 7 features such as message formatting, cloud history and cloud file transfers.
  • I, the author, have no more time for tinkering with the code since it already fully supports the Skype protocol and is extremely robust. What remains to be done is just minor user-experience work such as offering an easier interface. If you are interested in ways to help make the project even better, consider forking it and creating a cross-platform graphical user interface for this command line application. The preferred solution would be a Qt GUI, since it's the best cross-platform GUI toolkit.
  • The codebase is filled to the brim with extremely detailed comments, making it easy to understand for someone that's determined to read through it all.
  • Getting your head around the structure of this project might take a bit longer than a fully-polished, documented project, but everything is actually fairly straight-forward and self explanatory. Just poke around in the folders and read the various files.
  • You can also read through the entire project release history if you are curious about how the project has evolved.
  • Well, that's all for now! Have fun!

skypeexport's People

Contributors

temptin avatar sthoduka avatar

Watchers

 avatar

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.