1*1c60b9acSAndroid Build Coastguard Worker# lws minimal http server deaddrop 2*1c60b9acSAndroid Build Coastguard Worker 3*1c60b9acSAndroid Build Coastguard WorkerThis demonstrates how you can leverage the lws deaddrop plugin to make a 4*1c60b9acSAndroid Build Coastguard Workersecure, modern html5 file upload and sharing application. 5*1c60b9acSAndroid Build Coastguard Worker 6*1c60b9acSAndroid Build Coastguard WorkerThe demo is protected by basic auth credentials defined in the file at 7*1c60b9acSAndroid Build Coastguard Worker./ba-passwords - by default the credentials are user: user1, password: password; 8*1c60b9acSAndroid Build Coastguard Workerand user: user2, password: password again. 9*1c60b9acSAndroid Build Coastguard Worker 10*1c60b9acSAndroid Build Coastguard WorkerYou can upload files and have them appear on a shared, downloadable list that 11*1c60b9acSAndroid Build Coastguard Workeris dynamically updated to all clients open on the page. Only the authenticated 12*1c60b9acSAndroid Build Coastguard Workeruploader is able to delete the files he uploaded. 13*1c60b9acSAndroid Build Coastguard Worker 14*1c60b9acSAndroid Build Coastguard WorkerMultiple simultaneous ongoing file uploads are supported. 15*1c60b9acSAndroid Build Coastguard Worker 16*1c60b9acSAndroid Build Coastguard Worker## build 17*1c60b9acSAndroid Build Coastguard Worker 18*1c60b9acSAndroid Build Coastguard WorkerTo build this standalone, you must tell cmake where the lws source tree 19*1c60b9acSAndroid Build Coastguard Worker./plugins directory can be found, since it relies on including the source 20*1c60b9acSAndroid Build Coastguard Workerof the raw-proxy plugin. 21*1c60b9acSAndroid Build Coastguard Worker 22*1c60b9acSAndroid Build Coastguard Worker``` 23*1c60b9acSAndroid Build Coastguard Worker $ cmake . -DLWS_PLUGINS_DIR=~/libwebsockets/plugins && make 24*1c60b9acSAndroid Build Coastguard Worker``` 25*1c60b9acSAndroid Build Coastguard Worker 26*1c60b9acSAndroid Build Coastguard Worker## usage 27*1c60b9acSAndroid Build Coastguard Worker 28*1c60b9acSAndroid Build Coastguard Worker``` 29*1c60b9acSAndroid Build Coastguard Worker $ ./lws-minimal-http-server-deaddrop 30*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:09:7108] USER: LWS minimal http server deaddrop | visit https://localhost:7681 31*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:09:8511] NOTICE: Creating Vhost 'default' port 7681, 1 protocols, IPv6 off 32*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:09:8522] NOTICE: Using SSL mode 33*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:10:0755] NOTICE: SSL ECDH curve 'prime256v1' 34*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:10:2562] NOTICE: lws_tls_client_create_vhost_context: doing cert filepath localhost-100y.cert 35*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:10:2581] NOTICE: Loaded client cert localhost-100y.cert 36*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:10:2583] NOTICE: lws_tls_client_create_vhost_context: doing private key filepath 37*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:10:2593] NOTICE: Loaded client cert private key localhost-100y.key 38*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:10:2596] NOTICE: created client ssl context for default 39*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:10:5290] NOTICE: deaddrop: vh default, upload dir ./uploads, max size 10000000 40*1c60b9acSAndroid Build Coastguard Worker[2018/12/01 10:31:10:5376] NOTICE: vhost default: cert expiry: 730203d 41*1c60b9acSAndroid Build Coastguard Worker... 42*1c60b9acSAndroid Build Coastguard Worker``` 43*1c60b9acSAndroid Build Coastguard Worker 44*1c60b9acSAndroid Build Coastguard WorkerVisit https://localhost:7681, and follow the link there to the secret area. 45*1c60b9acSAndroid Build Coastguard Worker 46*1c60b9acSAndroid Build Coastguard WorkerGive your browser "user1" and "password" as the credentials. For testing to 47*1c60b9acSAndroid Build Coastguard Workerconfirm what a different user sees, you can also log in as "user2" and 48*1c60b9acSAndroid Build Coastguard Worker"password". 49*1c60b9acSAndroid Build Coastguard Worker 50