
Show HN: PicoTorrent 0.10 released – WebSocket API included - viktorelofsson
https://github.com/picotorrent/picotorrent/releases/tag/v0.10.0
======
viktorelofsson
It's been a few releases in the last 168 days when I announced PicoTorrent on
HN and I'd like to get some input on both the progress as well as the new
WebSocket API.

You can find the relevant API documentation at

\- [http://docs.picotorrent.org/en/latest/websocket-
api/index.ht...](http://docs.picotorrent.org/en/latest/websocket-
api/index.html)

~~~
newman314
I took a quick look to see if I could find this but does picotorrent have RSS
support?

~~~
viktorelofsson
No, it does not, sorry. I've been asked this before and perhaps it's something
I should prioritize :)

~~~
newman314
3 essential features: encryption, filter.dat support and RSS =)

------
cm3
Is the 64bit check in CMakeLists correct?

I'm no CMake expert, but this looks odd:

[https://github.com/picotorrent/picotorrent/blob/develop/CMak...](https://github.com/picotorrent/picotorrent/blob/develop/CMakeLists.txt#L24-L29)

    
    
        # Get current architecture
        if(CMAKE_SIZEOF_VOID_P EQUAL 8)
            set(PICO_ARCH "x64" )
        else(CMAKE_SIZEOF_VOID_P EQUAL 8)
            set(PICO_ARCH "x86")
        endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
    

EDIT: this is just CMake's very odd syntax and it's actually a single
condition.

~~~
viktorelofsson
It should be correct - or at least, it works for what I use it for :)

What is odd about it?

~~~
cm3
I don't know much about CMake, but to me the two conditions look the same, but
maybe this is just how CMake magically works.

~~~
viktorelofsson
Oh, yeah, it seems as it is CMake standard to put the if-expression inside the
else-parenthesis as well. It is not an elseif.

~~~
cm3
Yes, came to the same conclusion, seeing how it's the same "string" in IF,
ELSE, and ENDIF. Very, very odd syntax.

------
tejinderss
Never knew this existed. This could possibly replace qbittorrent for me on
windows 10. Thanks for great work.

------
cm3
Is this Windows-only? If not, what's the UI outside Windows?

~~~
viktorelofsson
Yes, that's a good suggestion. The readme is due for a rewrite so I'll make
sure to mention that somewhere up top!

EDIT: the parent post was edited, and this comment was written for the
original post.

~~~
cm3
There's a linux directory, what's that for?

~~~
viktorelofsson
I've split the project in two parts, PicoTorrent and PicoTorrentCore.
PicoTorrentCore is cross-platform and builds on GCC4.8.

The linux directory contains build scripts to build on Linux, which is used
for the TravisCI builds.

~~~
cm3
And there's no UI yet, right? If you plan to write one, I'd suggest Qt, since
you use C++ extensively already.

~~~
tgpc
I hear qt is excellent, but would encourage you to do distinct ui code for
each platform, in that platform's native ui libs. You'll look like a fish out
of water otherwise.

~~~
viktorelofsson
Yeah, that's what I'm planning in order to keep it small and tidy.

~~~
skrowl
You might want to start with a web UI then (like SyncThing). This provides you
with a simple way to display your data and you get Mac / Linux / etc support
for "Free" while also allowing your Windows users to have simple network
access.

No extra dependencies, no UI toolkits!

~~~
viktorelofsson
Yes, and then you have Hadouken
([https://github.com/hadouken/hadouken](https://github.com/hadouken/hadouken)),
another BitTorrent client of mine (though server oriented) :)

