Как написать скрипт на флешке, который будет сам запускаться, при ее подключении на любой платформе (win, mac, lin)?
Никак.
Скрипт это программа, а программа сама не может запуститься, ее должен кто-то запустить.
Сама ОС или пользователь

Это надо задания операционной системе давать на запуск определенной программы при определенных событиях, иначе никак.
Тут на самом деле интересная тема!
Хоть и говорят Вам, что нужно по-другому это делать (отчасти согласен), но способ со скриптом вполне имеет право на жизнь. 
И вот тут придётся разделить на 2 части: 1. Социальная и 2. Техническая.
1. Социальная инженерия. Нужно сделать так, чтобы целевая аудитория (это придётся прикинуть кто в основном будет использовать флешку) захотела запустить этот файл. Назвать его как-нибудь.... чтобы было интересно потенциальной аудитории, например "iq тест" (да, забавно, можно сделать вывод на весь экран картинки с "Е***ть ты лох!"). Короче, чтобы просто запустили его.
2. Технический. Нужно обеспечить чтобы этот файл запустился и на винде, и в линуксах. На флешке чаще всего exFAT, и флаг "x" (выполняемый) там как бы и нельзя поставить на файл, но если просто в консоли или другом скрипте указать выполнить файл - он выполнится (зависит ещё и от способа монтирования в конкретной системе, можно запретить запуск исполняемых оттуда). Собственно, далеко нетривиально сделать скрипт, чтобы один и тот же файл выполнялся и в винде и в линуксе, но МОЖНО (я так делал, не спрашивайте зачем). Гораздо проще сделать отдельно для винды и отдельно для линукса.
Прописать в автозагрузке - для винды autorun.inf в корне, ну и там прописать что и как запускать (да, автозапуск может быть отключен на компе, поэтому нужна проработка варианта 1).
В линуксах - есть (или была?) дыра в КДЕ и других оболочках, точнее даже это не совсем к оболочке относилось, что-то ещё там, но суть в том, что некоторые файловые менеджеры (Dolphin, например, который файловый менеджер по умолчанию в КДЕ) используют файлы .directory (скрытый по умолчанию), в которых можно прописывать (и они сами прописывают) режим просмотра, и другие данные. Так туда можно указать путь к значку, и вместо картинки показать на скрипт, при открытии папки (флешки, если в корень положить) будет этот скрипт выполнен. Но, кажется, это уже пофиксили обновлениями, но есть ещё разные способы и в линуксе, и в винде тоже, чтобы сработал нужный файл.

А уж как вызвать curl с нужными параметрами и как на сервере считать попадания - это уже сами думайте, не сложно.

Короче, тут большое поле для полёта :)
P.S. Антивирусы могут на это ругаться...