All Projects → rob-murray → ferver

rob-murray / ferver

Licence: MIT License
A Ruby gem to serve files over HTTP, packaged as a Ruby gem

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects

Labels

Projects that are alternatives of or similar to ferver

bookish spork
Erlang library for testing http requests
Stars: ✭ 82 (+485.71%)
Mutual labels:  webserver
MemoBoard
Flask and React based intranet app where you can create and share lists (e.g. shopping list, todo, ...)
Stars: ✭ 35 (+150%)
Mutual labels:  webserver
ESPxWebFlMgr
Manage your ESP8266/ESP32 SPIFFS/LittleFS files with a simple web based interface
Stars: ✭ 33 (+135.71%)
Mutual labels:  webserver
go-echo-server-sandbox
A scaffold of golang web server using labstack/echo
Stars: ✭ 12 (-14.29%)
Mutual labels:  webserver
natural
Fastest Framework for NodeJS. Written in pure ES6+
Stars: ✭ 30 (+114.29%)
Mutual labels:  webserver
irc-tts
Broadcast your IRC channel via a text-to-speech webserver
Stars: ✭ 14 (+0%)
Mutual labels:  webserver
rpi-nginx
[DEPRECATED] NGINX on Raspberry Pi / ARM
Stars: ✭ 20 (+42.86%)
Mutual labels:  webserver
salt
**Unmaintained** A Human Friendly Interface for HTTP server written in Crystal.
Stars: ✭ 19 (+35.71%)
Mutual labels:  webserver
rust-web-boilerplate
An implementation of a simple web server using Rust
Stars: ✭ 36 (+157.14%)
Mutual labels:  webserver
simplewebserver
SimpleWebServer 是一款使用Java基于NIO编写的超轻量级开源Web Application Server
Stars: ✭ 67 (+378.57%)
Mutual labels:  webserver
internetarchivebot
iabot.toolforge.org
Stars: ✭ 67 (+378.57%)
Mutual labels:  webserver
WebListener
A simple, lightweight, PowerShell-based web server, designed for small, temporary projects.
Stars: ✭ 29 (+107.14%)
Mutual labels:  webserver
cordova-plugin-webserver
A webserver plugin for cordova
Stars: ✭ 101 (+621.43%)
Mutual labels:  webserver
ruby wolf
Tiny ruby web server for research and studying purpose
Stars: ✭ 19 (+35.71%)
Mutual labels:  webserver
docker-apache-letsencrypt
This docker-image contains a simple Apache webserver and supports https-encryption by great Let's Encrypt certificates!
Stars: ✭ 65 (+364.29%)
Mutual labels:  webserver
Teapot
Teapot micro web framework for Pharo Smalltalk
Stars: ✭ 86 (+514.29%)
Mutual labels:  webserver
django-boilerplate-3.6.1
Django served by Gunicorn running behind Nginx reverse proxy. Deploy to AWS Elastic Beanstalk with Fabric3!
Stars: ✭ 13 (-7.14%)
Mutual labels:  webserver
Fos
FastCgi Server designed to run Owin applications side by side with a FastCgi enabled web server.
Stars: ✭ 65 (+364.29%)
Mutual labels:  webserver
pLannotate
Webserver and command line tool for annotating engineered plasmids
Stars: ✭ 32 (+128.57%)
Mutual labels:  webserver
toh
TCP over HTTP. 隐藏网站的管理服务
Stars: ✭ 36 (+157.14%)
Mutual labels:  webserver

Ferver = File-Server

Ferver: A simple web app to serve files over HTTP packaged as a Ruby gem.

Build Status Code Climate Coverage Status Gem Version

Description

This is super, simple ruby gem to serve files over http, useful as a basic file server to quickly share files on your local network or something over the web. Just install the gem and go!

Here's the spec for ferver:

  • available over http
  • provide a list of files as html and json
  • ignore directories
  • ignore dotfiles - turn off with setting
  • serve files as individual files
  • minimal config
  • able to specify the directory to serve files from

Getting started

Using ferver could not be simpler - just install the ferver gem.

$ gem install ferver

Usage

You can run ferver from any directory, just pass in the directory you want to serve files from as a command line argument or leave blank to use the current directory.

Use the current directory
$ ferver
Use a specific directory

For example, to serve files from /Users/rob/Projects/ferver/ directory pass the path in as below using the --directory option.

$ ferver -d /Users/rob/Projects/ferver/
Serve all files

By default, dotfiles will be hidden. Use the --all option to serve all files.

$ ferver -a

Note that zero size files will always be hidden.

Configure webserver

If required, you can configure the bind address or port number used by the webserver. By default this is 0.0.0.0 and port 4567 which means the server is accessible from outside your machine (if firewall permits). For example if you used the configuration below then it would only be accessible from local machine and on port 9999.

$ ferver -p 9999 -b 127.0.0.1
Command line help

For a list of arguments just use the --help switch.

$ ferver -h

Accessing files

The ferver gem uses Sinatra and runs on default port configuration so just point your browser to http://localhost:4567 to list the files.

If you are unable to connect then please check any firewall settings or the configured bind address or port number!

HTML

List available files in your browser.

http://localhost:4567/files

JSON

Requesting content-type json, for example passing the header Accept: application/json will return the list of files as json.

curl -i -H "Accept: application/json" http://localhost:4567/files

Download a file

Files are available via their zero based index in the list, e.g. http://localhost:4567/files/:id

For example to download file appearing third in the list displayed earlier, request http://localhost:4567/files/2

Contributions

Please use the GitHub pull-request mechanism to submit contributions.

After cloning the repo, you can run the web application without having to publish and then install the gem package by calling the executable as per normal.

License

This project is available for use under the MIT software license. See LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].