from flask import Flask, request, jsonify import subprocess from win10toast import ToastNotifier app = Flask(__name__) toaster = ToastNotifier() @app.route('/osiris_execute', methods=['POST']) def execute_script(): data = request.get_json() command = data.get('command') if command: # Hier neue Commands zur Prüfung einpflegen if command.strip() == 'testcommand': try: toaster.show_toast("TestCommand", "Verbindung wurde getestet", duration=10) return jsonify({'message': 'Test Command abgesetzt und Notification auf bei Host erstellt.'}) except Exception as exc: return jsonify({'error': str(exc)}), 500 else: try: result = subprocess.run(['python','-c', command], capture_output=True, text=True, shell=True) return jsonify({'output': result.stdout, 'error': result.stderr, 'returncode': result.returncode}) except Exception as exc: return jsonify({'error': str(exc)}), 500 return jsonify({'error': 'Keinen gültigen Befehl gesendet.'}), 400 if __name__ == '__main__': toaster.show_toast("Starte Osiris", "Osiris Listener wurde gestartet. Warte auf Befehle...", duration=30) app.run(host='0.0.0.0', port=9713)