files209

package module
v0.0.0-...-f96bce6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2024 License: MIT Imports: 7 Imported by: 0

README

files209

files209 is an infinite file store

ext4 has a file limit on linux. files209 aims to be an infinite files store on top of ext4 using a new archive.

Production Installation Instructions

  1. Launch a Ubuntu 22.04 server and ssh into it.

  2. Install with the command sudo snap install files209

  3. Generate ssl keys by running sudo files209.genssl

  4. Make production ready by running sudo files209.prod mpr

  5. Restart the files209 with sudo snap restart files209.f2store

  6. Run sudo files209.prod r to get your key string. Needed in your program to connect to your files209 server.

  7. You would also need the server's IP address for your program

  8. The programs' default port is 31822.

Operating Instructions

This project ships with a golang API "github.com/saenuma/files209" and a CLI

The CLI is bundled with the snapcraft program and can be called with files209.cli

Documentation

Overview

this package 'files209' is the golang library for communicating with the files209 server.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Addr   string
	KeyStr string
}

func NewClient

func NewClient(ip, keyStr string) Client

func NewClientCustomPort

func NewClientCustomPort(ip, keyStr string, port int) Client

Used whenever you changed the default port

func (*Client) DeleteFile

func (cl *Client) DeleteFile(groupName, fileName string) error

func (*Client) DeleteGroup

func (cl *Client) DeleteGroup(groupName string) error

func (*Client) ListFiles

func (cl *Client) ListFiles(groupName string) (map[string]int64, error)

func (*Client) ListGroups

func (cl *Client) ListGroups() ([]string, error)

func (*Client) Ping

func (cl *Client) Ping() error

func (*Client) ReadFile

func (cl *Client) ReadFile(groupName, fileName string) ([]byte, error)

func (*Client) WriteFile

func (cl *Client) WriteFile(groupName, fileName string, toWrite []byte) error

type ConnError

type ConnError struct {
	// contains filtered or unexported fields
}

func (ConnError) Error

func (e ConnError) Error() string

type ServerError

type ServerError struct {
	// contains filtered or unexported fields
}

func (ServerError) Error

func (e ServerError) Error() string

type ValidationError

type ValidationError struct {
	// contains filtered or unexported fields
}

func (ValidationError) Error

func (e ValidationError) Error() string

Directories

Path Synopsis
cli provides a terminal interface to the files209 server.
cli provides a terminal interface to the files209 server.
prod provides the commands which helps in making a files209 server production ready.
prod provides the commands which helps in making a files209 server production ready.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL