OneLoveIPFS uploader v3: Onboarding new platforms and highly requested features

in OneLoveIPFSlast year

oneloveipfs v3.png

For those who have been following me in the last 12 months, OneLoveIPFS v3 has been the largest update to my first ever web-app (and subsequently desktop app) that I have developed that is in production. Nearly half of all commits made to the repository that was created more than 4 years ago was dedicated to this release.

The v2 release which I called it the most significant update at that time, has set the foundation that v3 update stands for greater possibilities of the project. So let's jump into it.

Now posting to 3Speak

One of the popular requests from both OneLoveIPFS team and our users has been the ability to post to 3Speak from OneLoveIPFS, either exclusively or cross-posted. This has been the main motivation of OneLoveIPFS v3 since the development of this release started exactly 1 year ago.

After many months of experimentation, test posts and going back and fourth with some of the devs, it is now possible to post to two video platforms in one Hive post and get maximum reach of your videos.

Due to the nature of the platform as of writing this, the only way to get any video to play on 3speak.tv website is to go through their centralized APIs. Therefore, there are many caveats that come with the said centralization.

As the APIs do not work on the webapp due to CORS issue, 3Speak publishing is only supported on the desktop apps. This also includes using the updated metadata editor (details later in this post) to update the metadata of existing videos.

In addition, as the video needs to be uploaded to 3Speak's servers first, additional time is required for OneLoveIPFS uploader to fetch the resulting encoded output over IPFS peer-to-peer network. Certain features of OneLoveIPFS uploader are not supported for 3Speak video uploads, such as in-house video encoding. On top of that, the mandatory 11.5% fee must be specified as Hive post beneficiaries for such videos or else it will not play.

The breakdown of the fees are:

A huge shoutout to @vaultec and @sagarkothari88 for their assistance to make this possible. More platform integrations to come in future releases.

HiveAuth Integration

A new authentication service has been integrated into OneLoveIPFS uploader. Users of both the web-app and desktop app may now securely authenticate using a HiveAuth compatible PKSA and sign transactions.

HiveAuth users authenticating to 3Speak APIs will need to manually decrypt a memo with the private posting key with other tools as the HiveAuth protocol does not support memo cryptography operations. As of now, the 3Speak API unfortunately uses memo decryption for API auth instead of signature verification that is supported by HiveAuth.

Metadata Editor

With OneLoveIPFS going multi-platform, a dedicated editor would be necessary for cross-posted videos within the same post to ensure that the changes are reflected across the platforms.

The metadata editor allows users to update the title, description and tags as well as replace the thumbnail of an existing video. This tool replaces the old thumbnail swapper.

Multi Drafts

Screenshot 2022-12-26 at 9.46.06 AM.png

Another requested functionality and necessary for 3Speak integration. It is now possible to save multiple sets of video metadata in its own draft. These drafts are stored into local storage.

Loading a draft will no longer be done on login, instead it needs to be loaded from the "Saved Drafts" page accessible from the menu.

Video Encoder

Screenshot 2022-12-25 at 10.43.57 PM.png

An FFmpeg video encoder has been bundled into the uploader in order to facilitate video encoding into HLS container format.

The switch is available in the desktop apps for non-3Speak uploads that do not have to go through an external video encoding system. The encoder is configurable through the config file for both build variants.

Due to the increase in build size as a result of bundling FFmpeg and FFProbe, it is quite likely that builds without built in encoder may be issued in future releases.

Refill with Hive recurring payments

Often forgot to refill your hosting credits? Prevent your uploaded videos from being unpinned from the service by repeating refills. The Shawp payment system now listens for fill_recurrent_transfer operation and processes these for refills.

The GBDays being topped up for each recurrence would vary on market prices at the time of the automatic payment execution, of course.

Interface Changes

Dark mode

For many of us (including me) who can't stand white/bright grey backgrounds on websites at all. Dark mode may now be enabled in user settings.

Refreshed Login UI

Screenshot 2022-12-26 at 10.26.40 AM.pngScreenshot 2022-12-26 at 10.26.58 AM.png
Network Select
Hive Network Login

The new login interface now allows the user to choose the network to authenticate with, and displays the corresponding form for the network. No more cluttering the login page with a dozen text fields for all the supported networks.

Improved Buttons

Screenshot 2022-12-26 at 10.30.48 AM.png

All the buttons in the uploader have been refreshed for consistency and to provide a modern look. As seen above popups, the modal action buttons look more integrated with the popup than the previous interfaces. Smaller buttons such as "Save draft" are given a small amount of corner radius and thinner borders to differentiate with the larger buttons (like "Upload!").

Post-Publish Actions

Screenshot 2022-12-26 at 10.51.18 AM.png

Instead of navigating straight to the video watch page after publishing, a page will be displayed with links to share the published video to socials (DBuzz, Twitter and others), copy video embed HTML and of course the links to the video watch page.

Pricing Changes

To reflect the current market conditions in both our cost basis and competitiveness with other IPFS hosting services, the price for the hosting service has been revised from $0.0029 per GBDay ($0.087/GB/month) to $0.0026 per GBDay ($0.078/GB/month).

Breaking Changes

Database

For those upgrading from v2, please run the v3 migration script first.

Tus authentication

