Commit Graph

549 Commits

Author SHA1 Message Date
Miroslav Šedivý
304cb5d655 add CanLogin check for Authenticate. 2021-03-14 19:58:15 +01:00
Miroslav Šedivý
9483882c89 member mutex move to manager. 2021-03-14 19:36:30 +01:00
Miroslav Šedivý
4207775fb3 split member manager and provider. 2021-03-14 16:58:18 +01:00
Miroslav Šedivý
19e732f3ea fix typo. 2021-03-14 16:23:14 +01:00
Miroslav Šedivý
fad3ab0062 MemberData split ID and profile, return on create. 2021-03-14 16:19:23 +01:00
Miroslav Šedivý
4d2fb157f9 API implement members. 2021-03-14 14:44:32 +01:00
Miroslav Šedivý
4898cecd56 members minor bugfixes. 2021-03-14 14:44:03 +01:00
Miroslav Šedivý
8f277c61c9 members object provider default from config. 2021-03-14 13:11:26 +01:00
Miroslav Šedivý
00586baffc member providers extracted config. 2021-03-14 13:07:03 +01:00
Miroslav Šedivý
fceae3818b default object members provider. 2021-03-14 13:06:48 +01:00
Miroslav Šedivý
f57332ba2a dummy allow all logins. 2021-03-14 13:06:33 +01:00
Miroslav Šedivý
bf560d5289 implemented member manager. 2021-03-14 12:57:19 +01:00
Miroslav Šedivý
7c79b48750 added member provider. 2021-03-14 01:08:50 +01:00
Miroslav Šedivý
594404824f fmt. 2021-03-14 01:05:00 +01:00
Miroslav Šedivý
ecad2124fd session state decoupled. 2021-03-14 00:50:08 +01:00
Miroslav Šedivý
4a28307c1e session profile decoupled. 2021-03-14 00:45:51 +01:00
Miroslav Šedivý
7d4f7694b9 login username password. 2021-03-14 00:32:52 +01:00
Miroslav Šedivý
5101f0a9c3 fix logs. 2021-03-14 00:12:32 +01:00
Miroslav Šedivý
fb2078e1ff member -> session. 2021-03-14 00:05:31 +01:00
Miroslav Šedivý
fa687480a9 member events -> session events. 2021-03-13 23:48:07 +01:00
Miroslav Šedivý
dafebc79e5 memberState -> sessionState. 2021-03-13 23:42:16 +01:00
Miroslav Šedivý
b03a730c84 memberId to sessionId. 2021-03-13 23:32:10 +01:00
Miroslav Šedivý
d83e04e7ec fix logs, unified session_id. 2021-03-13 23:27:28 +01:00
Miroslav Šedivý
cacdd9e20a Revert 'autogenerate token.' 2021-03-13 22:54:34 +01:00
Miroslav Šedivý
3fcca6ab52 OnHostChanged event and add tokens to session. 2021-03-13 22:17:49 +01:00
Miroslav Šedivý
453a6905f7 fmt auth. 2021-03-13 21:44:38 +01:00
Miroslav Šedivý
93ac4e8332 autogenerate token. 2021-03-13 21:43:36 +01:00
Miroslav Šedivý
a6b66e4d55 OnHostChanged event. 2021-03-13 21:37:00 +01:00
Miroslav Šedivý
3aea0c7bf5 remove members from session. 2021-03-13 21:11:48 +01:00
Miroslav Šedivý
84f0b0aaeb move session database to member folder. 2021-03-13 21:07:51 +01:00
Miroslav Šedivý
58b00525cc refactor authenticate to use Token. 2021-03-13 20:42:56 +01:00
Miroslav Šedivý
6b638db825 capture use display from ENV. 2021-03-11 17:55:13 +01:00
Miroslav Šedivý
d24cea3535 desktop display from env. 2021-03-11 17:44:49 +01:00
Miroslav Šedivý
0ac2109275 add ip_retrieval_url. 2021-03-10 13:15:18 +01:00
Miroslav Šedivý
f6114cd410 pipelines: modify default bitrate ratio. 2021-03-03 22:30:45 +01:00
Miroslav Šedivý
13ffc59209 broadcast pipeline update. 2021-03-03 19:13:53 +01:00
Miroslav Šedivý
e98237a58c vp8 set CBR and undershoot values. 2021-03-03 19:10:48 +01:00
Miroslav Šedivý
b78132e6aa WebRTC: add rtp consumer. 2021-03-03 18:53:35 +01:00
Miroslav Šedivý
9dc96036ce fmt sessionCtx. 2021-03-03 18:46:08 +01:00
Miroslav Šedivý
0aa1237df9 change pingPeriod to 10s. 2021-03-03 18:35:58 +01:00
Miroslav Šedivý
fa16b28ac0 set secure cookies by default. 2021-03-01 18:52:05 +01:00
Miroslav Šedivý
c6a183f766 set AllowCredentials to true. 2021-03-01 18:20:17 +01:00
Miroslav Šedivý
8f9ad2cd9b capture stream remove listeners on shutdown. 2021-02-28 18:56:04 +01:00
Miroslav Šedivý
2204400282 cursor cache disable if not available. 2021-02-28 18:52:37 +01:00
Miroslav Šedivý
663270b0f5 cursor position bypass desktop module. 2021-02-28 18:50:32 +01:00
Miroslav Šedivý
66618b9e62 WebRTC cursor handler extracted + cache. 2021-02-28 18:37:35 +01:00
Miroslav Šedivý
9d60468aea xevent DRY, expose emitter. 2021-02-28 17:22:55 +01:00
Miroslav Šedivý
09625ecca5 session refactor state. 2021-02-26 15:04:50 +01:00
Miroslav Šedivý
93f8d7f05e adding WebRTC timeouts. 2021-02-25 17:16:37 +01:00
Miroslav Šedivý
e9840a9579 fmt edit. 2021-02-25 17:16:01 +01:00
Miroslav Šedivý
2410295ad4 cursor CreatePNGImage in event emitter. 2021-02-25 14:24:17 +01:00
Miroslav Šedivý
d2eda6f25f cursor utils changed to generic CreatePNGImage. 2021-02-25 14:15:18 +01:00
Miroslav Šedivý
8f142e4b91 GetCursorImage returns image structure. 2021-02-25 14:03:57 +01:00
Miroslav Šedivý
dc29f71b0c keysym as uint32. 2021-02-23 21:25:55 +01:00
Miroslav Šedivý
8f2639412d format code. 2021-02-21 00:41:04 +01:00
Miroslav Šedivý
7df1040439 remove not needed log message. 2021-02-18 16:59:36 +01:00
Miroslav Šedivý
c862711e6a update KeyboardModifiers WebSocket struct. 2021-02-18 16:52:49 +01:00
Miroslav Šedivý
ab34f4a53f WebRTC cursor: set initial state. 2021-02-17 21:55:21 +01:00
Miroslav Šedivý
5310acfbf0 implement xorg GetCursorPosition. 2021-02-17 21:55:11 +01:00
Miroslav Šedivý
2ac3f9876f audio start / stop in WebRTC. 2021-02-14 18:16:24 +01:00
Miroslav Šedivý
cd18a22655 WebRTC events only for active peer connection. 2021-02-14 17:17:06 +01:00
Miroslav Šedivý
2b693f4e52 fix naming convention. 2021-02-14 17:11:21 +01:00
Miroslav Šedivý
45679f1b86 format Go source code. 2021-02-14 14:40:17 +01:00
Miroslav Šedivý
732764991b fix linter errors. 2021-02-14 14:23:33 +01:00
Miroslav Šedivý
c9b2c93fb8 cursor image/position from WebRTC. 2021-02-13 18:25:40 +01:00
Miroslav Šedivý
061fbe60cf switch WebRTC to BigEndian. 2021-02-13 00:01:56 +01:00
Miroslav Šedivý
ed9f0276c7 fix WebRTC send: remove structures with dynamic size. 2021-02-12 23:46:57 +01:00
Miroslav Šedivý
8a3b3f14cb WebRTC channel from server. 2021-02-12 23:45:16 +01:00
Miroslav Šedivý
90aa2ce51a cursor utils: split to URI and bytes. 2021-02-12 23:43:52 +01:00
Miroslav Šedivý
af3a28274d add customized WebRTC send functions. 2021-02-12 22:13:55 +01:00
Miroslav Šedivý
c54703d7d7 destroy WS and WebRTC peers before assigning. 2021-02-12 21:48:47 +01:00
Miroslav Šedivý
c8200e3bb7 add WebRTC send function. 2021-02-12 21:06:42 +01:00
Miroslav Šedivý
f22922191a broadcast cursor position via WebSockets. 2021-02-11 18:36:27 +01:00
Miroslav Šedivý
e8286dec96 xorg: filter out all irrelevant screen rates. 2021-02-10 18:56:20 +01:00
Miroslav Šedivý
c0c14b3ac2 add screen-size aware pipelines. 2021-02-09 20:36:22 +01:00
Miroslav Šedivý
bac69a205f update qualities pipelines with fps. 2021-02-08 22:21:21 +01:00
Miroslav Šedivý
626164df89 SignalVideo reply. 2021-02-07 17:29:40 +01:00
Miroslav Šedivý
dd2ca03955 choose video with CreatePeer. 2021-02-07 17:07:55 +01:00
Miroslav Šedivý
5cdb6e074e send video IDs with signal provide. 2021-02-07 16:52:30 +01:00
Miroslav Šedivý
1838a74213 switch to VP8 with multiple qualities. 2021-02-06 18:18:49 +01:00
Miroslav Šedivý
eb88c8dc62 independent tracks for users & stream switching. 2021-02-06 18:16:24 +01:00
Miroslav Šedivý
417a3d1692 stream listeners as pointers. 2021-02-06 17:05:25 +01:00
Miroslav Šedivý
5d66dcdb7b unsubscribe listeners on shutdown. 2021-02-06 12:59:57 +01:00
Miroslav Šedivý
f05889bd56 Capture stream: Add- and RemoveListener. 2021-02-06 12:52:02 +01:00
Miroslav Šedivý
6756114e30 replace video track on demand. 2021-02-05 20:35:30 +01:00
Miroslav Šedivý
c81bca9b2f session GetWebRTCPeer. 2021-02-05 18:14:45 +01:00
Miroslav Šedivý
761f6d8a8f add Video error return. 2021-02-05 18:07:58 +01:00
Miroslav Šedivý
f62d36ac4f WebRTC SetVideoID. 2021-02-05 17:57:33 +01:00
Miroslav Šedivý
aa7a131da2 refactor single video track to an array. 2021-02-05 17:40:29 +01:00
Miroslav Šedivý
ebd7e7c065 move gst pipelines to codec. 2021-02-05 15:10:41 +01:00
Miroslav Šedivý
36b7eca43c name confusion Enabled -> Started. 2021-02-05 14:03:53 +01:00
Miroslav Šedivý
18b6fa0a03 remove config from capture managers. 2021-02-05 13:58:02 +01:00
Miroslav Šedivý
3515c67045 capture add mutexes. 2021-02-05 12:49:02 +01:00
Miroslav Šedivý
2b72f43c9e do not start pipeline when error. 2021-02-05 12:41:02 +01:00
Miroslav Šedivý
58ea3665b0 unify capture shutdown. 2021-02-05 12:18:46 +01:00
Miroslav Šedivý
7902d7b1f1 Implement Audio & Video using custom StreamManager. 2021-02-04 20:39:48 +00:00
Miroslav Šedivý
b488f01b16 vp9enc add properties from vp8enc. 2021-02-04 13:52:32 +01:00
Miroslav Šedivý
7e7a0c0617 tune gst pipelines. 2021-02-03 21:04:48 +01:00
Miroslav Šedivý
c2553b150c ICETrickle in config. 2021-02-02 21:12:11 +01:00
Miroslav Šedivý
cae8201908 add Trickle ICE support. 2021-02-02 20:43:33 +01:00
Miroslav Šedivý
dd4c67a6c4 registerTracks check for err. 2021-02-02 19:36:11 +01:00
Miroslav Šedivý
ace7b254a3 split webrtc ConnectPeer function. 2021-02-02 19:21:48 +01:00
Miroslav Šedivý
91f1727723 lint remove whitespaces. 2021-02-02 18:28:32 +01:00
Miroslav Šedivý
e152ee295b lint fix. 2021-02-02 18:21:07 +01:00
Miroslav Šedivý
d880e4384f RTPCodec as functions. 2021-02-02 16:58:17 +01:00
Miroslav Šedivý
45cf44835c webrtc improved logging & close on disconnect or fail. 2021-02-02 16:21:20 +01:00
Miroslav Šedivý
6d595e8572 refactor to v3 + custom codec handler. 2021-02-01 23:50:18 +01:00
Miroslav Šedivý
4e79c487e5 bump pion v3 compatible. 2021-02-01 22:45:44 +01:00
Miroslav Šedivý
7c305b5a27 clipboard lint fix. 2021-02-01 18:29:39 +01:00
Miroslav Šedivý
b420841f9d no clipboard content bug. 2021-02-01 12:23:37 +01:00
Miroslav Šedivý
b9df65c216 xevent dialog window based on name. 2021-01-31 15:01:46 +01:00
Miroslav Šedivý
28f3397723 logout correct cookie path. 2021-01-29 23:07:43 +01:00
Miroslav Šedivý
dabda571d4 session response 200 on login & logout. 2021-01-29 23:03:35 +01:00
Miroslav Šedivý
57ed35552f websocket in api scope. 2021-01-29 23:02:29 +01:00
Miroslav Šedivý
6d59b3feff session handler with cookies. 2021-01-29 22:22:14 +01:00
Miroslav Šedivý
546cd608c3 join plain text and rich text to one struct. 2021-01-29 20:05:13 +01:00
Miroslav Šedivý
5c9a57ee91 xclip minor changes + image. 2021-01-29 00:03:22 +01:00
Miroslav Šedivý
1e479dc03f backward compatibility. 2021-01-28 23:59:51 +01:00
Miroslav Šedivý
2d11b4fa56 xclip multiple clipboard content types. 2021-01-28 22:51:55 +01:00
Miroslav Šedivý
4602f5f6cf xclip verbose error output. 2021-01-28 21:19:31 +01:00
Miroslav Šedivý
11e74459ac replace libclipboard with xclip. 2021-01-28 21:12:35 +01:00
Miroslav Šedivý
ced0a89bbe send: body any type. 2021-01-28 17:11:23 +01:00
Miroslav Šedivý
8e13a60677 send unicast & broadcast. 2021-01-28 15:56:50 +01:00
Miroslav Šedivý
c27658d54c HandleFileChooserDialog: fix auocomplete bug. 2021-01-25 20:23:40 +01:00
Miroslav Šedivý
7cbee94a80 multipart form lint fixes. 2021-01-25 17:45:52 +01:00
Miroslav Šedivý
794728f4a8 add nolint. 2021-01-25 17:36:43 +01:00
Miroslav Šedivý
0ead4bc8fd reset keys before drop. 2021-01-25 17:33:29 +01:00
Miroslav Šedivý
51d061e9aa minor lint fixes. 2021-01-25 17:31:24 +01:00
Miroslav Šedivý
47689d5372 cors fix typo, default config value. 2021-01-23 20:08:30 +01:00
Miroslav Šedivý
d30d6deb79 add CORS. 2021-01-23 18:18:14 +01:00
Miroslav Šedivý
79d67c4a09 screencast atomic expired. 2021-01-23 16:29:47 +01:00
Miroslav Šedivý
1ffbe337d4 shot.jpg. 2021-01-23 15:23:10 +01:00
Miroslav Šedivý
fdd98377b3 lazy screencast. 2021-01-23 15:17:52 +01:00
Miroslav Šedivý
75393905e8 screencast quality and framerate. 2021-01-22 18:44:27 +01:00
Miroslav Šedivý
3161870906 add screencast to capture. 2021-01-22 18:13:32 +01:00
Miroslav Šedivý
407853eeb1 decouple BroadcastManager from CaptureManager. 2021-01-22 14:09:47 +01:00
Miroslav Šedivý
afd3dd2f56 generate screenshot using Xlib. 2021-01-21 20:44:09 +01:00
Miroslav Šedivý
7ff6ada205 filechooserdialog refactor desktop. 2021-01-20 23:51:53 +01:00
Miroslav Šedivý
64dd31844b filechooser websocket handler. 2021-01-20 23:48:50 +01:00
Miroslav Šedivý
dbbbc85c18 xevent file-chooser-dialog-opened onConfigure. 2021-01-20 23:47:49 +01:00
Miroslav Šedivý
1559c6c3bd filechooser -> filechooserdialog. 2021-01-20 19:45:47 +01:00
Miroslav Šedivý
d4e0287eb5 file chooser dialog events implementation. 2021-01-19 21:01:31 +01:00
Miroslav Šedivý
22d31e871c file chooser (WIP). 2021-01-18 22:01:11 +01:00
Miroslav Šedivý
b49ed65a5c add xorg PutWindowBelow. 2021-01-18 21:43:44 +01:00
Miroslav Šedivý
54760551f7 add OnWindowConfigured. 2021-01-18 21:40:57 +01:00
Miroslav Šedivý
bd062d3949 lint fix. 2021-01-18 15:31:00 +01:00
Miroslav Šedivý
8f60041b2d fix dialog close and add API. 2021-01-18 10:34:33 +01:00
Miroslav Šedivý
2b3bb6e21a upload dialog API. 2021-01-17 23:50:03 +01:00
Miroslav Šedivý
ac7200c630 simplify xorg condition. 2021-01-17 19:10:49 +01:00
Miroslav Šedivý
80550350a8 DROP_MOVE_REPEAT. 2021-01-15 18:00:04 +01:00
Miroslav Šedivý
3bbe3781c8 set screen size using struct. 2021-01-15 17:30:19 +01:00
Miroslav Šedivý
0e09609c67 KeyboardLayout to KeyboardMap. 2021-01-15 16:53:03 +01:00
Miroslav Šedivý
8c47cbae68 multipart form correct destroying. 2021-01-14 19:54:22 +01:00
Miroslav Šedivý
a96b770052 gtk drop refactored using events. 2021-01-14 19:53:58 +01:00
Miroslav Šedivý
253247f6ce gkt drag and drop remove duplicity. 2021-01-14 16:42:33 +01:00
Miroslav Šedivý
c808759709 gst free error only if occurs. 2021-01-14 14:15:17 +01:00
Miroslav Šedivý
0f27b81f76 drag_window add logging. 2021-01-13 22:46:44 +01:00
Miroslav Šedivý
39d48c3db8 ignore duplicated packet log messages. 2021-01-13 21:36:43 +01:00
Miroslav Šedivý
71dbdc06f5 add layout variant. 2021-01-12 23:52:44 +01:00
Miroslav Šedivý
7f18c5842d changing keyboard layout as go exec. 2021-01-12 23:48:15 +01:00
Miroslav Šedivý
4844225a0b keyboardModifiersGet. 2021-01-12 23:35:46 +01:00
Miroslav Šedivý
8a9dceafec xorg modifiers fix mask. 2021-01-12 23:35:11 +01:00
Miroslav Šedivý
a0d8f1b880 xorg modifiers refactor. 2021-01-12 22:54:13 +01:00
Miroslav Šedivý
c75191edeb capture: hide pointer. 2021-01-12 16:25:14 +01:00
Miroslav Šedivý
dbc8a7612d gst pipeline app sink refactoring. 2021-01-12 16:24:54 +01:00
Miroslav Šedivý
3faca29a89 remove codec name from pipeline. 2021-01-12 16:13:59 +01:00
Miroslav Šedivý
425d9c2ace fix broken pipeline. 2021-01-12 16:12:53 +01:00
Miroslav Šedivý
f32ebe7935 catch gstreamer errors. 2021-01-12 16:12:05 +01:00
Miroslav Šedivý
49c3b6d4fe xevent: OnWindowCreated. 2021-01-12 00:09:43 +01:00
Miroslav Šedivý
94a9c7c10a tidy up C files. 2021-01-11 15:57:14 +01:00
Miroslav Šedivý
a2ca3727fe xevent to update clipboard. 2021-01-11 15:30:53 +01:00
Miroslav Šedivý
910f0af995 xevent cursor change. 2021-01-10 15:58:17 +01:00
Miroslav Šedivý
0f19b6ed57 add xevent c bindings. 2021-01-10 15:55:29 +01:00
Miroslav Šedivý
a7d4511037 cursor Image on connect. 2021-01-10 12:42:07 +01:00
Miroslav Šedivý
589628f6ca cursor image as WS event. 2021-01-10 12:37:32 +01:00
Miroslav Šedivý
9782b8391d cursor updates to client (WIP). 2021-01-09 23:01:39 +01:00
Miroslav Šedivý
9112d99c54 add cursor image to uri convertor. 2021-01-09 23:01:18 +01:00
Miroslav Šedivý
93b1553b4d xlib get cursor implementation. 2021-01-09 22:58:18 +01:00
Miroslav Šedivý
ab1d18b562 zero sized gtk window. 2021-01-09 16:40:24 +01:00
Miroslav Šedivý
44c8f8f62e gtk window transparent. 2021-01-09 16:33:41 +01:00
Miroslav Šedivý
9f3bc0261c update upload API error reporting & cleanup. 2021-01-09 16:24:05 +01:00
Miroslav Šedivý
fad6b649d3 upload, implicit hosting, only members that can control. 2021-01-09 13:42:08 +01:00
Miroslav Šedivý
d65ba62bfc upload middleware: fix permissions issue. 2021-01-08 23:42:53 +01:00
Miroslav Šedivý
fc6997d2ac lint fix. 2021-01-08 22:41:37 +01:00
Miroslav Šedivý
a6afccd079 desktop single mutex shared gtk. 2021-01-08 22:03:50 +01:00
Miroslav Šedivý
d3340ad085 upload drop change API. 2021-01-07 18:28:23 +01:00
Miroslav Šedivý
3f9fffe96d desktop drop -> gtk. 2021-01-07 18:27:50 +01:00
Miroslav Šedivý
39208f1ea5 drop: chrome weird behavior, multiple cursor moves. 2021-01-06 20:16:21 +01:00
Miroslav Šedivý
3e52b264ba API drop file upload. 2021-01-06 20:03:41 +01:00
Miroslav Šedivý
a104fc0525 change formatting. 2021-01-06 18:58:16 +01:00
Miroslav Šedivý
62ba53dc46 implement file drop API. 2021-01-06 18:57:50 +01:00
Miroslav Šedivý
64187964d4 uris -> files. 2021-01-06 18:54:55 +01:00
Miroslav Šedivý
a92ead019e add drop bindings. 2021-01-06 18:27:21 +01:00
Miroslav Šedivý
4aa7da45e1 screen change mutex, fixes "HTTP requests are not buffered - screen changing is failing". 2021-01-04 19:39:21 +01:00
Miroslav Šedivý
245c3d9635 add CanHostOnly. 2020-12-29 22:00:28 +01:00
Miroslav Šedivý
655d64105e HttpJsonRequest user friendly message. 2020-12-27 21:07:09 +01:00
Miroslav Šedivý
da71c9261d API: Target member was not found, return 404. 2020-12-27 17:07:09 +01:00
Miroslav Šedivý
a6dccc753b API update: control give memberId. 2020-12-26 23:53:04 +01:00
Miroslav Šedivý
b197bb303e add support for modules. 2020-12-12 18:37:19 +01:00
Miroslav Šedivý
5b69413e01 AddHandler in WebSockets. 2020-12-12 17:40:10 +01:00