from flask import Flask, request, jsonify import random import string app = Flask(__name__) # В памяти храним зарегистрированные передачи файлов transfers = {} BASE_URL = "https://starchik1-share.hf.space/d/" # Постоянный серверный URL def generate_short_id(length=8): """ Генерирует короткий уникальный идентификатор для передачи файла. """ while True: token = ''.join(random.choices(string.ascii_letters + string.digits, k=length)) if token not in transfers: return token @app.route('/create_transfer', methods=['POST']) def create_transfer(): data = request.json filename = data.get('filename') ip = data.get('ip') port = data.get('port') filesize = data.get('filesize', 0) if not filename or not ip or not port: return jsonify({'error': 'Отсутствуют необходимые параметры'}), 400 # Используем короткий идентификатор для передачи файла transfer_id = generate_short_id(8) transfers[transfer_id] = { 'filename': filename, 'ip': ip, 'port': port, 'filesize': filesize, 'downloaded': False } return jsonify({'token': transfer_id}) @app.route('/d/', methods=['GET']) def get_transfer(transfer_id): transfer = transfers.get(transfer_id) if not transfer: return jsonify({'error': 'Неверный идентификатор передачи'}), 404 return jsonify(transfer) if __name__ == '__main__': app.run(host='0.0.0.0', port=7860)