Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/zeisss/mediasyncer

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/zeisss/mediasyncer

  • v0.0.0-20160319133246-f6a5e7654b21
  • Source
  • Go
  • Socket score

Version published
Created
Source

= MediaSyncer

image:https://app.wercker.com/status/850bd47b5003aa433f6c2e8d38cf97bb/m[]

Automatic rebalancing files between peers in a gossip based peer-to-peer network.

== The Problem

I have a bunch of disks attached to different devices (A MyWorldBook, 2 Raspberry PIs, a PC) and use all of them for storing my collection of files and videos. If a disk gets full, I have to manually move around files though. Since I mainly place new files on one device, this needs to be done regularly.

== The solution

+mediasyncer+ solves this by setting up a gossip network and performing regular auctions between the peers. Each peer regularly asks other peers if they want to store a file the current peer has. This is implemented via an auction: Each peer replies with a bid and the highest bidder gets the file transfered. The bid can be influenced by the amount of free space or the file itself that gets bid one. This makes it is easy to implement a bidding strategy that automatically moves files away as long as there is local disk space available. By voting with dynamic bids based on the files, it is even possible to move files based

== Current implementation state

Basic auctioning, bidding and transfering works. Current supported bidding strategies are random or static. Future strategies could be based on file size, pathname or age to group related files on certain disks.

Files are only auctioned if their modtime is older than 60 minutes. Only one file is auctioned at a time. An auction is triggered every 10 seconds.

Uploads to the winning peer is done via HTTP PUT. Afterwards the local file is deleted. No checksum checks are performed yet. Files can also be downloaded via the HTTP endpoint. Filelisting is not supported yet though.

NOTE: This is probably very unstable at the momement and might delete your data. Use at your own risk.

== Configuration

  • name

  • price-formula

  • price-static float

  • volume string

  • http-addr string

  • http-port int

  • bind-port int

  • debug bool

== Used libraries

  • Hashicorps Memberlist
  • Ogiers Pflag

FAQs

Package last updated on 19 Mar 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc