···11+/target
22+33+# IDE specific files
44+/.idea
+766
crates/intiface_engine/CHANGELOG.md
···11+# Intiface Engine v3.0.8 (2025/04/20)
22+33+- Update to Buttplug v9.0.8
44+ - Lots of new device support
55+ - Bug fixes for serial ports, device limits
66+77+# Intiface Engine v3.0.7 (2024/12/23)
88+99+## Features
1010+1111+- Update to Buttplug v9.0.7
1212+ - Lots of new device support
1313+ - Lovense devices with changed names now still connect
1414+1515+# Intiface Engine v3.0.6 (2024/12/23)
1616+1717+## Features
1818+1919+- Update to Buttplug v9.0.6
2020+ - Lovense Gush 2/Osci 3 device support
2121+2222+# Intiface Engine v3.0.5 (2024/12/21)
2323+2424+## Features
2525+2626+- Update to Buttplug v9.0.5
2727+ - Many devices additions
2828+2929+# Intiface Engine v3.0.4 (2024/10/06)
3030+3131+## Features
3232+3333+- Update to Buttplug v9.0.4
3434+ - Lovense Solace Pro linear movement support
3535+ - Lovense Solace (non-pro) fixes
3636+ - Some device additions
3737+3838+# Intiface Engine v3.0.3 (2024/09/29)
3939+4040+## Features
4141+4242+- Update to Buttplug v9.0.2
4343+ - Lots of device additions, look at the Buttplug changelog for more info
4444+4545+# Intiface Engine v3.0.2 (2024/09/02)
4646+4747+## Bugfixes
4848+4949+- Update to Buttplug v9.0.1
5050+ - Fixes bug with messages IDs sometimes not getting set
5151+5252+# Intiface Engine v3.0.1 (2024/09/01)
5353+5454+## Features
5555+5656+- Update to Buttplug v9.0.0
5757+ - Starting the Message Spec v4 development line
5858+ - There is now a "allow-unstable-v4-connections" feature that will allow for testing throughout
5959+ v4 development. Will be removed when Buttplug v10/Message Spec v4 is released.
6060+ - Lots of device support for like 10 different brands. It's been more than 3 months!
6161+- Rebuild server backdoor system to just be another Buttplug Server instead of exposing Device
6262+ Manager
6363+ - The thing I said I'd never do!
6464+6565+## Bugfixes
6666+6767+- Automatically prepend ws:// to repeater addresses if they don't have it already.
6868+6969+# Intiface Engine v3.0.0 (2024/05/12)
7070+7171+## Breaking Changes
7272+7373+- Device Config File Compatibility
7474+ - This update moves to Buttplug v8, which changes our config file capabilities and adds extra API
7575+ calls for config file updates.
7676+7777+## Features
7878+7979+- Update to Buttplug v8.0.0
8080+ - Rewrite of the device config system
8181+ - Lots of device support for JoyHub, Svakom, LoveDistance, etc...
8282+ - Some backward compat bugfixes
8383+8484+# Intiface Engine v2.0.4 (2024/04/20)
8585+8686+## Features
8787+8888+- Update to Buttplug v7.1.16
8989+ - Lots of device support for JoyHub, Kiiroo, Lioness
9090+ - Fix Lovense Solace issues
9191+9292+# Intiface Engine v2.0.3 (2024/03/17)
9393+9494+## Features
9595+9696+- Update to Buttplug v7.1.15
9797+ - Fix panics that can happen on shutdown in lovense dongle
9898+9999+# Intiface Engine v2.0.2 (2024/03/16)
100100+101101+## Features
102102+103103+- Update to Buttplug v7.1.14
104104+ - Added more device support (see Buttplug CHANGELOG)
105105+106106+# Intiface Engine v2.0.1 (2024/01/27)
107107+108108+## Features
109109+110110+- Update to Buttplug v7.1.13
111111+ - Added more device support (see Buttplug CHANGELOG)
112112+113113+# Intiface Engine v2.0.0 (2024/01/21)
114114+115115+## Breaking Changes
116116+117117+- Removed sentry/crash reporting
118118+ - This is now a library AND a CLI. If someone is using the CLI, they're using it in their own
119119+ setup they can wrap it in whatever crash reporter they want. Moving crash reporting up to Intiface Central.
120120+- Removed logging for library instances
121121+ - Intiface was originally built as a CLI and meant to be run only as such. Now that it's a CLI and
122122+ a library, we need to let applications handle their own logging. The CLI build still has logging features, but library now just exposes a log/tracing interface.
123123+- Removed Websocket Frontend
124124+ - This was used when we were letting other programs run the CLI. Now that there's a library mode,
125125+ we expect applications to just attach directly. This makes things more secure overall, and if users want it back, they can implement their own frontend using the trait.
126126+- All above changes will mostly be reflected externally in either missing CLI arguments, or updates
127127+ to the EngineOptions struct.
128128+- The v2 line may be fairly short, as the engine will once again have a major revision once Buttplug
129129+ moves to its new spec and therefore new major revision.
130130+131131+## Features
132132+133133+- Update to Buttplug v7.1.12
134134+ - Massive number of hardware support updates/bugfixes, just go look at the CHANGELOG
135135+ - Fixes bugs with streaming JSON
136136+- Moved to tokio-tungstenite
137137+ - Matched move made by Buttplug
138138+- Implemented repeater mode (Basic websocket proxy)
139139+ - Mostly needed for reflecting desktop browser apps to phone control
140140+141141+# Intiface Engine v1.4.10 (2023/11/18)
142142+143143+## Bugfixes
144144+145145+- Update to Buttplug v7.1.11
146146+ - Fixed btleplug compilation issue on macOS
147147+148148+# Intiface Engine v1.4.9 (2023/11/18)
149149+150150+## Features
151151+152152+- Update to Buttplug v7.1.10
153153+ - Fixes issues with invalid bluetooth names on Android
154154+155155+# Intiface Engine v1.4.8 (2023/11/16)
156156+157157+## Features
158158+159159+- Update to Buttplug v7.1.9
160160+ - Added Lovense Solace, OhMiBod Foxy, Chill support
161161+162162+# Intiface Engine v1.4.7 (2023/11/04)
163163+164164+## Features
165165+166166+- Allow logging to use environment variables for setup over command line prefs
167167+- Update to Buttplug v7.1.8
168168+ - Add lovense device support
169169+ - Fix some device support issues
170170+171171+# Intiface Engine v1.4.6 (2023/10/19)
172172+173173+## Features
174174+175175+- Update to Buttplug v7.1.7
176176+ - Fixes memory leak in mDNS handling
177177+ - Defaults to device keepalive being on when compiling for iOS
178178+179179+# Intiface Engine v1.4.5 (2023/10/08)
180180+181181+## Features
182182+183183+- Update to Buttplug v7.1.6
184184+ - Fixes Lovense Dongle support
185185+ - Added Foreo device support
186186+187187+# Intiface Engine v1.4.4 (2023/10/05)
188188+189189+## Bugfixes
190190+191191+- Make mDNS actually work in all cases (but it's still considered experimental)
192192+- Fix compilation issues for android
193193+194194+# Intiface Engine v1.4.3 (2023/10/04)
195195+196196+## Features
197197+198198+- Update to Buttplug v7.1.5
199199+ - Lots of device additions, HID device manager for Joycons
200200+- Add mDNS broadcast capabilities
201201+202202+# Intiface Engine v1.4.2 (2023/07/16)
203203+204204+## Features
205205+206206+- Update to Buttplug v7.1.2
207207+ - Device additions for Magic Motion, Lovense Connect bugfix
208208+209209+# Intiface Engine v1.4.1 (2023/07/09)
210210+211211+## Features
212212+213213+- Update to Buttplug v7.1.1
214214+ - Mostly device additions/updates
215215+216216+# Intiface Engine v1.4.0 (2023/05/21)
217217+218218+## Features
219219+220220+- Update to Buttplug v7.1.0
221221+ - Mostly device additions/updates
222222+ - Some fixes for user configs
223223+- Move ButtplugRemoteServer into Intiface Engine
224224+ - Gives us more flexibility to change things in development
225225+- Updates for user device config updates via Buttplug
226226+227227+# Intiface Engine v1.3.0 (2023/02/19)
228228+229229+## Features
230230+231231+- Added Websocket Client argument for running the engine as a websocket client instead of a server
232232+- Update to Buttplug v7.0.2
233233+ - Hardware protocols updates for Kizuna/Svakom/Sakuraneko
234234+235235+# Intiface Engine v1.2.2 (2023/01/30)
236236+237237+## Bugfixes
238238+239239+- Fix timing issue on sending EngineStopped message on exit
240240+241241+# Intiface Engine v1.2.1 (2023/01/16)
242242+243243+## Features
244244+245245+- Update to Buttplug v7.0.1
246246+ - Hardware protocol updates/fixed, see Buttplug CHANGELOG for more info.
247247+248248+# Intiface Engine v1.2.0 (2023/01/01)
249249+250250+## Features
251251+252252+- Update to Buttplug v7.0.0
253253+ - Major version move because of API breakage.
254254+ - Mostly bugfixes otherwise.
255255+ - Removes IPC Pipes, so removed them in Intiface Engine too.
256256+257257+# Intiface Engine v1.1.0 (2022/12/19)
258258+259259+## Features
260260+261261+- Update to Buttplug v6.3.0
262262+ - Lots of device additions
263263+ - Major bugfixes for WeVibe/Satisfyer/Magic Motion and Lovense Connect
264264+265265+# Intiface Engine v1.0.5 (2022/11/27)
266266+267267+## Bugfixes
268268+269269+- Update to Buttplug v6.2.2
270270+ - Fixes issues with platform dependencies and DCMs
271271+ - Fixes error message in common path in CoreBluetooth
272272+ - Stops devices when server disconnects
273273+274274+# Intiface Engine v1.0.4 (2022/11/24)
275275+276276+## Features
277277+278278+- Update to Buttplug v6.2.1
279279+- Add optional tokio_console feature for task debugging
280280+- Remove crash reporting for now
281281+ - Needs to be updated, more testing, etc...
282282+283283+# Intiface Engine v1.0.3 (2022/11/05)
284284+285285+## Features
286286+287287+- Implemented BackdoorServer, which allows access to server devices directly, while still allowing a
288288+ client to access them simultaneously. Can't possibly see how this could go wrong.
289289+- Added EngineServerCreated Event for IntifaceCentral to know when to bring up the BackdoorServer.
290290+291291+## Bugfixes
292292+293293+- Fixed issue where logging could stay alive through multiple server bringups when run in process.
294294+295295+# Intiface Engine v1.0.2 (2022/10/18)
296296+297297+## Bugfixes
298298+299299+- Vergen should not block building as a library dependency
300300+301301+# Intiface Engine v1.0.1 (2022/10/15)
302302+303303+## Features
304304+305305+- Update to Buttplug v6.1.0
306306+ - Mostly bugfixes
307307+ - Now requires v2.x device config files
308308+309309+# Intiface Engine v1.0.0 (2022/10/01)
310310+311311+## Breaking Changes
312312+313313+- Rebuilt command line arguments
314314+ - Now in kebab case format
315315+ - ALL DCMs require --use statements, there are no default DCMs anymore
316316+- Incorporates changes made during the egui betas.
317317+- The `--stay_open` argument is now assumed. The server will run until either Ctrl-C is pressed or
318318+ an IPC stop message is received.
319319+320320+## Features
321321+322322+- Intiface Engine is now compiled as both a CLI (for desktop) and a Library (for mobile).
323323+- Updated to Buttplug v6
324324+- Moved to semantic versioning, major version denotes CLI argument or breaking IPC protocol change.
325325+326326+# v101 (egui Beta 2) (2021/01/25)
327327+328328+- Add websocket device server port selection
329329+330330+# v100 (egui Beta 1) (2021/01/04)
331331+332332+## Features
333333+334334+- Use JSON over named pipes instead of protobufs over stdio
335335+- Add sentry crash logging
336336+- Server version now uses a shorter tag
337337+- Update to Rust 2021
338338+339339+# v50 (2022/04/26) - Last version of Intiface CLI
340340+341341+## Features
342342+343343+- Update to Buttplug v5.1.9
344344+ - Add Magic Motion Crystal support
345345+ - Fix issues with Satisfyer Plugalicious 2 connections
346346+ - Fix issues with Satisfyer device identification
347347+348348+# v49 (2022/03/05)
349349+350350+## Features
351351+352352+- Update to Buttplug v5.1.8
353353+ - Added Lelo F1s v2 support, more support for Mannuo/Magic Motion/OhMiBod devices
354354+ - May fix issues with windows bluetooth on older Win 10 versions
355355+356356+# v48 (2021/01/24)
357357+358358+## Features
359359+360360+- Update to Buttplug v5.1.7
361361+ - Lovense Calor support, Folove support, more WeVibe/Satisfyer support
362362+363363+# v47 (2022/01/04)
364364+365365+## Bugfixes
366366+367367+- No changes to build, re-release to fix issue with a wrong tag getting pushed.
368368+369369+# v46 (2022/01/01)
370370+371371+## Bugfixes
372372+373373+- Update to Buttplug v5.1.6
374374+ - Fix issues with serial ports blocking, lovense connect data types, log message levels, etc...
375375+ - See Buttplug v5.1.6 changelog for more info.
376376+ (https://github.com/buttplugio/buttplug/blob/master/buttplug/CHANGELOG.md)
377377+378378+# v45 (2021/12/19)
379379+380380+## Bugfixes
381381+382382+- Update to Buttplug v5.1.5
383383+ - Fix issues with Satisfyer name detection and disconnection
384384+ - Fix issues with device scanning always saying it's instantly finished
385385+386386+# v44 (2021/12/14)
387387+388388+## Bugfixes
389389+390390+- Update to Buttplug v5.1.4
391391+ - Shouldn't change anything in here, all the fixes were FFI related, but eh.
392392+- Try to get crash logs into frontend log output for easier debugging
393393+- #14: Fix issue with intiface-cli not sending events to desktop after first disconnection
394394+395395+# v43 (2021/12/04)
396396+397397+## Bugfixes
398398+399399+- Update to Buttplug v5.1.2
400400+ - Fix race condition with bluetooth advertisements causing multiple simultaneous connects to
401401+ devices
402402+- Update to vergen 5.2.0
403403+ - Last version was yanked
404404+405405+# v42 (2021/12/03)
406406+407407+## Bugfixes
408408+409409+- Update to Buttplug v5.1.1
410410+ - Fix issues with devices w/ advertised services being ignored
411411+ - Fix issues with lovense dongle on linux
412412+413413+# v41 (2021/12/02)
414414+415415+## Features
416416+417417+- Update to Buttplug v5.1
418418+ - Bluetooth library updates
419419+ - Satisfyer/ManNuo/other device support (see Buttplug README)
420420+ - Lots of other fixes
421421+- Update to vergen v5, tracing-subscriber v0.3
422422+423423+# v40 (2021/09/14)
424424+425425+## Features
426426+427427+- Update to Buttplug v5.0.1
428428+ - Better MacOS bluetooth support
429429+ - Better Linux bluetooth support
430430+ - Tons of device additions (see Buttplug README)
431431+ - Adds websocket device interface
432432+433433+# v39 (2021/07/05)
434434+435435+## Features
436436+437437+- Server now throws warnings whenever a client tries to connect when another client is already
438438+ connected.
439439+- Update to Buttplug 4.0.4
440440+ - Added hardware support for TCode devices, Patoo, Vorze Piston SA
441441+442442+## Bugfixes
443443+444444+- Fix cancellation of tasks on shutdown.
445445+446446+# v38 (2021/06/18)
447447+448448+## Bugfixes
449449+450450+- Update to buttplug-rs 4.0.3, which fixes issues with Android phones using the Lovense Connect app.
451451+452452+# v37 (2021/06/11)
453453+454454+## Bugfixes
455455+456456+- Fix timing issue where Process Ended message may not be seen by Intiface Desktop
457457+- Update to buttplug-rs 4.0.2, fixing issue with Intiface Desktop stalling due to logging issues.
458458+- Add Info.plist file for macOS Big Sur and later compat
459459+460460+# v36 (2021/06/10)
461461+462462+## Features
463463+464464+- Added opt-in/out arguments for all available device communication managers
465465+- Added support for Lovense Connect Service
466466+467467+# v35 (2021/04/04)
468468+469469+## Bugfixes
470470+471471+- Update to Buttplug v2.1.9
472472+ - Reduces error log messages thrown by lovense dongle
473473+ - Reduces panics in bluetooth handling on windows
474474+ - Fixes issue with battery checking on lovense devices stalling library on device disconnect
475475+476476+# v34 (2021/03/25)
477477+478478+## Bugfixes
479479+480480+- Update to Buttplug v2.1.8
481481+ - Possibly fixes issue with bluetooth devices not registering disconnection on windows.
482482+483483+# v33 (2021/03/08)
484484+485485+## Bugfixes
486486+487487+- Update to Buttplug v2.1.7
488488+ - Fixes legacy message issues with The Handy and Vorze toys
489489+ - Fixes init issues with some Kiiroo vibrators
490490+491491+# v32 (2021/02/28)
492492+493493+## Bugfixes
494494+495495+- Update to Buttplug v2.1.6
496496+ - Fixes issues with log message spamming
497497+ - Update btleplug to 0.7.0, lots of cleanup
498498+499499+# v31 (2021/02/20)
500500+501501+## Bugfixes
502502+503503+- Update to Buttplug v2.1.5
504504+ - Fixes panic in devices that disconnect during initialize().
505505+506506+# v30 (2021/02/13)
507507+508508+## Features
509509+510510+- Update to Buttplug v2.1.4
511511+- Added Hardware Support
512512+ - The Handy
513513+514514+## Bugfixes
515515+516516+- Fixes issues with the LoveAi Dolp and Lovense Serial Dongle
517517+518518+# v29 (2021/02/06)
519519+520520+## Bugfixes
521521+522522+- Update to Buttplug v2.1.3
523523+ - Fix StopAllDevices so it actually stops all devices again
524524+ - Allow for setting device intensity to 1.0
525525+526526+# v28 (2021/02/06)
527527+528528+## Features
529529+530530+- Update to Buttplug v2.1.1
531531+ - Adds Lovense Diamo and Nobra's Silicone Dreams support
532532+ - Lots of bugfixes and more/better errors being emitted
533533+534534+# v27 (2021/01/24)
535535+536536+## Bugfixes
537537+538538+- Update to Buttplug 2.0.5
539539+ - Fixes issue with v2 protocol conflicts in DeviceMessageInfo
540540+541541+# v26 (2021/01/24)
542542+543543+## Bugfixes
544544+545545+- Update to Buttplug 2.0.4
546546+ - Fixes issue with XInput devices being misaddressed and stopping all scanning.
547547+548548+# v25 (2021/01/19)
549549+550550+## Bugfixes
551551+552552+- Update to Buttplug 2.0.2
553553+ - Fixes issue with scanning status getting stuck on Lovense dongles
554554+555555+# v24 (Yanked) (2021/01/18)
556556+557557+## Features
558558+559559+- Update to Buttplug 2.0.1
560560+ - Event system and API cleanup
561561+ - Lovense Ferri Support
562562+- Backtraces now emitted via logging system when using frontend IPC
563563+564564+# v23 (2021/01/01)
565565+566566+## Bugfixes
567567+568568+- Update to Buttplug 1.0.4
569569+ - Fixes issues with XInput Gamepads causing intiface-cli-rs crashes on reconnect.
570570+571571+# v22 (2021/01/01)
572572+573573+## Bugfixes
574574+575575+- Update to Buttplug 1.0.3
576576+ - Fixes issues with BTLE advertisements and adds XInput device rescanning.
577577+578578+# v21 (2020/12/31)
579579+580580+## Bugfixes
581581+582582+- Update to Buttplug 1.0.1
583583+ - Fixes issue with device scanning races.
584584+585585+# v20 (2020/12/22)
586586+587587+## Bugfixes
588588+589589+- Update to Buttplug 0.11.3
590590+ - Fixes security issues and a memory leak when scanning is called often.
591591+592592+# v19 (2020/12/11)
593593+594594+## Bugfixes
595595+596596+- Update to Buttplug 0.11.2
597597+ - Emits Scanningfinished when scanning is finished. Finally.
598598+599599+# v18 (2020/11/27)
600600+601601+## Features
602602+603603+- Update to buttplug-rs 0.11.1
604604+ - System bugfixes
605605+ - Mysteryvibe support
606606+607607+# v17 (2020/10/25)
608608+609609+## Features
610610+611611+- Update to buttplug-rs 0.10.1
612612+ - Lovense Dongle Bugfixes
613613+ - BLE Toy Connection Bugfixes
614614+- Fix logging output
615615+ - Pay attention to log option on command line again
616616+ - Outputs full tracing JSON to frontend
617617+618618+# v16 (2020/10/17)
619619+620620+## Features
621621+622622+- Update to buttplug-rs 0.10.0
623623+ - Kiiroo Keon Support
624624+ - New raw device commands (use --allowraw option for access)
625625+626626+## Bugfixes
627627+628628+- Update to buttplug-rs 0.10.0
629629+ - Lots of websocket crash fixes
630630+631631+# v15 (2020/10/05)
632632+633633+## Bugfixes
634634+635635+- Update to buttplug-rs 0.9.2 w/ btleplug 0.5.4, fixing an issue with macOS
636636+ panicing whenever it tries to read from a BLE device.
637637+638638+# v14 (2020/10/05)
639639+640640+## Bugfixes
641641+642642+- Update to buttplug-rs 0.9.1 w/ btleplug 0.5.3, fixing an issue with macOS
643643+ panicing whenever it tries to write to a BLE device.
644644+645645+# v13 (2020/10/04)
646646+647647+## Features
648648+649649+- Update to buttplug-rs 0.9.0, which now has Battery level reading capabilites
650650+ for some hardware.
651651+652652+## Bugfixes
653653+654654+- Update to buttplug-rs 0.9.0, which now does not crash when 2 devices are
655655+ connected and one disconnects.
656656+657657+# v12 (2020/10/02)
658658+659659+## Features
660660+661661+- Update to Buttplug-rs 0.8.4, fixing a bunch of device issues.
662662+- Default to outputting info level logs if no env log var set. (Should pick this
663663+ up from command line argument in future version)
664664+665665+## Bugfixes
666666+667667+- Only run for one connection attempt if --stayopen isn't passed in.
668668+669669+# v11 (2020/09/20)
670670+671671+## Bugfixes
672672+673673+- Moves to buttplug-0.8.3, which fixes support for some programs using older
674674+ APIs (FleshlightLaunchFW12Cmd) for Kiiroo stroking products (Onyx, Fleshlight
675675+ Launch, etc).
676676+677677+# v10 (2020/09/13)
678678+679679+## Features
680680+681681+- Added log handling from Buttplug library. Still needs protocol/CLI setting,
682682+ currently outputs everything INFO or higher.
683683+684684+## Bugfixes
685685+686686+- Moves to buttplug-0.8.2, fixing Lovense rotation and adding log output
687687+ support.
688688+689689+# v9 (2020/09/11)
690690+691691+## Bugfixes
692692+693693+- Moves to buttplug-0.7.3, which loads both RSA and pkcs8 certificates. This
694694+ allows us to load the certs that come from Intiface Desktop.
695695+696696+# v8 (2020/09/07)
697697+698698+## Bugfixes
699699+700700+- Move to buttplug-rs 0.7.2, which adds more device configurations and fixes
701701+ websocket listening on all interfaces.
702702+703703+# v7 (2020/09/06)
704704+705705+## Features
706706+707707+- Move to buttplug-rs 0.7.1, which includes status emitting features and way
708708+ more device protocol support.
709709+- Allow frontend to trigger process stop
710710+- Send disconnect to frontend when client disconnects
711711+- Can now relay connected/disconnected devices to GUIs via PBuf protocol
712712+713713+# v6 (2020/08/06)
714714+715715+## Features
716716+717717+- Move to buttplug-rs 0.6.0, which integrates websockets and server lifetime
718718+ handling. intiface-cli-rs is now a very thin wrapper around buttplug-rs,
719719+ handling system bringup and frontend communication and that's about it.
720720+721721+# v5 (2020/05/13)
722722+723723+## Bugfixes
724724+725725+- Move to buttplug-rs 0.3.1, with a couple of unwrap fixes
726726+727727+# v4 (2020/05/10)
728728+729729+## Features
730730+731731+- --stayopen option now actually works, reusing the server between
732732+ client connections.
733733+734734+# v3 (2020/05/09)
735735+736736+## Features
737737+738738+- Added protobuf basis for hooking CLI into Intiface Desktop
739739+740740+## Bugfixes
741741+742742+- Fixed bug where receiving ping message from async_tungstenite would
743743+ panic server
744744+- Update to buttplug 0.2.4, which fixes ServerInfo message ID matching
745745+746746+# v2 (2020/02/15)
747747+748748+## Features
749749+750750+- Move to using rolling versioning, since this is a binary
751751+- Move to using buttplug 0.2, with full server implementation
752752+- Add cert generation
753753+- Add secure websocket capabilities
754754+- Move to using async-tungstenite
755755+- Use Buttplug's built in JSONWrapper
756756+- Add XInput capability on windows
757757+- Add CI building
758758+- Add Simple GUI message output for Intiface Desktop
759759+760760+# v1 (aka v0.0.1) (2020/02/15)
761761+762762+## Features
763763+764764+- First version
765765+- Can bring up insecure websocket, run server, access toys
766766+- Most options not used yet
···11+# Intiface Engine
22+33+[](https://www.patreon.com/qdot)
44+[](https://www.github.com/sponsors/qdot)
55+[](https://discuss.buttplug.io)
66+[](https://discord.buttplug.io)
77+[](https://twitter.com/buttplugio)
88+99+ 
1010+1111+1212+<p align="center">
1313+ <img src="https://raw.githubusercontent.com/buttplugio/buttplug/dev/images/buttplug_rust_docs.png">
1414+</p>
1515+1616+CLI and Library frontend for Buttplug
1717+1818+Intiface Engine is just a front-end for [Buttplug](https://github.com/buttplugio/buttplug),
1919+but since we're trying to not make people install a program named "Buttplug", here we are.
2020+2121+While this program can be used standalone, it will mostly be featured as a backend/engine for
2222+Intiface Central.
2323+2424+## Running
2525+2626+Command line options are as follows:
2727+2828+| Option | Description |
2929+| --------- | --------- |
3030+| `version` | Print version and exit |
3131+| `server-version` | Print version and exit (kept for legacy reasons) |
3232+| `websocket-use-all-interfaces` | Websocket servers will listen on all interfaces (versus only on localhost, which is default) |
3333+| `websocket-port [port]` | Network port for connecting via non-ssl (ws://) protocols |
3434+| `frontend-websocket-port` | IPC JSON port for Intiface Central |
3535+| `server-name` | Identifying name server should emit when asked for info |
3636+| `device-config-file [file]` | Device configuration file to load (if omitted, uses internal) |
3737+| `user-device-config-file [file]` | User device configuration file to load (if omitted, none used) |
3838+| `max-ping-time [number]` | Milliseconds for ping time limit of server (if omitted, set to 0) |
3939+| `log` | Level of logs to output by default (if omitted, set to None) |
4040+| `allow-raw` | Allow clients to communicate using raw messages (DANGEROUS, CAN BRICK SOME DEVICES) |
4141+| `use-bluetooth-le` | Use the Bluetooth LE Buttplug Device Communication Manager |
4242+| `use-serial` | Use the Serial Port Buttplug Device Communication Manager |
4343+| `use-hid` | Use the HID Buttplug Device Communication Manager |
4444+| `use-lovense-dongle` | Use the HID Lovense Dongle Buttplug Device Communication Manager |
4545+| `use-xinput` | Use the XInput Buttplug Device Communication Manager |
4646+| `use-lovense-connect` | Use the Lovense Connect Buttplug Device Communication Manager |
4747+| `use-device-websocket-server` | Use the Device Websocket Server Buttplug Device Communication Manager |
4848+| `device-websocket-server-port` | Port for the device websocket server |
4949+5050+For example, to run the server on websockets at port 12345 with bluetooth device support:
5151+5252+`intiface-engine --websocket-port 12345 --use-bluetooth-le`
5353+5454+## Compiling
5555+5656+Linux will have extra compilation dependency requirements via
5757+[buttplug-rs](https://github.com/buttplugio/buttplug-rs). For pacakges required,
5858+please check there.
5959+6060+## Contributing
6161+6262+Right now, we mostly need code/API style reviews and feedback. We don't really have any good
6363+bite-sized chunks to mentor the implementation yet, but one we do, those will be marked "Help
6464+Wanted" in our [github issues](https://github.com/buttplugio/buttplug-rs/issues).
6565+6666+As we need money to keep up with supporting the latest and greatest hardware, we also have multiple
6767+ways to donate!
6868+6969+- [Patreon](https://patreon.com/qdot)
7070+- [Github Sponsors](https://github.com/sponsors/qdot)
7171+- [Ko-Fi](https://ko-fi.com/qdot76367)
7272+7373+## License and Trademarks
7474+7575+Intiface is a Registered Trademark of Nonpolynomial Labs, LLC
7676+7777+Buttplug and Intiface are BSD licensed.
7878+7979+ Copyright (c) 2016-2022, Nonpolynomial Labs, LLC
8080+ All rights reserved.
8181+8282+ Redistribution and use in source and binary forms, with or without
8383+ modification, are permitted provided that the following conditions are met:
8484+8585+ * Redistributions of source code must retain the above copyright notice, this
8686+ list of conditions and the following disclaimer.
8787+8888+ * Redistributions in binary form must reproduce the above copyright notice,
8989+ this list of conditions and the following disclaimer in the documentation
9090+ and/or other materials provided with the distribution.
9191+9292+ * Neither the name of buttplug nor the names of its
9393+ contributors may be used to endorse or promote products derived from
9494+ this software without specific prior written permission.
9595+9696+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
9797+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
9898+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
9999+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
100100+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
101101+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
102102+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
103103+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
104104+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
105105+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.