Skip to content

Instantly share code, notes, and snippets.

Avatar
🇺🇸

Jay Satiro jay

🇺🇸
  • New Rochelle, New York, United States
View GitHub Profile
@jay
jay / change_openssl_lib_names.pl
Last active Mar 1, 2021
Update curl project file templates for OpenSSL 1.1.x
View change_openssl_lib_names.pl
#!/usr/bin/env perl
=begin comment
README
./change_openssl_lib_names.pl
This script was written to update Windows project file templates in the curl
repo. It changes the OpenSSL libnames from 1.0.x to 1.1.x:
@jay
jay / multi_synchronous.cpp
Last active Feb 10, 2021
Use libcurl to test synchronous transfers in a multi.
View multi_synchronous.cpp
/* Use libcurl to test synchronous transfers in a multi.
Usage: multi_synchronous
This is a demonstration of a repeated synchronous transfer done in a multi
by creating a separate easy handle for each transfer. Normally you would not
do this, you'd use curl_easy_perform in a loop instead.
I forget what curl issue I wrote this in response to.
@jay
jay / utf8_encoded_example.bat
Last active Jan 17, 2021
Example of a UTF-8 encoded batch file.
View utf8_encoded_example.bat
:: Example of a UTF-8 encoded batch file.
::
:: Usage: utf8_encoded_example.bat
::
:: Ref: https://github.com/curl/curl/issues/6386#issuecomment-761745450
::
:: Public Domain: No License. Written by Jay Satiro <raysatiro@yahoo.com>
::
:: https://gist.github.com/jay/731030525b58ae3845b7ba59c0757b3c
::
@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 Mar 26, 2021
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
This program compares the different methods that can be used to make transfers
to the same host. The code was written only for the purpose of comparison of
the different methods.
g++ -o multi_vs_easy multi_vs_easy.cpp `curl-config --cflags --libs`
@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