Skip to content

TwinIsland/FileBay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

beta release !

FileBay 🥳

Update file in a quick way

  • Super Light🍃: executable size < 30kb, zero-dependency on databases.
  • Super Fast⚡: backend in pure C, no external stylesheet or script for frontend.

demo

Dependencies 🏗️

Please ensure these are installed on your system for the software to function correctly. you may also install via the code below.

# install the dependency
make install

Run 🦉

(Optional) change the CONFIG to meet your demand:

# DO NOT INCLUDE COMMENT!

file_max_byte:10485760   # Maximum file size, in byte
file_expire:1440         # Worker will delete the file after this time, in minute
worker_period:720        # Worker running period, in minute
storage_dir:./files      # Where should uploaded files be stored
dump_dist:./dump.bin	 # Where should the serialized binary be stored
max_file_count:100       # Max file number served
max_client:2             # Max uptime client supported

Then, compile and run:

# make the executable
make

# start the server
./server PORT

If Make is not installed on your system, consider using the nobuild toolkit. Essentially, it functions as a C-driven alternative to Make, offering support for both POSIX-compliant systems and Windows environments using MSVC. To use it, simply download nobuild.h and put it under the project folder, then:

  • $ cc nobuild.c -o nobuild on POSIX systems
  • $ cl.exe nobuild.c on Windows with MSVC

Then, Run the build: $ ./nobuild

Debug 🐞

To access comprehensive runtime information, compile the executable in debug mode by running the following command:

make debug

./server_debug