The access token must now be specified in the "Authorization" header, with bearer token authentication. Example implementation here.

Upcoming Deprecations

With many new changes being introduced, some features will need to go to ensure maintainability of the project.

Steem logins

For those reading this on Hive, the reason behind this should be very obvious. All references of the network will be removed completely in v3.1.

Uploads of non-HLS resolution specific uploads

Due to introduction of HLS video encoding, these upload types are no longer necessary to provide bandwidth-constrained viewers with lower resolutions of a video. The HLS video encoder built into the desktop app will provide a much better user experience than having to encode the videos separately and upload them one-by-one.

Memo decryption-based authentication

With the transition to signature based auth to prove ownership of account, the /login (GET) and /logincb (POST) methods will be deprecated in favour of /loginsig (POST) which accepts a recent signature based on latest blockchain data. More details about constructing the payload here.

Potential offboarding of DTube

Due to the current state of the platform, there is a possibility that DTube may be removed from the uploader when more platforms are onboarded in future releases that are sufficiently decentralized. This means no centralized APIs to publish videos, no centralized video storage or data availability layer and projects that are fully open source and permissionless.

With this, all networks that exclusively posts to the said platform will be removed as well.

Updated Terms of Service and Privacy Policy

OneLoveIPFS has updated its Terms of Service and Privacy Policy of the hosting service. For those who haven't yet already, you may review them here and here.

Verify app download

The inclusion of the SHA256 hashes of prebuilt desktop app binaries below in this post implies that it is an authentic build signed with my posting key.

Full standalone app (build 8)

Interfaces directly with local IPFS daemon, and if enabled skyd.

111af82e49906f9e45c4880ab087f2e143591360335fc40d5299daa22bde917d  oneloveipfs-v3.0-linux-x64-full.AppImage
a72196c29f234eb45c8657b054d6a28816765af890e284e5ccb342b1d1426bd3  oneloveipfs-v3.0-linux-x64-full.deb
efe1231f03848fbb850df2f1101148fa7daaa3872c0851fb880db1bc26856b05  oneloveipfs-v3.0-macos-arm64-full.dmg
e68a97cf169f5f9fcf7f921c6562cab2ac6de64cb6dbb1fc3f0b4f878044ed63  oneloveipfs-v3.0-macos-x64-full.dmg
8d5f8409d377b5114d8bc4e0e816a35808a1720787f79a9e2c25d49bd6fdfade  oneloveipfs-v3.0-windows-x64-full.exe

Remote app (build 9R)

Connects to config.REAL_ENDPOINT, by default https://uploader.oneloveipfs.com.

dc45a6cb06b794d12bdfbceb28a1e11f69e83fef74fff58a832eb5ae7c4743c7  oneloveipfs-v3.0-linux-x64-remote.AppImage
2317b9e0681523e0eb4acccc00f4e4b4f827879384bf1c94647c0a22019d7b29  oneloveipfs-v3.0-linux-x64-remote.deb
9bf886a36ec9599ce2e9467bfde33466954a9d964790db86393ccc3f77ab499b  oneloveipfs-v3.0-macos-arm64-remote.dmg
62916e78f0438ff28301805974de6ff7bce2120b40cd4eda56ac87e1256fc507  oneloveipfs-v3.0-macos-x64-remote.dmg
52c98577aa20dceba51f422d1b9bcf15033b4e8f84e8e729117a845d49cc41bc  oneloveipfs-v3.0-windows-x64-remote.exe

Roadmap

Other than deprecations, some of the features I'm looking forward to working on in v3.1 release:

  • Shawp vouchers
  • Interactive bot for hosting service (on Discord etc)
  • Unify full and remote app build into one
  • Interactive app config (GUI and CLI)

The Olisc API to enable scheduled publishes will be deployed on the hosting service in the coming weeks.

Questions

The FAQ has been updated, you may view the updated document here. If you have any other enquiries, feel free to contact us on our Discord server.

Sort:  

Great to see you added support for HiveAuth.

the HiveAuth protocol does not support memo cryptography operations.

This is something we should take about.

 last year  

I'm pretty sure many other apps make use of this mechanism as well, so it's a good idea to think about.

Nice, there's some need news! Thanks.

 last year  

Glad to hear that 😀

Thank you for your witness vote!
Have a !BEER on me!
To Opt-Out of my witness beer program just comment STOP below


Hey @techcoderx, here is a little bit of BEER from @isnochys for you. Enjoy it!

Do you want to win SOME BEER together with your friends and draw the BEERKING.

Thank you for your witness vote!
Have a !BEER on me!
To Opt-Out of my witness beer program just comment STOP below


Hey @techcoderx, here is a little bit of BEER from @isnochys for you. Enjoy it!

Did you know that <a href='https://dcity.io/cityyou can use BEER at dCity game to buy cards to rule the world.

is this a program or website?

 last year  

Both. Some features may be available on the desktop app but not on the webapp and vice versa due to limitations. The differences are outlined here.

Thank you for your witness vote!
Have a !BEER on me!
To Opt-Out of my witness beer program just comment STOP below


Hey @techcoderx, here is a little bit of BEER from @isnochys for you. Enjoy it!

We love your support by voting @detlev.witness on HIVE .