File Collector is an application that uses HTTP protocol to collect homework and files.

File Collector

File Collector is an application that uses HTTP protocol to collect homework and files.

Usage

When filecollector is run, it will automatically parse the configuration file (the default is filecollector.json), and then start an http server on the specified port.

Usage of ./filecollector:
  -c string
        config file path (default "filecollector.json")
  -v    show version

Configuration

the deadline and pattern are optional configuration items.

example:

http://127.0.0.1:3000/HW01 "prefix": "HW01", // File storage path "storage": "./files/hw_01", "title": "CSS:APP Lab 1", // Form inputs are used in the filenameTemplate "inputs": [ { "name": "name", "label": "Name", "pattern": "[A-Z]+" }, { "name": "number", "label": "Student Number" } ], "deadline": "2021-10-11T04:35:06Z", "filenameTemplate": "hw_01_{{number}}-{{name}}" }, { "prefix": "HW02", "storage": "./files/hw_02", "title": "CSS:APP Lab 2", "inputs": [ { "name": "name", "label": "Name", "pattern": "[A-Z]+" }, { "name": "number", "label": "Student Number" } ], "filenameTemplate": "hw_02_{{number}}-{{name}}" } ] } ">
{
  "host": "0.0.0.0",
  "port": 3000,
  "title": "CSS:APP Homeworks Upload",
  "forms": [
    {
      // URL prefix => http://127.0.0.1:3000/HW01
      "prefix": "HW01",
      // File storage path
      "storage": "./files/hw_01",
      "title": "CSS:APP Lab 1",
      // Form inputs are used in the filenameTemplate
      "inputs": [
        {
          "name": "name",
          "label": "Name",
          "pattern": "[A-Z]+"
        },
        {
          "name": "number",
          "label": "Student Number"
        }
      ],
      "deadline": "2021-10-11T04:35:06Z",
      "filenameTemplate": "hw_01_{{number}}-{{name}}"
    },
    {
      "prefix": "HW02",
      "storage": "./files/hw_02",
      "title": "CSS:APP Lab 2",
      "inputs": [
        {
          "name": "name",
          "label": "Name",
          "pattern": "[A-Z]+"
        },
        {
          "name": "number",
          "label": "Student Number"
        }
      ],
      "filenameTemplate": "hw_02_{{number}}-{{name}}"
    }
  ]
}

Screenshots

Home

Form

Files

Owner
毛亚琛
Currently studying for a master's degree at USTC. Language: JavaScript, Python3.
毛亚琛
Similar Resources

View, edit, and save text files via http to the file system.

go-wiki View, edit, and save text files via http to the file system. (DONE) https://golang.org/doc/articles/wiki/ Instructions go run main.go In a web

Nov 25, 2021

Go-http-sleep: Delayed response http server, useful for testing various timeout issue for application running behind proxy

delayed response http server, useful for testing various timeout issue for application running behind proxy

Jan 22, 2022

Toy application level encryption protocol

noodle A toy application level encryption module. A a high level, it provides co

Jan 3, 2022

🔎Sniffing and parsing mysql,redis,http,mongodb etc protocol. 抓包截取项目中的数据库请求并解析成相应的语句。

🔎Sniffing and parsing mysql,redis,http,mongodb etc protocol. 抓包截取项目中的数据库请求并解析成相应的语句。

go-sniffer Capture mysql,redis,http,mongodb etc protocol... 抓包截取项目中的数据库请求并解析成相应的语句,如mysql协议会解析为sql语句,便于调试。 不要修改代码,直接嗅探项目中的数据请求。 中文使用说明 Support List: m

Dec 27, 2022

A server that proxies requests and uses fhttp & my fork of CycleTLS to modify your clienthello and prevent your requests from being fingerprinted.

TLS-Fingerprint-API A server that proxies requests and uses my fork of CycleTLS & fhttp (fork of net/http) to prevent your requests from being fingerp

Jan 7, 2023

A plugin of protoc that for using a service of Protocol Buffers as http.Handler definition

protoc-gen-gohttp protoc-gen-gohttp is a plugin of protoc that for using a service of Protocol Buffers as http.Handler definition. The generated inter

Dec 9, 2021

TritonHTTP - A simple web server that implements a subset of the HTTP/1.1 protocol specification

TritonHTTP Spec Summary Here we provide a concise summary of the TritonHTTP spec. You should read the spec doc for more details and clarifications. HT

Nov 5, 2022

A discord server guard which uses emojis and bot detection (WIP)

server-guard A discord server guard which uses emojis and bot detection (WIP) Config options SusLevel: how many checks the account has to fail before

Dec 4, 2022
This application is a NetFlow/IPFIX/sFlow collector in Go.

GoFlow This application is a NetFlow/IPFIX/sFlow collector in Go. It gathers network information (IP, interfaces, routers) from different flow protoco

Mar 11, 2022
A simple tool to convert socket5 proxy protocol to http proxy protocol

Socket5 to HTTP 这是一个超简单的 Socket5 代理转换成 HTTP 代理的小工具。 如何安装? Golang 用户 # Required Go 1.17+ go install github.com/mritd/s2h@master Docker 用户 docker pull m

Jan 2, 2023
Gogrok is a self hosted, easy to use alternative to ngrok. It uses SSH as a base protocol, using channels and existing functionality to tunnel requests to an endpoint.

gogrok A simple, easy to use ngrok alternative (self hosted!) The server and client can also be easily embedded into your applications, see the 'serve

Dec 3, 2022
Http-recorder - Application for record http response as static files
Http-recorder - Application for record http response as static files

http-recorder This is a application for record http response as static files. Th

Mar 21, 2022
Uses the Finger user information protocol to open a TCP connection that makes a request to a Finger server

Finger Client This client uses the Finger user information protocol to open a TCP connection that makes a request to a Finger server. Build and Run Ru

Oct 7, 2021
Observe host metrics collector Written in Go

Observe Host Metrics Collector Experimental collector and forwarder of host metr

Jan 4, 2022
This service is intented to collect data using grpc using Go lang backend and cassandra DB as storage

Go Data Collection This service is intented to collect data using grpc using Go lang backend and cassandra DB as storage. Dev Setup make test_env make

Apr 13, 2022
Collect Data Service (Client & Server)

Collect Data Service (Client & Server)

Dec 30, 2021
An application that uses gRPC Client Streaming framework to computes average.

compute-average An API that uses Client Streaming gRPC framework to capture all integer numbers on Requests that the client sent and returns just the

Dec 26, 2021
wire protocol for multiplexing connections or streams into a single connection, based on a subset of the SSH Connection Protocol

qmux qmux is a wire protocol for multiplexing connections or streams into a single connection. It is based on the SSH Connection Protocol, which is th

Dec 26, 2022