Skip to content

Instantly share code, notes, and snippets.

View qdot's full-sized avatar
🦊

qDot qdot

🦊
View GitHub Profile
@qdot
qdot / gist:fdb51762e71b45887e60bc80babda1c3
Created November 4, 2016 00:26
vibease/hush bluetooth info
* TODO Bluetooth Sex Toy Reverse Engineering
*** hcitool lescan
566962726174653a32303b
566962726174653a32303b
566962726174653a303b
Lovense
D1:74:D2:E0:64:5E LVS-Z001
*** Vibease
Vibease
5C:B6:CC:03:61:46 VIBEASE46
navigator.bluetooth.requestDevice({filters: [{ services: ['6e400001-b5a3-f393-e0a9-e50e24dcca9e']}]}).then((device) => { d = device });
d.gatt.connect().then(server => s = server).catch(er => { console.log(er) });
s.getPrimaryService('6e400001-b5a3-f393-e0a9-e50e24dcca9e').then(service => ser = service);
ser.getCharacteristic('6e400002-b5a3-f393-e0a9-e50e24dcca9e').then(char => c = char);
c.writeValue(new TextEncoder('ASCII').encode("Vibrate:20;")).then(l => console.log("sent!")).catch(e => console.log(e));
c.writeValue(new TextEncoder('ASCII').encode("Vibrate:0;")).then(l => console.log("sent!")).catch(e => console.log(e));
@qdot
qdot / gist:eb1c729b04f82f069899115f92ed6555
Last active April 8, 2017 21:03
build errors for noble-uwp
stderr:
gyp info it worked if it ends with ok
gyp info using node-gyp@3.6.0
gyp info using node@6.10.2 | win32 | x64
gyp info spawn C:\Users\qdot\.windows-build-tools\python27\python.exe
gyp info spawn args [ 'C:\\Users\\qdot\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'msvs',
@qdot
qdot / gist:a8c2d294c8c6cd546082b239d18005dc
Created April 8, 2017 22:23
msbuild Build log for noble-uwp
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.
c:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe /p:Configuration=Release /p:Platform=x64 /v:diag binding.vcxproj
Build started 4/8/2017 3:22:16 PM.
Environment at start of build:
aliases = C:\Users\qdot\Programs\cmder\config\user-aliases.cmd
ALLUSERSPROFILE = C:\ProgramData
ANSICON = 180x1000 (180x30)
ANSICON_DEF = 7
@qdot
qdot / buttplugschema.json
Last active May 10, 2017 03:20
Buttplug Message JSON Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Buttplug Messages",
"description": "The JSON Protocol format for the Buttplug Protocol",
"components" : {
"Id": {
"description": "User-set id for the message. 0 denotes system message and is reserved.",
"type": "integer",
"minimum": 0,
"maximum": 4294967295
@qdot
qdot / portal2.funscript
Created August 7, 2017 23:31
portal2 funscript
{"inverted": false, "version": "1.0", "actions": [{"pos": 0, "at": 0}, {"pos": 50, "at": 160}, {"pos": 0, "at": 440}, {"pos": 20, "at": 640}, {"pos": 0, "at": 1080}, {"pos": 50, "at": 1440}, {"pos": 30, "at": 1600}, {"pos": 50, "at": 1880}, {"pos": 0, "at": 2080}, {"pos": 0, "at": 2560}, {"pos": 20, "at": 2680}, {"pos": 0, "at": 2880}, {"pos": 0, "at": 3240}, {"pos": 70, "at": 3440}, {"pos": 0, "at": 3680}, {"pos": 20, "at": 3840}, {"pos": 0, "at": 4040}, {"pos": 0, "at": 4280}, {"pos": 70, "at": 4560}, {"pos": 0, "at": 4840}, {"pos": 20, "at": 5040}, {"pos": 0, "at": 5360}, {"pos": 0, "at": 6040}, {"pos": 80, "at": 6280}, {"pos": 0, "at": 6480}, {"pos": 20, "at": 6680}, {"pos": 0, "at": 6880}, {"pos": 0, "at": 7040}, {"pos": 70, "at": 7400}, {"pos": 0, "at": 7600}, {"pos": 20, "at": 7800}, {"pos": 0, "at": 8040}, {"pos": 0, "at": 8440}, {"pos": 100, "at": 8640}, {"pos": 0, "at": 8880}, {"pos": 20, "at": 9040}, {"pos": 0, "at": 9360}, {"pos": 40, "at": 9880}, {"pos": 0, "at": 10080}, {"pos": 50, "at": 10280},
{
"version": "1.0",
"range": 100,
"inverted": false,
"actions": [{
"pos": 50,
"at": 33
}, {
"pos": 20,
"at": 533
@qdot
qdot / luxsub.py
Created January 26, 2018 20:00
Luxuria Suburbia Interaction Code
from __future__ import division;
from memorpy import *;
# ^ this is from https://github.com/n1nj4sec/memorpy/ and
# it's why I'm stuck in python 2.7... replace asap
import websocket;
import threading;
import select;
import time;
<<widget "videolink">>
<<linkreplace $args[0]>>
<<nobr>>
<<set _vid to $args[1]>>
<center>
<video autoplay="autoplay" loop="loop" controls>
<source src=<<= _vid>> type="video/mp4" />
</video>
</center>
<</nobr>>
@qdot
qdot / nonpolynomial-labs-llc-cla.md
Last active May 9, 2018 01:53
Nonpolynomial Labs LLC CLA

Fiduciary License Agreement 2.0 based on the Individual Contributor exclusive License Agreement (including the Traditional Patent License OPTION)

Thank you for your interest in contributing to the open source technology projects of Nonpolynomial Labs LLC ("We" or "Us").

The purpose of this contributor agreement ("Agreement") is to clarify and document the rights granted by contributors to Us. To make this document effective, please follow the instructions at https://cla-assistant.io/metafetish/buttplug-csharp.

0. Preamble

Software is deeply embedded in all aspects of our lives and it is important that it empower, rather than restrict us. Free Software gives everybody the rights to use, understand, adapt and share software. These rights help support other fundamental freedoms like freedom of speech, press and privacy.