9

Interplanetary File Dumpster

 3 years ago
source link: https://github.com/zhoreeq/ipfd
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Interplanetary File Dumpster

An imageboard, but images are stored in a peer-to-peer network

screenshot.jpeg

Features:

  • Easy file sharing without registration and SMS. Supports images, video and audio files.
  • Files are not stored on the disk, but are uploaded to the peer-to-peer IPFS network instead.
  • IPFS gateway is configurable. Use your own or any other public gateway to host uploaded files.
  • RSS feeds.
  • Comments and up/down votes.
  • Premoderation mode toggle.

Requirements

  • PostgreSQL database
  • IPFS node
  • Go 1.15.2 (only for building)
  • A web server is recommended, i.e. nginx

Build

  • git clone repo
  • run make

Install

  • copy (or symlink) static/ and templates/ directories to your location, i.e. /etc/ipfd
  • copy config.example to your location, i.e. /etc/ipfd/config
  • edit the config file
  • install database schema from migrations/xxx_init.up.sql file
  • optionally, configure nginx as a reverse proxy

Look inside contrib/ directory for systemd and nginx config files.

./ipfd -config /etc/ipfd/config

Config options

  • SITE_URL, website url, i.e. https://example.org
  • SITE_NAME, website title
  • BIND_ADDRESS, bind ipfd web server to this address
  • DATABASE_URL, postgresql connection string
  • TEMPLATES_PATH, path to templates, i.e. /etc/ipfd/templates
  • STATIC_URL, URL to static files
  • STATIC_PATH, path to static files, i.e. /etc/ipfd/static
  • SERVE_STATIC, if you want to serve static with nginx, set this to false
  • IPFS_API, IPFS node settings, by default it should be /ip4/127.0.0.1/tcp/5001
  • IPFS_GATEWAY, URL of IPFS gateway
  • IPFS_PIN, files are not pinned in the IPFS repository if set to false
  • MAX_FILESIZE, maximum uploaded file size in bytes
  • ALLOWED_CONTENT_TYPES, which MIME file types are allowed
  • PREMODERATION, if true, posts are not displayed until admin approves them manually

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK