HNHacker News
TopNewBestAskShowJobs

viktorelofsson

148 karma · joined October 1, 2014

viktor [at] viktorelofsson.se
submissionscomments
viktorelofsson··on BitTorrent v2 (2020)
Not really true - v0.20 of PicoTorrent [1] was released with BitTorrent v2 support on the same day as libtorrent released support for v2 torrents. I think this predates BiglyBT 2.5 with v2 [2] support with about two weeks.

[1] https://github.com/picotorrent/picotorrent/releases/tag/v0.2...

[2] https://biglybt.tumblr.com/post/629947579144290304/2500-rele...

viktorelofsson··on BitTorrent v2 (2020)
BitTorrent v2 has been officially supported in PicoTorrent since the same date as the featured blog post from libtorrent :)
viktorelofsson··on Show HN: Shellhook – turn any shell command into a HTTP API
Of course I can :) Thanks for pointing it out!
viktorelofsson··on Show HN: Shellhook – turn any shell command into a HTTP API
Hello HN!

Today we officially launch our first SaaS - Shellhook, a service to turn any shell command into a HTTP API.

We've been working on it on late nights and weekends for almost a year, with some breaks here and there. It's built on top of .NET for (almost) all hosted services while the CLI is written in Go. The backend services consists of a little bit of Postgres and a little bit of RabbitMQ.

How it works (basic edition): - the CLI connects to a WebSocket with a unique user token and waits. - the incoming API takes the request, matches it to one or more connected CLI clients, and distributes the input to their WebSocket connections. - each CLI client takes the input and executes whatever command the user specified when starting while having the HTTP POST body in the standard input, and then returns the output back on the WebSocket. - the WebSocket service then makes sure the incoming API request gets the CLI output from all clients as a structured JSON response.

It's a little bit more involved due to supporting load balancing etc, but I'm happy to answer any questions either about using Shellhook or how it's built!

Also, even though it's free to try - if you do choose to subscribe, feel free to use coupon code HN50 to get 50% off forever.

viktorelofsson··on BitTorrent v2
That's really valuable, thank you!
viktorelofsson··on BitTorrent v2
I'm using wxWidgets, so it's the Win32 API at the lowest layer. For accessibility I want to make it support the NVDA screen reader which I think would make it support other readers as well :)
viktorelofsson··on BitTorrent v2
There are two libraries called libtorrent - Rasterbar-libtorrent (the one in this discussion, made by arvidn) and rakshasa-libtorrent (made by rakshasa).
viktorelofsson··on BitTorrent v2
If you want to try a client with v2 (and v1+v2 hybrid) support, I've just released PicoTorrent v0.20 [0] based on Rasterbar-libtorrent 2.0 :)

[0] https://github.com/picotorrent/picotorrent/releases/tag/v0.2...

viktorelofsson··on Picotorrent: a tiny, hackable BitTorrent client
Thanks for the information! It's given me a positive outlook on a second trial for the Win32 API stuff :)
viktorelofsson··on Picotorrent: a tiny, hackable BitTorrent client
Sure! Two examples where the Win32 API and/or my knowledge of it falls short,

  * Layout management. There's no "easy" way of managing dialog layouts (letting controls expand/shrink on resize etc).
  * Custom controls (e.g a tree-list-view) are clunky to write.
I'd much rather write PicoTorrent on top of the pure Win32 APIs, which I did in the beginning. It then evolved and when I valued time against frameworks, frameworks won, and saved me time :)

You can hit me up at the email in my profile if you want to discuss further!

viktorelofsson··on Picotorrent: a tiny, hackable BitTorrent client
(Author here) I haven't listed the specific features from Rasterbar-libtorrent but I'll make sure to do that in an upcoming update, to make it clearer. It supports DHT, PeX and LSD as well as various proxies (SOCKS4, SOCKS5, HTTP).

The first few versions actually had the vanilla Rasterbar-libtorrent peer ID and user agent, and in v0.5 users could opt-in to use PicoTorrent peer ID and user agent, and a few versions after that I made that the default.

I've been in contact with as many private trackers I could find and it's an ongoing effort to discuss with them what they require for whitelisting.

viktorelofsson··on Picotorrent: a tiny, hackable BitTorrent client
Author here - the readme is a bit outdated, sorry about that :) wxWidgets is a hard dependency since a few versions back.
viktorelofsson··on Picotorrent: a tiny, hackable BitTorrent client
Hi! Author here. The name has been with us since the beginning, and the first few versions were actually quite small. Since then, features and other things have made things grow (mostly in file size). Since I'm a lone developer, the hardships of working with the Win32 API has made me base PicoTorrent on wxWidgets, which is why the file size is what it is.

