Skip to content

Instantly share code, notes, and snippets.

Avatar

Jay Satiro jay

  • New Rochelle, New York, United States
View GitHub Profile
@jay
jay / hooktest2.cpp
Last active Nov 4, 2020
Monitor *raw* mouse buttons and keypresses in Windows
View hooktest2.cpp
/* hooktest2
Monitor *raw* mouse buttons, keypresses, everything but MOUSEMOVE via low level
mouse and keyboard hooks. I wrote this to help identify some bugs in Chrome and
software running on Dell laptops.
The program will exit when the caps lock key is pressed. You can change that in
the LowLevelKeyboardProc function.
Windows will auto detach the hooks if there's a delay processing them. This is
@jay
jay / add_crypt32.pl
Last active Jun 4, 2020
Add crypt32.lib to AdditionalDependencies in curl project templates
View add_crypt32.pl
#!/usr/bin/env perl
=begin comment
README
./add-crypt32.pl
This script was written to fix Windows project file templates in the curl repo.
It adds crypt32.lib to any additional dependency list that contains
ssleay32.lib (OpenSSL), if it is not there already. crypt32 is now usually
@jay
jay / CurrentSpeed.c
Last active Feb 20, 2020
Use libcurl to show the current speed while transferring a file.
View CurrentSpeed.c
/* Use libcurl to show the current speed while transferring a file.
Usage: CurrentSpeed
This example downloads a 200MB file from a speedtest server and shows the
current speed during the download. The current speed is updated approximately
once every second based on the last 5 seconds. The file is not saved to disk.
The bulk of the code in this example came from libcurl's lib/progress.c.
https://github.com/curl/curl/blob/curl-7_68_0/lib/progress.c
@jay
jay / multi_vs_easy.cpp
Last active Jan 27, 2020
Use libcurl to test multi vs easy performance.
View multi_vs_easy.cpp
/* Use libcurl to test multi vs easy performance.
Usage: multi_vs_easy
Copyright (C) 2020 Jay Satiro <raysatiro@yahoo.com>
http://curl.haxx.se/docs/copyright.html
https://gist.github.com/jay/97c8a7c20031997438dd7456e0a2b83a
*/
@jay
jay / test-schannel-ciphers.pl
Last active Mar 20, 2019
Test which Schannel (Windows SSL) ciphers work for curl --ciphers
View test-schannel-ciphers.pl
#!/usr/bin/env perl
=begin comment
README
./test-schannel-ciphers.pl <CIPHERS.md> <curl> <host | ssl-url>
Test which Schannel (Windows SSL) ciphers work for curl --ciphers
Written in response to https://github.com/curl/curl/issues/3389
@jay
jay / FixPEChecksum.cpp
Last active Nov 3, 2020
FixPEChecksum fixes the PE checksum in 32-bit and 64-bit PE files.
View FixPEChecksum.cpp
/* FixPEChecksum fixes the PE checksum in 32-bit and 64-bit PE files.
Usage: FixPEChecksum [--no-csv-header] [--dryrun] [--] <file> [[file]...]
cl /W4 FixPEChecksum.cpp
Copyright (C) 2018 Jay Satiro <raysatiro@yahoo.com>
All rights reserved. License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
@jay
jay / ShowIPPort.c
Last active Dec 14, 2017
Use libcurl to show the local port and IP address in the progress function.
View ShowIPPort.c
/* Use libcurl to show the local port and IP address in the progress function.
Usage: ShowIPPort <URL> [filename]
If filename is specified then the data received is saved to filename.tmp which
is then renamed to filename if the download was successful (2xx) or deleted if
not.
If filename is not specified then the data received is sent to stdout. If
stdout is attached to a tty and the data received appears to be binary data
@jay
jay / setbrightness.bat
Last active Nov 10, 2017
Set the AC & DC brightness in the current power scheme.
View setbrightness.bat
:: Set the AC & DC brightness in the current power scheme.
::
:: Usage: "setbrightness.bat" <brightness-level>
::
:: Based on https://stackoverflow.com/a/26766798
:: Also see https://github.com/HubKing/LinkBrightness
::
:: Public Domain: No License. Written by Jay Satiro <raysatiro@yahoo.com>
::
:: https://gist.github.com/jay/2c4ca23314f1ed31c24da390d86c2b23
@jay
jay / ParseStream.c
Last active May 7, 2017
Parse a stream received by libcurl into sections.
View ParseStream.c
/* Parse a stream received by libcurl into sections.
Usage: ParseStream
This program is the same as libcurl example getinmemory.c except that it also
parses the received data into sections.
A data section refers to attributes and data and is received in this format:
[[<4 bytes: attribute size><attributes><8 bytes: data size><data>]...]
@jay
jay / getargs.c
Last active Apr 27, 2017
Display how arguments are parsed in Windows
View getargs.c
/*
Display how arguments are parsed in Windows.
VS 2010 x86:
cl /nologo /W4 getargs.c /MD /Fegetargs-cl && getargs-cl
VS 2010 x86, for win2k compatibility build against the WinDDK:
cl /nologo /W4 getargs.c /MD /Fegetargs-cl C:\WinDDK\7600.16385.1\lib\win7\i386\msvcrt_win2000.obj /IC:\WinDDK\7600.16385.1\inc\crt /link /SUBSYSTEM:CONSOLE,5.00 /OSVERSION:5.00 /LIBPATH:C:\WinDDK\7600.16385.1\lib\Crt\i386 && getargs-cl
mingw x86:
You can’t perform that action at this time.