Skip to content

Instantly share code, notes, and snippets.

@maalos
Created September 8, 2023 19:32
Show Gist options
  • Save maalos/b23431f661c0b1d4f98e74a598421687 to your computer and use it in GitHub Desktop.
Save maalos/b23431f661c0b1d4f98e74a598421687 to your computer and use it in GitHub Desktop.
Python script for remotely using the ring feature on any parked and online Bolt vehicle.
import requests
import argparse
import json
def main():
parser = argparse.ArgumentParser(description="Bolt Vehicle Ringer")
# get the needed data using HTTP Toolkit or any other HTTPS proxy, it's being sent as a request header
parser.add_argument("token", help="Account token")
parser.add_argument("id", help="Vehicle ID")
parser.add_argument("lat", help="Latitude")
parser.add_argument("lng", help="Longitude")
args = parser.parse_args()
print("Ringing vehicle ID", args.id, "located at", args.lat, args.lng)
url = "https://user.live.boltsvc.net/micromobility/vehicle/ring?version&deviceId&device_name&device_os_version&channel&deviceType&country&language&gps_lat=" + args.lat + "&gps_lng=" + args.lng + "&gps_accuracy_m=5.843921"
headers = {
"accept-encoding": "gzip",
"authorization": "Basic " + args.token,
"connection": "Keep-Alive",
"content-length": "17",
"content-type": "application/x-www-form-urlencoded",
"host": "user.live.boltsvc.net",
"user-agent": "okhttp/4.11.0",
}
data = "vehicle_id=" + args.id
responseContentJSON = json.loads(requests.post(url, headers=headers, data=data).content)
print("Response:", responseContentJSON["message"])
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment