icebox documentation

backups

local snapshot

The server makes a local snapshot of the filesystem every night at midnight. Older snapshots are deleted using a rolling retention policy.

SnapshotRetention Duration
Daily7 days
First day of the week4 weeks
First day of the month12 months
First day of the year2 years

cloud backups

The server maintains a weekly backup of all files in the Samba fileshare (including sync) to Azure cloud storage, in case the Icebox suffers a catastrophic failure. Cloud storage does not store previous snapshots, so you will not be able to recover any deleted files.

Files matching these patterns are excluded from cloud backup:
  • fresh4less/Video/**
  • node_modules/**

syncthing

Syncthing is a file-syncing utility like Dropbox; you can create a folder on your local device and share it with the icebox. Then when you modify a file, it's automatically synchronized with the icebox the next time you have an internet connection. This doesn't require an active connection to the VPN or fileshare.

In your Samba fileshare you will find a sync directory, where the synced files are stored. You can also copy files into sync directly through the Samba fileshare and they will appear in your sync folder.

setup

  1. Install SyncThing:
    • Windows: I recommend installing SyncTrayzor which provides automatic startup on boot, a tray icon, and an nice UI.
    • Linux: I use syncthingtray.
  2. Click Actions->Show ID and send me your Device ID (this is not a secret, you can post this in the icebox channel)
  3. Click "Add remote device" and complete the dialog with the following settings:
  4. Device ID
    PGRKREK-IQL25DP-GKZOTKA-BGKZHK5-L5DN3YF-VKONK37-KBZGMGD-XLBSKQC
    Device Name
    icebox
    Enable Introducer and Auto Accept
    Addresses
    tcp://icebox.fresh4less.org:22000
    Compression
    All Data
  5. Notify me when you are set up and I will add your Device to the icebox, which will enable syncing.

adding shared folders

You can create shared folders with one or more users by adding their Syncthing ID as a remote device, then creating a new Syncthing folder and sharing it with them.

By default, the icebox is not included in shared folder synchronization, so your shared folder will only sync when both devices are online and connected to each other.

By sharing the folder to the icebox device, you allow syncing to occur at any time, regardless of device connectivity. Files in the shared folder will also be included in icebox and cloud backups.

If you share a folder with the icebox, let me know so I can enable syncing.

fileshare (samba)

The icebox uses Samba to provide file sharing services. You must first set up the VPN before you can access the fileshare. You can connect to it using your operating system's remote network drive capabilities.

Every icebox user has access to fresh4less share.

setup (windows)

  1. Open This PC and select the Computer tab
  2. Right click the background and select Map Network Drive
  3. To add your personal share, set Folder to:
    \\10.200.200.1\YOUR_USERNAME
    					
    To add the shared fresh4less share, set Folder to:
    \\10.200.200.1\fresh4less
    					

wireguard vpn

Wireguard encrypts network traffic between your computer and the icebox, enabling secure filesharing through the Samba fileshare.

windows setup

  1. Download Wireguard
  2. Create a new network interface called icebox by clicking the +.
  3. Replace the configuration with the following:
    
    	[Interface]
    	PrivateKey = PEER_PRIVATE_KEY
    	Address = PEER_VPN_IP
    
    	[Peer]
    	PublicKey = bHymDyvFiUz2kQyHiNikyZ453cKwo5XQKmUgpO9HtQo=
    	AllowedIPs = 10.200.200.0/24
    	Endpoint = icebox.fresh4less.org:51820
    						
  4. PEER_PRIVATE_KEY is unique to you and will already be in the generated configuration file.
  5. Message me and I will provide you a value to replace PEER_VPN_ID.

public file sharing (http)

Your personal Samba fileshare and the fresh4less share each contain a folder named public. All files and folders placed here are viewable on the internet and can be shared with a link.

You can browse public files on the files page.

unlisted files

Your public folder also contains an 'unlisted' folder. Files placed here can be shared with a direct link, but will not appear when browsing files.

Unlisted directories and subdirectories do not list their contents.

Unlisted URLs are not obfuscated and may be vulnerable to forced browsing attacks.

The server hides all files and folders containing the word 'unlisted' in their name. There is nothing special about the 'unlisted' folder itself.

URL format

http://icebox.fresh4less.org/files/$USERNAME/$FILE
				

examples