Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

file-service

file-service is a nodejs service based from express and route file-service provides for abcdesktop :

  • upload file
  • download file
  • download directory ( with zip features )
  • delete file
  • delete directory

file-service is used by oc.filer and oc.cupsd images.

Features

sample

create a dummy.txt sample file

echo "Yet another test file" > ~/dummy.txt

start file-service in background

DISABLE_REMOTEIP_FILTERING=true yarn start 2>file-service.error  > file-service.log &

query dummy.txt sample file with curl

curl http://localhost:29783/filer?file=~/dummy.txt

you get

Yet another test file

query /etc/passwd file with curl

curl http://localhost:29783/filer?file=/etc/passwd

you get

{"code":400,"data":"Path Server Error"}

API

The API documentation is avalable in file https://github.com/abcdesktopio/file-service/file-service.md

method feature
GET GET file
POST POST file
DELETE DELETE file

GET POST DELETE features

Each main features can de disable by env vars.

var name feature
SENDFILE Allow http get
ACCEPTFILE Allow http put
ACCEPTLISTFILE Allow http list file (use json format)
ACCEPTDELETEFILE Allow http delete
ACCEPT_BINARIES_UPLOAD Allow upload binary files
ACCEPT_COMPRESSED_UPLOAD Allow upload compresses files
UPLOAD_SIZE_LIMIT upload size limit in bytes, default value is 1000 * 1024 * 1024 = 1048576000

To disable a feature, set env var to false

export ACCEPTDELETEFILE=false
yarn start 

To enable a feature, set env var to true. Be default all features are enabled.

export ACCEPTDELETEFILE=true
yarn start 

tcp port

The defautl tcp port for this http service is 29783

process.env.FILE_SERVICE_TCP_PORT || 29783

filtering

By default each http request must come from the nginx reverse proxy source ip addr. To disable ip source filter set the DISABLE_REMOTEIP_FILTERING to true

export DISABLE_REMOTEIP_FILTERING=true

All requested files must be located inside the user home directory. The root direcotry is equal to the user's home directory.

rootdir = process.env.HOME

run

to install

yarn install

This command installs file service modules.

to start file-service

DISABLE_REMOTEIP_FILTERING=true yarn start 

This command start a file service and listen to the default tcp port.

to run test

CONTAINER_IP=127.0.0.1 yarn test

This command run test file one a running file service.

to make docs

yarn docs

This command create a file-service.md file.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages