KNewz

Network

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

0
5.0
Available as/for: -
Description:

This is a binary newsgroup client for KDE4. I wrote it because there is no one client out there that does what I want it to. Planned features include automatic PAR2 checking (via kpart, whee), automatic unpacking of downloaded files, System tray support (trivial I know :p ), DBUS support, automatic queue save and restore upon shutdown/startup. Feel free to request more :)
Last changelog:

13 years ago

Beta 4
Fixed issues with uudeview not being found.

Beta 3
Fixed some minor UI bugs.

Beta 2
Development has been on hold for the summer vacation :) KDE Beta 1 has just come out however, so I made the code compatible with it. I hadn't been developing it lately since the KDE API was constantly in flux, and I got sick of adding new features only to have my code not compiling with the next SVN revision because the API had been changed. However, the API has been frozen now so I'll be developing this actively now again.
The good news is that I have been using this exclusively to download my binaries, and I have found and fixed lot of bugs. A few remain though, and will be fixed for the 0.1 release. Queue saving and editing features will be introduced in the 0.2 release, and the connection code will be rewritten.

Beta 1

-Systemtray integration added

-Speed reporting for download threads added to main GUI.

-Removal of downloaded parts added. Main GUI still does not delete downloaded files entirely, to be fixed.

-Logging added. Program now logs failures to log file that is located in /home/user/knewz/log.txt by default.

Known bugs

-Some files do not update their status even when downloaded entirely.

-Timeouts due to network congestion are not handled gracefully, so the file will not download completely nor be decoded if a thread downloading a file undergoes a timeout.

Alpha 3

-Decoder progress bars in main GUI now actually work

-Decoder now decodes files into subdirectories in the main download directory according to the filename of the *.nzb

Alpha 2

-Decoder progress bars added to main GUI

-Decoder now works properly for multipart binaries with incorrect subject title

Alpha 1

Early alpha release, so expect it to eat your gnu, rape miscellaneous pets and sexX0r your computer.

bmfan

13 years ago

err i meant installed in /opt/kde4 :)

Report

bmfan

13 years ago

/uulib/uudeview.h:192: error: too many arguments to function 'char* UUstrerror()'


is the error Im getting

Report

C

ChaosWars

13 years ago

You need qt-copy and kdelibs. You don't NEED kdepimlibs or kdebase to run this program, they are needed to get a "functioning" kde4 desktop. It's possible, and probably preferably right now given the state of kde4, to run this program in a kde3 environment.

If the install goes awry, you could always just build the executable and then manually copy it over to your /path/to/kde4/bin directory. I had removed the install command from the CMakeLists.txt file for this release as I was just running it from the directory I built it in, and figured that no-one would be installing it yet as KDE4 is not usable. As such, installing it would put it in the bin directory of kde4, which wouldn't be in your $PATH so the executable wouldn't be found.

I shall add the install command back in for the next release, and add a .desktop file so that you can at least run the app by using a desktop icon.

The sticky/dissapearing menu's are due to bugs in KDE4, there's not much I can do about that I'm afraid.

Report

C

ChaosWars

13 years ago

You need qt-copy and kdelibs. You don't NEED kdepimlibs or kdebase to run this program, they are needed to get a "functioning" kde4 desktop. It's possible, and probably preferably right now given the state of kde4, to run this program in a kde3 environment.

If the install goes awry, you could always just build the executable and then manually copy it over to your /path/to/kde4/bin directory. I had removed the install command from the CMakeLists.txt file for this release as I was just running it from the directory I built it in, and figured that no-one would be installing it yet as KDE4 is not usable. As such, installing it would put it in the bin directory of kde4, which wouldn't be in your $PATH so the executable wouldn't be found.

I shall add the install command back in for the next release, and add a .desktop file so that you can at least run the app by using a desktop icon.

The sticky/dissapearing menu's are due to bugs in KDE4, there's not much I can do about that I'm afraid.

Report

tommycw1

13 years ago

Will this support downloading of files that are split across multiple posts? This is something that has been implemented in free news readers on Windows about 10 years ago, but for some reason, last I checked knode does not support this.

Report

C

ChaosWars

13 years ago

Erm, yes it does. But then, so does every other BINARY news client in Linux. I have never used knode myself, but BNR, KLibido, Nzb and KNewz all support multipart downloads. KNewz is limited to multipart files obtained from *.nzb files, since I myself don't particularly relish browsing more than a million posts in alt.binaries.boneless to find the few that I want :D I don't ever plan to iplement that BTW, but if you are talking *.nzb files then the answer is emphatically : yes. In fact, rather than write my own half-assed yenc decoder I statically link to uudecode, which is arguably the best encoder/decoder there is for newsgroup binaries. The files are all passed to uudecode for decoding, and I have implemented it in such a way that there shouldn't be a file out there that it fails to decode. I based the decoding code off uudeview, the frontend written for uudecode by the author of uudecode himself, so what ever that can decode, KNewz should be able to decode as well.

Report

Mermouy

13 years ago

What are the differences with Klibido please?

Report

C

ChaosWars

