Hmm, strange, I just tried it and theedgy.app site connects immediately… not even a delay from when I click connect to the button turning to say ‘Disconnect’.
I’m currently working my day job right now, but later today I’ll get around to making a step by step video for this process.
But just to confirm the steps you took to try to connect to theedgy.app site:
- Launch Intiface Central, navigate to App Modes, click server port, change server port to ‘12346’, then click ‘Start Server’
- Launch VacuScripter, navigate to ‘Edit’ then ‘Options’, change Listen Intiface Port to ‘12346’, click ‘SAVE’, and then navigate to ‘Tools’ then click ‘Listen as Buttplug Client’
- VacuScripter will now say “Buttplug Proxy Server ACTIVE (background thread)”
- Open theedgy.app/app and make sure you click ‘Intiface’ for the Handy Connection, make sure WebSocket URL is: ws://localhost:12345 and then click ‘Connect to Initface’
As shown in screenshot #1 (Intiface Port):
Screenshot #2 (Enable Listen as Buttplug Client):
At this point, after clicking ‘Connect to Intiface’, theedgy.app/app site should immediately go to the screen in screenshot #3 below:
Here is my log from being able to start the session and receive commands a minute ago. (Time of last edit to this reply)
I don’t currently have my VacuGlide 2 connected to VacuScripter and nothing is paired with Intiface Central, but my test last night worked with my VacuGlide 2 connected to VacuScripter
Log:
[2026-03-26 14:27:59.692]
Transparent Proxy started on ws://127.0.0.1:12345
[2026-03-26 14:28:00.934]
Website WebSocket upgrade accepted
[2026-03-26 14:28:00.935]
Connecting to Intiface Central on ws://127.0.0.1:12346
[2026-03-26 14:28:00.938]
Connected to Intiface Central - bidirectional forwarding started
[2026-03-26 14:28:00.943]
Website → Intiface: [{“RequestServerInfo”:{“ClientName”:“The Edgy”,“Id”:1,“ProtocolVersionMajor”:4,“ProtocolVersionMinor”:0}}]
[2026-03-26 14:28:00.944]
Intiface → Website: [{“ServerInfo”:{“Id”:1,“MaxPingTime”:0,“ProtocolVersionMajor”:4,“ProtocolVersionMinor”:0,“ServerName”:“Intiface Server”}}]
[2026-03-26 14:28:00.945]
Intiface → Website[{“ServerInfo”:{“Id”:1,“MaxPingTime”:0,“ProtocolVersionMajor”:4,“ProtocolVersionMinor”:0,“ServerName”:“Intiface Server”}}]
[2026-03-26 14:28:00.947]
Website → Intiface: [{“RequestDeviceList”:{“Id”:2}}]
[2026-03-26 14:28:00.948]
Intiface → Website: [{“DeviceList”:{“Devices”:{},“Id”:2}}]
[2026-03-26 14:28:00.948]
Intiface → Website[{“DeviceList”:{“Devices”:{“1”:{“DeviceFeatures”:{“0”:{“FeatureDescription”:“”,“FeatureIndex”:0,“Output”:{“HwPositionWithDuration”:{“Duration”:[0,100000],“Value”:[0,100]}}}},“DeviceIndex”:1,“DeviceMessageTimingGap”:100,“DeviceName”:“The Handy”}},“Id”:2}}]
[2026-03-26 14:28:00.950]
Website → Intiface: [{“StopScanning”:{“Id”:3}}]
[2026-03-26 14:28:00.950]
Intiface → Website: [{“Ok”:{“Id”:3}}]
[2026-03-26 14:28:00.951]
Intiface → Website[{“Ok”:{“Id”:3}}]
[2026-03-26 14:28:00.978] Forward error in Website → Intiface: Response status code does not indicate success: 502 (Bad Gateway).
[2026-03-26 14:28:05.352]
Website WebSocket upgrade accepted
[2026-03-26 14:28:05.353]
Connecting to Intiface Central on ws://127.0.0.1:12346
[2026-03-26 14:28:05.355]
Connected to Intiface Central - bidirectional forwarding started
[2026-03-26 14:28:05.355]
Website → Intiface: [{“RequestServerInfo”:{“ClientName”:“The Edgy”,“Id”:4,“ProtocolVersionMajor”:4,“ProtocolVersionMinor”:0}}]
[2026-03-26 14:28:05.358]
Intiface → Website: [{“ServerInfo”:{“Id”:4,“MaxPingTime”:0,“ProtocolVersionMajor”:4,“ProtocolVersionMinor”:0,“ServerName”:“Intiface Server”}}]
[2026-03-26 14:28:05.358]
Intiface → Website[{“ServerInfo”:{“Id”:1,“MaxPingTime”:0,“ProtocolVersionMajor”:4,“ProtocolVersionMinor”:0,“ServerName”:“Intiface Server”}}]
[2026-03-26 14:28:07.446]
Website → Intiface: [{“OutputCmd”:{“Id”:5,“DeviceIndex”:1,“FeatureIndex”:0,“Command”:{“HwPositionWithDuration”:{“Value”:5,“Duration”:221}}}}]
[2026-03-26 14:28:07.447]
Intiface → Website: [{“Error”:{“ErrorCode”:4,“ErrorMessage”:“{"ButtplugDeviceError":{"DeviceNotAvailable":1}}”,“Id”:5}}]
[2026-03-26 14:28:07.936]
Website → Intiface: [{“OutputCmd”:{“Id”:6,“DeviceIndex”:1,“FeatureIndex”:0,“Command”:{“HwPositionWithDuration”:{“Value”:77,“Duration”:354}}}}]
[2026-03-26 14:28:07.937]
Intiface → Website: [{“Error”:{“ErrorCode”:4,“ErrorMessage”:“{"ButtplugDeviceError":{"DeviceNotAvailable":1}}”,“Id”:6}}]
[2026-03-26 14:28:08.566]
Website → Intiface: [{“OutputCmd”:{“Id”:7,“DeviceIndex”:1,“FeatureIndex”:0,“Command”:{“HwPositionWithDuration”:{“Value”:5,“Duration”:354}}}}]
[2026-03-26 14:28:08.567]
Intiface → Website: [{“Error”:{“ErrorCode”:4,“ErrorMessage”:“{"ButtplugDeviceError":{"DeviceNotAvailable":1}}”,“Id”:7}}]
You will see errors from Intiface because Intiface knows it is not paired to a device, this is normal. What will be an issue is if VacuGlide 2 does not move when action is happening on theedgy.app/app site.
Eventually I’m going to eliminate the need for Intiface to be started and running so you can use VacuScripter as a standalone Intiface for sites like theedgy.app for strictly controlling the VacuGlide 2.