IPFS Uploader

This is an alternative IPFS uploader to upload videos onto DTube. Includes a basic web UI.

Dependencies required

  • npm command line tools
  • ffmpeg, imagemagick and bc for sprite generation
  • go-ipfs with a running daemon

Additional requirements

  • A SteemConnect application (if SteemConnect authentication is used)
  • A domain name for HTTPS, plus SSL certificate for that domain installed

Installation

  1. Clone this repository by typing git clone https://github.com/techcoderx/ipfsVideoUploader.git in a terminal window.
  2. Install all required node modules. cd ipfsVideoUploader && npm install
  3. Configure uploader by modifying config.json file. If you need help with the configuration, view the documentation here
  4. Run npm run keygen to generate encryption and auth keys for Steem Keychain support. Then backup the contents of .auth.json file in a safe place.
  5. Run npm run sc2link to generate SteemConnect login link (if SteemConnect is used).
  6. Replace the login link with the one you obtained from step 3 here (if SteemConnect is used).
  7. Compile client side JavaScripts. npm run build
  8. If whitelistEnabled is set to true, add some Steem accounts to the whitelist by modifying whitelist.txt. (one line per Steem user)
  9. Run the app by typing npm start. Your app will listen to ports you specify in config.json file.

All uploaded files will be saved in the uploaded folder within the repo. Image files (for Steem article body) will be saved in the imguploads folder.

Removing support for SteemConnect

If you do not wish to support SteemConnect authentication and use only Steem Keychain, skip step 5 and 6 above when setting up, and delete lines 80-81 in welcome.html file, and delete lines 126-138 in login.html file. Recompile the client side JavaScripts by running npm run build.

Disabling WooCommerce support

If you wish to disable WooCommerce integration, delete lines 13, 17, 27 and 112 in uploader.html file. You may also need to delete lines 43-48 in thumbnailSwapper.js file.

Supported file formats

IPFS works the best for videos with .mp4, therefore only mp4 files will be supported at this moment. Both .jpg and .png file formats are supported for thumbnail uploads.

RESTful HTTP API

API calls for authentication, file uploads, hashes and usage data are documented here.

How to contribute?

If you found any ways to improve on the code, or found any bugs, feel free to create a pull request on the GitHub repository. You can also contact me on Discord techcoderx#7481 if you have any enquiries. Build StatusOneLoveDTube channel on DiscordPRs Welcome