LeechCraft
Source (link to git-repo or to original if based on someone elses unmodified work):
LeechCraft allows to browse the web, chat via IM, read RSS/Atom feeds, download files via BitTorrent and other protocols, play audiofiles, automatically download, play or stream podcasts (and other media files) and much more.
LeechCraft is a modular system, and by installing different modules you can customize the feature set.
Main features:
Full-featured WebKit-based web-browser: http://leechcraft.org/plugins-poshuku.
Multiprotocol IM client, currently supporting XMPP (Jabber), IRC, WLM/MSN, MRIM and VKontakte protocols and all protocols supported by Telepathy. Here's the list of supported features: http://leechcraft.org/plugins-azoth and http://leechcraft.org/plugins-azoth-xoox.
Support for common feed formats with extensions like MediaRSS for enhanced media experience or GeoRSS for now-popular geolocation.
Collection-oriented media player: http://leechcraft.org/plugins-lmp with extensive social features like recommended artists and nearby events..
Modular document viewer supporting PDF, DjVu, PostScript and other formats: http://leechcraft.org/plugins-monocle.
Efficient and fast BitTorrent client with full support for the BitTorrent protocol and its widespread extensions.
Extensive support for Broadcatching and podcasts and their automatic retrieval.
Integrated userspace package manager for quick installation of new artwork, themes, script plugins, etc.
Support for plugins in script languages like Python or QtScript/JavaScript via our Qross library.
More complete features list is available on the page describing the plugins: http://leechcraft.org/plugins.
Building from source is documented here: http://leechcraft.org/development-building-from-source.
Release announcement for the 0.6.65 version: http://leechcraft.org/leechcraft-0.6.65-is-released.
Release announcement for the 0.6.0 version: http://leechcraft.org/leechcraft-0.6.60-is-released.
Release announcement for the 0.6.0 version: http://leechcraft.org/leechcraft-0.6.0-is-released.
Release announcement for the 0.5.95 version: http://leechcraft.org/leechcraft-0.5.95-is-released.
Release announcement for the 0.5.90 version: http://leechcraft.org/leechcraft-0.5.90-is-released.
Release announcement for the 0.5.85 version: http://leechcraft.org/leechcraft-0.5.85-is-released.
Release announcement for the 0.5.80 version: http://leechcraft.org/leechcraft-0.5.80-is-released.
LeechCraft is actively developed. We make quite regular development digests which overview the progress of the development. You can view all of them here:
http://leechcraft.org/taxonomy/term/27
Ratings & Comments
22 Comments
Any way to optimize it for SSD?
What do you mean by optimizng for SSD?
To store its cache in memory instead of on disk.
Well, you can turn off disk caching for the browser and increase the size of in-memory caches. It's not possible, though, to disable caching of various service data in IM — particularly things like avatars are always fetched and stored for now. Though I doubt it creates a somewhat observable workload for SSDs — once avatars for your roster are requested, no disk writes occur anymore (unless someone updates his avatar). I think it's possible, though, to patch the code to have in-memory log for chat history, for example, though that'd impact the soundness of the chat history database in case of OS crash or power loss, and I doubt it's worth it. I also doubt it's worth to prune the cache of entity capabilities in IM — that data is quite important for proper functioning of the XMPP client, and rerequesting it on each startup would terribly affect overall performance of both the client one uses and the corresponding XMPP server.
This is another error. Leechcraft build without problem the POPISHU plugin. But when i start leechcraft i have this error /usr/lib/leechcraft/plugins/libleechcraft_popishu.so: libqscintilla2.so.5 => not found I have Qscintilla2 installed and the requested library is inside /usr/lib/qt/lib # ls -l *qscintill* lrwxrwxrwx 1 root root 23 apr 28 2011 libqscintilla2.so -> libqscintilla2.so.5.4.1* lrwxrwxrwx 1 root root 23 apr 28 2011 libqscintilla2.so.5 -> libqscintilla2.so.5.4.1* lrwxrwxrwx 1 root root 23 apr 28 2011 libqscintilla2.so.5.4 -> libqscintilla2.so.5.4.1* -rwxr-xr-x 1 root root 1713596 mar 25 2011 libqscintilla2.so.5.4.1*
Have you tried running `ldconfig`?
On Slackware the file ld.so.conf missing the /usr/lib/qt/lib path. But i have all the qt4 libraries inside this directory and i have this problem only with the POPISHU plugin and the shared Qscintilla libraries. Leechcraft run without problems...
Have you any other apps using QScintilla2? If you do, do they run well?
The only app i know using Qscintilla is Eric4 and work without problems.
Leechcraft crash on startup with my Slackware 13.37 and Italian localization. It start without problems only when i disable the azoth plugin during compilation -DENABLE_AZOTH=FALSE. This is the console output on error > leechcraft QTranslator* LeechCraft::Util::InstallTranslator(const QString&, const QString&, const QString&) could not load translation file for locale "it_IT" "qt_it_IT"
This could happen due to QtMultimedia issues. Please try compiling with Azoth enabled and with -DENABLE_MEDIACALLS=False cmake option.
Same runtime error with -DENABLE_MEDIACALLS=FALSE > leechcraft QTranslator* LeechCraft::Util::InstallTranslator(const QString&, const QString&, const QString&) could not load translation file for locale "it_IT" "qt_it_IT" Annullato
Could you please paste a backtrace somewhere then? To obtain it: gdb leechcraft run bt
bt #0 0xb6d8b2d7 in raise () from /lib/libc.so.6 #1 0xb6d8ccee in abort () from /lib/libc.so.6 #2 0xb71536c2 in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4 #3 0xb7153867 in ?? () from /usr/lib/libQtCore.so.4 #4 0xb7153979 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4 #5 0xb7153a05 in qt_assert(char const*, char const*, int) () from /usr/lib/libQtCore.so.4 #6 0xade47021 in ?? () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #7 0xade4708b in ?? () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #8 0xade4c876 in gpgQCAPlugin::MyKeyStoreList::gpg_finished() () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #9 0xade47695 in gpgQCAPlugin::MyKeyStoreList::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #10 0xb7257b7a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #11 0xb72679bd in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #12 0xade51f69 in gpgQCAPlugin::GpgOp::finished() () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #13 0xade41fbe in gpgQCAPlugin::GpgOp::Private::act_finished() () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #14 0xade3bc7c in gpgQCAPlugin::GpgOp::Private::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #15 0xb7257b7a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #16 0xb72679bd in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #17 0xade38c09 in gpgQCAPlugin::GpgAction::finished() () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #18 0xade3f23e in gpgQCAPlugin::GpgAction::processResult(int) () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #19 0xade3b72a in gpgQCAPlugin::GpgAction::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #20 0xb7257b7a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #21 0xb72679bd in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #22 0xade51b95 in gpgQCAPlugin::GPGProc::finished(int) () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #23 0xade33f3b in gpgQCAPlugin::GPGProc::Private::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #24 0xb7257b7a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #25 0xb72679bd in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #26 0xade335a5 in gpgQCAPlugin::QProcessSignalRelay::finished(int) () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #27 0xade3375a in gpgQCAPlugin::QProcessSignalRelay::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/qt/plugins/crypto/libqca-gnupg.so #28 0xb7257b7a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #29 0xb72622c6 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4 #30 0xb726684f in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #31 0xb76378c4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #32 0xb763c40e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #33 0x08096eee in ?? () #34 0xb725152b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #35 0xb7255145 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #36 0xb725531d in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4 #37 0xb727ea34 in ?? () from /usr/lib/libQtCore.so.4 #38 0xb6c79432 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #39 0xb6c79c10 in ?? () from /usr/lib/libglib-2.0.so.0 #40 0xb6c79ec4 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #41 0xb727ebac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #42 0xb72506e9 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #43 0xb725098a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #44 0xafd48069 in QCA::SyncThread::run() () from /usr/lib/libqca.so.2 #45 0xb715bd09 in ?? () from /usr/lib/libQtCore.so.4 #46 0xb6d4bc04 in start_thread () from /lib/libpthread.so.0 #47 0xb6e3b02e in clone () from /lib/libc.so.6 (gdb) (gdb)
Seems like the issue is outside LeechCraft actually. As a workaround, you can try disabling support for PGP by compiling with -DENABLE_CRYPT=False
Many thanks now leechcraft start without problems.
Можно спросить, при чем здесь комбайнер Россельмаш в загрузочном окне в Windows?))
Этакая самоирония — мол, в приложении есть все подряд, значит, комбайн :)
Понятно)
It is very interesting program, but i see small and some times big slows
Yes, it's a known issue sometimes, especially on Windows. We plan on introducing multiprocess support somewhere closer to 0.6, though, so I hope that'd fix a lot of similar issues. Moreover, we plan to replace currently used QtWebKit (our browser's engine) with WebKit2, which delivers Chrome-like multiprocessing out of the box.
The excellent program! It that I so long searched!