Reset all threat intelligence data
()
| 11062 | else: |
| 11063 | return jsonify({'track': []}) |
| 11064 | return jsonify({'track': session.get_gps_track()}) |
| 11065 | except Exception as e: |
| 11066 | return jsonify({'error': str(e)}), 500 |
| 11067 | |
| 11068 | @app.route('/api/wardriving/interfaces') |
| 11069 | def wardriving_interfaces(): |
| 11070 | """List available WiFi interfaces for wardriving.""" |
| 11071 | try: |
| 11072 | engine = _get_wardriving_engine() |
| 11073 | interfaces = engine._detect_wifi_interfaces() |
| 11074 | result = [] |
| 11075 | for iface in interfaces: |
| 11076 | info = {'name': iface, 'type': 'wifi'} |
| 11077 | # Try to get driver/chipset info |
| 11078 | try: |
| 11079 | driver_path = f'/sys/class/net/{iface}/device/driver' |
| 11080 | if os.path.islink(driver_path): |
| 11081 | info['driver'] = os.path.basename(os.readlink(driver_path)) |
| 11082 | phy_path = f'/sys/class/net/{iface}/phy80211/name' |
| 11083 | if os.path.exists(phy_path): |
| 11084 | with open(phy_path) as f: |
| 11085 | info['phy'] = f.read().strip() |
| 11086 | except Exception: |
| 11087 | pass |
| 11088 | result.append(info) |
| 11089 | return jsonify({'interfaces': result}) |
| 11090 | except Exception as e: |
| 11091 | return jsonify({'error': str(e)}), 500 |
| 11092 | |
| 11093 | |
| 11094 | @app.route('/api/wardriving/bluetooth') |
| 11095 | def wardriving_bluetooth(): |
| 11096 | """Get discovered Bluetooth devices.""" |
nothing calls this directly
no test coverage detected