I still try to keep it slim, fast and clean in overall usage :)

viktorelofsson··on Show HN: Blaze – a blazing fast ElasticSearch data exporter
Hi HN! I've been working with ElasticSearch the last few days and got tired of elasticdump being slow when dumping data to disk, so I wrote Blaze.

It dumps indexes to disk fast. It dumps them in a format compatible with the ElasticSearch Bulk API so it's easy to put the data back as well.

Please try it out and let me know what you think!

viktorelofsson··on Show HN: Porla – a programmable BitTorrent client for servers and seedboxes
Hi HN! Author here. I've been working on this BitTorrent client for a while now and would like some feedback!

It's a Node.js based BitTorrent client aimed at technical users looking for a powerful server (or seedbox) setup.

It uses native Rasterbar-libtorrent bindings and I'm providing pre-built binaries in the NPM package for linux-x64 and linux-arm (for Raspberry Pi setups). Installing on Windows or OSX is currently unsupported, but is in the works. Sorry for this.

viktorelofsson··on A client-side encrypted PasteBin
Shameless self promotion: I did something similar a while back, available at https://cryptob.in

Haven’t had the time to publish the sources, but I didn’t obfuscate the JS (where all the interesting and important stuff is happening)

I like your idea with the file uploads.

The “Copy To Clipboard” link in Chrome shows a puzzle icon overlay to activate Adobe Flash.

viktorelofsson··on Show HN: Cryptob.in – A snippet share tool with client-side encryption
I took your advice from the other comment and started using TweetNaCl.js which had some pretty good endorsements :)

I’ll definitely check out some more sources on crypto in general. Thanks for the input, really!

viktorelofsson··on Show HN: Cryptob.in – A snippet share tool with client-side encryption
Thanks! It’s mostly Bootstrap so I shouldn’t really take credit :)

Have a look at https://github.com/picotorrent/picotorrent for one of the more popular projects I run!

viktorelofsson··on Show HN: Cryptob.in – A snippet share tool with client-side encryption
Yes, that would probably make sense for the browsers that supports it. Which seems to be mostly everyone except IE.

It will be fixed in the next update!

viktorelofsson··on Show HN: Cryptob.in – A snippet share tool with client-side encryption
I've implemented all points that @tptacek mentioned (except the web extension, that will be a future update), and will also activate HSTS when I feel comfortable with the server setup.

I switched from CryptoJS to TweetNaCl which seemed fit to purpose, and also moved all CDN depencencies locally as well as removed Google Analytics :)

viktorelofsson··on Show HN: Cryptob.in – A snippet share tool with client-side encryption
Also - regarding your second #1, are we talking about something like a Chrome extension?
viktorelofsson··on Show HN: Cryptob.in – A snippet share tool with client-side encryption
Thanks for the feedback! I will definitely address your points, and I really appreciate the constructive criticism :)
viktorelofsson··on Amazon Go
> With our Just Walk Out Shopping experience, simply use the Amazon Go app to enter the store, take the products you want, and go! No lines, no checkout. (No, seriously.)

Yes, seems like you check-in with an app.

viktorelofsson··on Spotify is writing massive amounts of junk data to storage drives
Also discussed here, https://news.ycombinator.com/item?id=12914188
viktorelofsson··on Tor Browser 6.0 is released
My guess is so it makes it harder to fingerprint people. If I remember correctly the advice is to not resize the browser window, etc.
viktorelofsson··on Show HN: PicoTorrent 0.10 released – WebSocket API included
Yes, and then you have Hadouken (https://github.com/hadouken/hadouken), another BitTorrent client of mine (though server oriented) :)
viktorelofsson··on Show HN: PicoTorrent 0.10 released – WebSocket API included
No, it does not, sorry. I've been asked this before and perhaps it's something I should prioritize :)
viktorelofsson··on Show HN: PicoTorrent 0.10 released – WebSocket API included
Yeah, that's what I'm planning in order to keep it small and tidy.
viktorelofsson··on Show HN: PicoTorrent 0.10 released – WebSocket API included
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.

viktorelofsson··on Show HN: PicoTorrent 0.10 released – WebSocket API included
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.
Page 1 of 2Next →