13 years ago

At the moment, not that much. It should be a lot faster, since it is built against Qt4 and KDE4. KLibido is built against Qt3 and KDE3. Programatically speaking things like the model/view controller in Qt4 make certain design elements much "cleaner".

I use KLibido myself, and I thought about writing patches for KLibido or nzb instead of writing my own client. But ultimately I decided, especially in the case of klibido, that it would be easier in the long run to write my own code than trying to decipher the existing code base, given the small size of my project.

In the long run, this program will have everything that I miss in klibido, such as smart *.par file downloading and automatic parity checking, automatic unpacking of downloaded files and cleanup, system tray integration, DBUS integration, and the ability to save your download queue between sessions.

KLibido aims to be a comprehensive news client, and does a whole lot more than just downloading the contents of a *.nzb file. For me, that is a lot of functionality that I don't use, and never will, and I miss a lot of the above mentioned functionality. Reason enough for me to write this client.

Report

Mermouy

13 years ago

Thanks a lot for these explanations... And courage!

Report

C

ChaosWars

13 years ago

For those that don't know, KDE4 is being released end October this year, so only then will/can this application be released as stable since it links against the KDE4 libraries. Although it is pretty stable even now, since kde4lib will undergo a code freeze before release, abd will undergo a feature freeze before that, so the only things happening on that side will be bugfixes.
I will look at how feasible a KDE3 port will be once the application is ready to be released as stable. I'll get a beta version out by the end of next month I think, depending on exams.

Report

mirshafie

13 years ago

This is a really good idea, KDE needs a binary news client.

But how do I compile it? The package does not come with a configure script or makefile?

Report

C

ChaosWars

13 years ago

As mentioned, you need to install cmake to be able to compile this. KDE4 is based on cmake, so autotools will not be used to compile KDE4. All KDE4 applications should use cmake as well.
Install cmake, and install the kde4lib alpha package for your distribution. You will probably have to add a custom source to your package manager or download the tarball from www.kde.org and compile it yourself (along with all it's dependencies). Alternatively, you could use the kde4 svn compile script that is here on www.kde-apps.org.

Once you have done all that, cd into the directory you unpacked this source into. Run the command "cmake . -DCMAKE_ISNTALL_PREFIX=/path/to/kde4" without the quotes. CMake should then do it's thing and generate a Makefile for you. You can then just run make as normal. Run the binary generated, and fill in the options for your news server. The program should work, more or less :D The decoder sometimes bugs out, I'm still trying to track why it doesn't fully decode some articles. And I need to add in some code to put the downloaded files into their own subdirectory. I'll get that done for alpha3, but in the meanwhile, here's alpha2. Thanks for testing :D

Report

C

ChaosWars

13 years ago

The code is changing very rapidly, there are new commits everyday. For those wanting to check out the source, the address is https://knewz.svn.sourceforge.net/svnroot/knewz

Report

C

ChaosWars

13 years ago

It might be a good thing to mention that you need CMake and the kde4lib package installed. Also, you will probably have to either edit the main CMakeLists.txt file to point it to your kde4 installation (it points to /opt/kde4-svn in the file) or pass it to cmake when running it as -DCMAKE_INSTALL_PREFIX=/path/to/kde4

Report

13 years ago

Beta 4
Fixed issues with uudeview not being found.

Beta 3
Fixed some minor UI bugs.

Beta 2
Development has been on hold for the summer vacation :) KDE Beta 1 has just come out however, so I made the code compatible with it. I hadn't been developing it lately since the KDE API was constantly in flux, and I got sick of adding new features only to have my code not compiling with the next SVN revision because the API had been changed. However, the API has been frozen now so I'll be developing this actively now again.
The good news is that I have been using this exclusively to download my binaries, and I have found and fixed lot of bugs. A few remain though, and will be fixed for the 0.1 release. Queue saving and editing features will be introduced in the 0.2 release, and the connection code will be rewritten.

Beta 1

-Systemtray integration added

-Speed reporting for download threads added to main GUI.

-Removal of downloaded parts added. Main GUI still does not delete downloaded files entirely, to be fixed.

-Logging added. Program now logs failures to log file that is located in /home/user/knewz/log.txt by default.

Known bugs

-Some files do not update their status even when downloaded entirely.

-Timeouts due to network congestion are not handled gracefully, so the file will not download completely nor be decoded if a thread downloading a file undergoes a timeout.

Alpha 3

-Decoder progress bars in main GUI now actually work

-Decoder now decodes files into subdirectories in the main download directory according to the filename of the *.nzb

Alpha 2

-Decoder progress bars added to main GUI

-Decoder now works properly for multipart binaries with incorrect subject title

Alpha 1

Early alpha release, so expect it to eat your gnu, rape miscellaneous pets and sexX0r your computer.

12345678910
Be the first to comment
File (click to download) Version Description PackagetypeArchitectureRelease ChannelDevices Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
0.1 beta3
updated Nov 21 2007
added May 21 2007
downloads 24h
0
mediaviews 24h 0
pageviews 24h 2
System Tags app software