Closed The--Captain closed 1 year ago
...and this is why you check your syntax TEN times instead of telling yourself that you checked it nine times and there's no way you're going to look stupid on the moonraker github.
Syntax error in the [authorization] section prevented mitigation of this error from happening.
This is a non-issue.
What happened
Moonraker appears under certain circumstances to reject websocket connections from Mainsail when FQDN is used for a printer, but accepts them when IPs only are used, unless the default behavior of the Tornado webserver is manually adjusted. Although the moonraker documentation suggests adding the local subdomain to cors_domains under the [authorization] section of moonraker.conf should alleviate cross domain errors, this does not appear to be the case (i.e. the same error is experienced even with the subdomain in cors_domain)
This appears to be due to the default configuration of the Tornado webserver, which is classifying these FQDN connections as cross-domain and rejecting them. May I humbly recommend adjusting the behavior of the Tornado webserver as mentioned here (https://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.check_origin) to disable cross-domain websocket checks, as the local Tornado webserver content is typically inherently trusted anyway, or at least allow a more user-friendly option than currently exists (i.e. editing websocket.py in the Tornado webserver files)
The FQDN names resolve to local RFC1918 addresses within the same network, so I'm not sure why this would not work by default, but editing websocket.py as indicated resolves it
Client
Mainsail
Browser
Chrome
How to reproduce
Install Moonraker with multiple instances.
Install Mainsail.
Add printers to Mainsail using local FQDN and watch them fail to connect (A packet dump of the failed connection reveals "Cross origin websockets not allowed" error message).
Add printers to Mainsail using the local IPs that the FQDNs resolve to, and watch them succeed.
Additional information
-------------------- Log Start | Thu Jul 6 01:24:32 2023 -------------------- data_path: /home/pi/CR10_data is_default_data_path: False config_file: /home/pi/CR10_data/config/moonraker.conf startup_warnings: [] verbose: False debug: False asyncio_debug: False is_backup_config: False is_python_package: False instance_uuid: 4157ec1470f64463be64e9023fbf2dda software_version: v0.8.0-86-ga7e154f git_branch: master git_remote: origin git_repo_url: https://github.com/Arksine/moonraker.git modified_files: [] unofficial_components: [] log_file: /home/pi/CR10_data/logs/moonraker.log python_version: 3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0]
#################### Moonraker Configuration ####################
[server] host = 0.0.0.0 port = 7125 klippy_uds_address = /home/pi/CR10_data/comms/klippy.sock
[authorization] trusted_clients = 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 FE80::/10 ::1/128 cors_domains = .lan .local ://localhost ://localhost: ://my.mainsail.xyz *://app.fluidd.xyz
[octoprint_compat]
[history]
[update_manager] channel = dev refresh_interval = 168
[update_manager mainsail-config] type = git_repo primary_branch = master path = ~/mainsail-config origin = https://github.com/mainsail-crew/mainsail-config.git managed_services = klipper
[update_manager mainsail] type = web channel = stable repo = mainsail-crew/mainsail path = ~/mainsail
################################################################# All Configuration Files: /home/pi/CR10_data/config/moonraker.conf ################################################################# Unsafe Shutdown Count: 5
System Info:
python version: sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0) version_string: 3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0]
cpu_info cpu_count: 1 bits: 32bit processor: armv6l cpu_desc: ARMv6-compatible processor rev 7 (v6l) serial_number: 86e7ebf5 hardware_desc: BCM2835 model: Raspberry Pi Zero W Rev 1.1 total_memory: 440340 memory_units: kB
sd_info manufacturer_id: 03 manufacturer: Sandisk oem_id: 5344 product_name: SR128 product_revision: 8.6 serial_number: 3c2d8724 manufacturer_date: 2/2023 capacity: 119.1 GiB total_bytes: 127865454592
distribution name: Raspbian GNU/Linux 10 (buster) id: raspbian version: 10 version_parts: {'major': '10', 'minor': '', 'build_number': ''} like: debian codename: buster release_info: {}
virtualization virt_type: none virt_identifier: none
network
canbus
Allowed Services klipper_mcu webcamd MoonCord KlipperScreen moonraker-telegram-bot moonraker-obico sonar crowsnest octoeverywhere ratos-configurator
Systemd unit moonraker-CR10.service: unit_name: moonraker-CR10.service is_default: False manager: systemd Properties: Requires=['-.mount', 'network-online.target', 'system.slice', 'sysinit.target'] After=['system.slice', 'network-online.target', 'systemd-journald.socket', '-.mount', 'basic.target', 'sysinit.target'] SupplementaryGroups=['moonraker-admin'] EnvironmentFiles=/home/pi/CR10_data/systemd/moonraker.env ExecStart=/home/pi/moonraker-env/bin/python $MOONRAKER_ARGS WorkingDirectory=/home/pi/moonraker FragmentPath=/etc/systemd/system/moonraker-CR10.service Description=API Server for Klipper SV1 CR10 **User=pi
Systemd unit klipper-CR10.service: unit_name: klipper-CR10.service is_default: False manager: systemd Properties: Requires=['-.mount', 'sysinit.target', 'system.slice'] After=['network-online.target', '-.mount', 'system.slice', 'sysinit.target', 'systemd-journald.socket', 'basic.target'] SupplementaryGroups=[] EnvironmentFiles=/home/pi/CR10_data/systemd/klipper.env ExecStart=/home/pi/klippy-env/bin/python $KLIPPER_ARGS WorkingDirectory=/home/pi/klipper FragmentPath=/etc/systemd/system/klipper-CR10.service Description=Klipper 3D Printer Firmware SV1 **User=pi Klipper Version: v0.11.0-239-ga96608ad 2023-07-06 02:24:32,585 [websockets.py:on_close()] - Websocket Closed: ID: 2823070416 Close Code: 1001, Close Reason: None, Pong Time Elapsed: 4.89 2023-07-06 02:24:33,393 [authorization.py:_check_trusted_connection()] - Trusted Connection Detected, IP: 192.168.20.169 2023-07-06 02:24:33,421 [app.py:log_request()] - 101 GET /websocket (192.168.20.169) [_TRUSTEDUSER] 52.35ms 2023-07-06 02:24:33,436 [websockets.py:open()] - Websocket Opened: ID: 2779053232, Proxied: False, User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36, Host Name: cr10.local.sacredregion.com 2023-07-06 02:24:33,571 [file_manager.py:get_file_list()] - Updating File List...
2023-07-06 02:24:40,355 [app.py:log_request()] - 101 GET /websocket (192.168.20.169) [_TRUSTEDUSER] 21.93ms
2023-07-06 02:24:40,375 [websockets.py:open()] - Websocket Opened: ID: 2779051088, Proxied: False, User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36, Host Name: cr10.local.sacredregion.com
2023-07-06 02:24:40,400 [websockets.py:_handle_identify()] - Websocket 2779051088 Client Identified - Name: mainsail, Version: 2.6.0, Type: web
2023-07-06 03:25:52,574 [authorization.py:_prune_conn_handler()] - Trusted Connection Expired, IP: 192.168.20.169
2023-07-06 06:13:40,378 [authorization.py:_check_trusted_connection()] - Trusted Connection Detected, IP: 192.168.20.31
2023-07-06 06:13:40,394 [app.py:log_request()] - 403 GET /websocket (192.168.20.31) [_TRUSTEDUSER] 27.03ms
2023-07-06 06:13:41,434 [app.py:log_request()] - 403 GET /websocket (192.168.20.31) [_TRUSTEDUSER] 10.86ms
2023-07-06 06:13:42,483 [app.py:log_request()] - 403 GET /websocket (192.168.20.31) [_TRUSTEDUSER] 10.86ms
2023-07-06 07:15:52,686 [authorization.py:_prune_conn_handler()] - Trusted Connection Expired, IP: 192.168.20.31
-------------------- Log Start | Thu Jul 6 11:17:49 2023 --------------------
data_path: /home/pi/CR10_data
is_default_data_path: False
config_file: /home/pi/CR10_data/config/moonraker.conf
startup_warnings: []
verbose: False
debug: False
asyncio_debug: False
is_backup_config: False
is_python_package: False
instance_uuid: 4157ec1470f64463be64e9023fbf2dda
software_version: v0.8.0-86-ga7e154f
git_branch: master
git_remote: origin
git_repo_url: https://github.com/Arksine/moonraker.git
modified_files: []
unofficial_components: []
log_file: /home/pi/CR10_data/logs/moonraker.log
python_version: 3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0]
2023-07-06 12:17:49,434 [confighelper.py:read_file()] - Configuration File '/home/pi/CR10_data/config/moonraker.conf' parsed, total size: 725 B
2023-07-06 12:17:49,450 [server.py:add_log_rollover_item()] -
#################### Moonraker Configuration ####################
[server] host = 0.0.0.0 port = 7125 klippy_uds_address = /home/pi/CR10_data/comms/klippy.sock
[authorization] trusted_clients = 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 FE80::/10 ::1/128 cors_domains = .lan .local ://localhost ://localhost: ://my.mainsail.xyz *://app.fluidd.xyz
[octoprint_compat]
[history]
[update_manager] channel = dev refresh_interval = 168
[update_manager mainsail-config] type = git_repo primary_branch = master path = ~/mainsail-config origin = https://github.com/mainsail-crew/mainsail-config.git managed_services = klipper
[update_manager mainsail] type = web channel = stable repo = mainsail-crew/mainsail path = ~/mainsail
################################################################# All Configuration Files: /home/pi/CR10_data/config/moonraker.conf ################################################################# 2023-07-06 12:17:50,229 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/logs/rollover 2023-07-06 12:17:50,246 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.logs.rollover 2023-07-06 12:17:50,247 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/info 2023-07-06 12:17:50,311 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.info 2023-07-06 12:17:50,326 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/config 2023-07-06 12:17:50,330 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.config 2023-07-06 12:17:50,331 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/restart 2023-07-06 12:17:50,425 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.restart 2023-07-06 12:17:52,557 [server.py:load_component()] - Component (dbus_manager) loaded 2023-07-06 12:17:52,792 [server.py:add_log_rollover_item()] - Unsafe Shutdown Count: 6 2023-07-06 12:17:52,848 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/database/list 2023-07-06 12:17:52,852 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.database.list 2023-07-06 12:17:52,899 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET POST DELETE) /server/database/item 2023-07-06 12:17:52,902 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.database.get_item, server.database.post_item, server.database.delete_item 2023-07-06 12:17:52,927 [server.py:load_component()] - Component (database) loaded 2023-07-06 12:34:46,335 [file_manager.py:init()] - Using File System Observer: inotify 2023-07-06 12:34:46,609 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/files/list 2023-07-06 12:34:46,613 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.list 2023-07-06 12:34:46,614 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/files/metadata 2023-07-06 12:34:46,678 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.metadata 2023-07-06 12:34:46,694 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/files/metascan 2023-07-06 12:34:46,724 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.metascan 2023-07-06 12:34:46,745 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/files/thumbnails 2023-07-06 12:34:46,749 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.thumbnails 2023-07-06 12:34:46,803 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/files/roots 2023-07-06 12:34:46,830 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.roots 2023-07-06 12:34:46,831 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET POST DELETE) /server/files/directory 2023-07-06 12:34:46,897 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.get_directory, server.files.post_directory, server.files.delete_directory 2023-07-06 12:34:46,898 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/files/move 2023-07-06 12:34:46,901 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.move 2023-07-06 12:34:46,902 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/files/copy 2023-07-06 12:34:46,952 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.copy 2023-07-06 12:34:46,953 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/files/zip 2023-07-06 12:34:47,012 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.zip 2023-07-06 12:34:47,013 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.files.delete_file 2023-07-06 12:34:47,196 [server.py:load_component()] - Component (file_manager) loaded 2023-07-06 12:34:47,238 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /printer/print/pause 2023-07-06 12:34:47,263 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.print.pause 2023-07-06 12:34:47,264 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /printer/print/resume 2023-07-06 12:34:47,326 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.print.resume 2023-07-06 12:34:47,327 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /printer/print/cancel 2023-07-06 12:34:47,381 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.print.cancel 2023-07-06 12:34:47,382 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /printer/print/start 2023-07-06 12:34:47,430 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.print.start 2023-07-06 12:34:47,431 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /printer/restart 2023-07-06 12:34:47,435 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.restart 2023-07-06 12:34:47,498 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /printer/firmware_restart 2023-07-06 12:34:47,501 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.firmware_restart 2023-07-06 12:34:47,502 [server.py:load_component()] - Component (klippy_apis) loaded 2023-07-06 12:34:53,206 [server.py:load_component()] - Component (secrets) loaded 2023-07-06 12:34:53,483 [server.py:load_component()] - Component (template) loaded 2023-07-06 12:34:54,114 [server.py:add_log_rollover_item()] - System Info:
python version: sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0) version_string: 3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0]
cpu_info cpu_count: 1 bits: 32bit processor: armv6l cpu_desc: ARMv6-compatible processor rev 7 (v6l) serial_number: 86e7ebf5 hardware_desc: BCM2835 model: Raspberry Pi Zero W Rev 1.1 total_memory: 440340 memory_units: kB
sd_info manufacturer_id: 03 manufacturer: Sandisk oem_id: 5344 product_name: SR128 product_revision: 8.6 serial_number: 3c2d8724 manufacturer_date: 2/2023 capacity: 119.1 GiB total_bytes: 127865454592
distribution name: Raspbian GNU/Linux 10 (buster) id: raspbian version: 10 version_parts: {'major': '10', 'minor': '', 'build_number': ''} like: debian codename: buster release_info: {}
virtualization virt_type: none virt_identifier: none
network
canbus
Allowed Services klipper_mcu webcamd MoonCord KlipperScreen moonraker-telegram-bot moonraker-obico sonar crowsnest octoeverywhere ratos-configurator 2023-07-06 12:34:54,204 [server.py:load_component()] - Component (shell_command) loaded 2023-07-06 12:34:54,232 [machine.py:init()] - Using System Provider: systemd_dbus 2023-07-06 12:34:54,258 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/reboot 2023-07-06 12:34:54,288 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.reboot 2023-07-06 12:34:54,289 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/shutdown 2023-07-06 12:34:54,329 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.shutdown 2023-07-06 12:34:54,354 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/services/restart 2023-07-06 12:34:54,399 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.services.restart 2023-07-06 12:34:54,410 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/services/stop 2023-07-06 12:34:54,440 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.services.stop 2023-07-06 12:34:54,474 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/services/start 2023-07-06 12:34:54,499 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.services.start 2023-07-06 12:34:54,526 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /machine/system_info 2023-07-06 12:34:54,529 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.system_info 2023-07-06 12:34:54,576 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /machine/sudo/info 2023-07-06 12:34:54,579 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.sudo.info 2023-07-06 12:34:54,580 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/sudo/password 2023-07-06 12:34:54,584 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.sudo.password 2023-07-06 12:34:54,704 [server.py:load_component()] - Component (machine) loaded 2023-07-06 12:34:54,767 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/temperature_store 2023-07-06 12:34:54,779 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.temperature_store 2023-07-06 12:34:54,780 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/gcode_store 2023-07-06 12:34:54,838 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.gcode_store 2023-07-06 12:34:54,860 [server.py:load_component()] - Component (data_store) loaded 2023-07-06 12:34:54,935 [proc_stats.py:init()] - Detected 'vcgencmd', throttle checking enabled 2023-07-06 12:34:54,939 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /machine/proc_stats 2023-07-06 12:34:54,989 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.proc_stats 2023-07-06 12:34:55,008 [server.py:load_component()] - Component (proc_stats) loaded 2023-07-06 12:34:55,044 [server.py:load_component()] - Component (job_state) loaded 2023-07-06 12:34:55,134 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST DELETE) /server/job_queue/job 2023-07-06 12:34:55,163 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.job_queue.post_job, server.job_queue.delete_job 2023-07-06 12:34:55,164 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/job_queue/pause 2023-07-06 12:34:55,211 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.job_queue.pause 2023-07-06 12:34:55,237 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/job_queue/start 2023-07-06 12:34:55,241 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.job_queue.start 2023-07-06 12:34:55,298 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/job_queue/status 2023-07-06 12:34:55,302 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.job_queue.status 2023-07-06 12:34:55,303 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/job_queue/jump 2023-07-06 12:34:55,349 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.job_queue.jump 2023-07-06 12:34:55,350 [server.py:load_component()] - Component (job_queue) loaded 2023-07-06 12:34:55,690 [server.py:load_component()] - Component (http_client) loaded 2023-07-06 12:34:55,771 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/announcements/list 2023-07-06 12:34:55,810 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.announcements.list 2023-07-06 12:34:55,811 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/announcements/dismiss 2023-07-06 12:34:55,859 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.announcements.dismiss 2023-07-06 12:34:55,860 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/announcements/update 2023-07-06 12:34:55,864 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.announcements.update 2023-07-06 12:34:55,933 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST DELETE) /server/announcements/feed 2023-07-06 12:34:55,972 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.announcements.post_feed, server.announcements.delete_feed 2023-07-06 12:34:55,974 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/announcements/feeds 2023-07-06 12:34:56,038 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.announcements.feeds 2023-07-06 12:34:56,039 [server.py:load_component()] - Component (announcements) loaded 2023-07-06 12:34:56,155 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/webcams/list 2023-07-06 12:34:56,210 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.webcams.list 2023-07-06 12:34:56,212 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET POST DELETE) /server/webcams/item 2023-07-06 12:34:56,283 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.webcams.get_item, server.webcams.post_item, server.webcams.delete_item 2023-07-06 12:34:56,289 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/webcams/test 2023-07-06 12:34:56,337 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.webcams.test 2023-07-06 12:34:56,338 [server.py:load_component()] - Component (webcam) loaded 2023-07-06 12:34:56,382 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: connection.send_event 2023-07-06 12:34:56,412 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/extensions/list 2023-07-06 12:34:56,466 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.extensions.list 2023-07-06 12:34:56,479 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/extensions/request 2023-07-06 12:34:56,483 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.extensions.request 2023-07-06 12:34:56,529 [server.py:load_component()] - Component (extensions) loaded 2023-07-06 12:34:56,993 [authorization.py:init()] - Authorization Configuration Loaded Trusted Clients: 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 fe80::/10 ::1/128 CORS Domains: ..lan ..local .://localhost .://localhost:. .://my.mainsail.xyz .*://app.fluidd.xyz 2023-07-06 12:34:57,019 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /access/login 2023-07-06 12:34:57,022 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.login 2023-07-06 12:34:57,073 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /access/logout 2023-07-06 12:34:57,097 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.logout 2023-07-06 12:34:57,098 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /access/refresh_jwt 2023-07-06 12:34:57,169 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.refresh_jwt 2023-07-06 12:34:57,173 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET POST DELETE) /access/user 2023-07-06 12:34:57,198 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.get_user, access.post_user, access.delete_user 2023-07-06 12:34:57,226 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /access/users/list 2023-07-06 12:34:57,229 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.users.list 2023-07-06 12:34:57,269 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /access/user/password 2023-07-06 12:34:57,272 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.user.password 2023-07-06 12:34:57,273 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET POST) /access/api_key 2023-07-06 12:34:57,309 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.get_api_key, access.post_api_key 2023-07-06 12:34:57,310 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /access/oneshot_token 2023-07-06 12:34:57,357 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.oneshot_token 2023-07-06 12:34:57,358 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /access/info 2023-07-06 12:34:57,361 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: access.info 2023-07-06 12:34:57,362 [server.py:load_component()] - Component (authorization) loaded 2023-07-06 12:34:57,481 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET DELETE) /server/history/job 2023-07-06 12:34:57,518 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.history.get_job, server.history.delete_job 2023-07-06 12:34:57,519 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/history/list 2023-07-06 12:34:57,570 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.history.list 2023-07-06 12:34:57,589 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /server/history/totals 2023-07-06 12:34:57,593 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.history.totals 2023-07-06 12:34:57,649 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /server/history/reset_totals 2023-07-06 12:34:57,654 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: server.history.reset_totals 2023-07-06 12:34:57,685 [server.py:load_component()] - Component (history) loaded 2023-07-06 12:34:59,164 [base_deploy.py:log_info()] - Git Repo moonraker: Detected virtualenv: /home/pi/moonraker-env 2023-07-06 12:34:59,321 [base_deploy.py:log_info()] - Git Repo klipper: Detected virtualenv: /home/pi/klippy-env 2023-07-06 12:34:59,481 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/update/moonraker 2023-07-06 12:34:59,509 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.update.moonraker 2023-07-06 12:34:59,510 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/update/klipper 2023-07-06 12:34:59,569 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.update.klipper 2023-07-06 12:34:59,570 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/update/system 2023-07-06 12:34:59,573 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.update.system 2023-07-06 12:34:59,574 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/update/client 2023-07-06 12:34:59,618 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.update.client 2023-07-06 12:34:59,619 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/update/full 2023-07-06 12:34:59,678 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.update.full 2023-07-06 12:34:59,679 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /machine/update/status 2023-07-06 12:34:59,683 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.update.status 2023-07-06 12:34:59,684 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/update/refresh 2023-07-06 12:34:59,719 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.update.refresh 2023-07-06 12:34:59,720 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /machine/update/recover 2023-07-06 12:34:59,765 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: machine.update.recover 2023-07-06 12:34:59,776 [server.py:load_component()] - Component (update_manager) loaded 2023-07-06 12:34:59,823 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /api/version 2023-07-06 12:34:59,884 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /api/server 2023-07-06 12:34:59,970 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /api/login 2023-07-06 12:34:59,973 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /api/currentuser 2023-07-06 12:35:00,013 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /api/settings 2023-07-06 12:35:00,065 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /api/job 2023-07-06 12:35:00,072 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /api/printer 2023-07-06 12:35:00,127 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /api/printer/command 2023-07-06 12:35:00,141 [app.py:register_local_handler()] - Registering HTTP Endpoint: (GET) /api/printerprofiles 2023-07-06 12:35:00,201 [app.py:register_local_handler()] - Registering HTTP Endpoint: (POST) /api/files/moonraker/(?P.+)
2023-07-06 12:35:00,231 [server.py:load_component()] - Component (octoprint_compat) loaded
2023-07-06 12:35:00,637 [server.py:_initialize_component()] - Performing Component Post Init: [dbus_manager]
2023-07-06 12:35:01,571 [server.py:_initialize_component()] - Performing Component Post Init: [file_manager]
2023-07-06 12:35:01,702 [server.py:_initialize_component()] - Performing Component Post Init: [machine]
2023-07-06 12:35:01,716 [machine.py:validation_init()] - Installation version in database up to date
2023-07-06 12:35:12,319 [machine.py:check_virt_status()] - No Virtualization Detected
2023-07-06 12:35:12,649 [machine.py:_find_public_ip()] - Detected Local IP: 192.168.20.59
2023-07-06 12:35:12,733 [webcam.py:_set_default_host_ip()] - Default public webcam address set: http://192.168.20.59
2023-07-06 12:35:14,268 [machine.py:extract_service_info()] - Detected alternate unit name for moonraker: moonraker-CR10.service
2023-07-06 12:35:15,033 [server.py:add_log_rollover_item()] -
Systemd unit moonraker-CR10.service:
unit_name: moonraker-CR10.service
is_default: False
manager: systemd
Properties:
Requires=['sysinit.target', 'network-online.target', 'system.slice', '-.mount']
After=['network-online.target', 'basic.target', '-.mount', 'sysinit.target', 'system.slice', 'systemd-journald.socket']
SupplementaryGroups=['moonraker-admin']
EnvironmentFiles=/home/pi/CR10_data/systemd/moonraker.env
ExecStart=/home/pi/moonraker-env/bin/python $MOONRAKER_ARGS
WorkingDirectory=/home/pi/moonraker
FragmentPath=/etc/systemd/system/moonraker-CR10.service
Description=API Server for Klipper SV1 CR10
User=pi
2023-07-06 12:35:15,086 [server.py:_initialize_component()] - Performing Component Post Init: [proc_stats]
2023-07-06 12:35:15,087 [server.py:_initialize_component()] - Performing Component Post Init: [announcements]
2023-07-06 12:35:15,137 [server.py:_initialize_component()] - Performing Component Post Init: [webcam]
2023-07-06 12:35:15,151 [webcam.py:_set_default_host_ip()] - Default public webcam address set: http://192.168.20.59
2023-07-06 12:35:15,192 [server.py:_initialize_component()] - Performing Component Post Init: [klippy_connection]
2023-07-06 12:35:15,210 [server.py:add_log_rollover_item()] -
Systemd unit klipper-CR10.service:
unit_name: klipper-CR10.service
is_default: False
manager: systemd
Properties:
Requires=['-.mount', 'sysinit.target', 'system.slice']
After=['network-online.target', '-.mount', 'system.slice', 'sysinit.target', 'systemd-journald.socket', 'basic.target']
SupplementaryGroups=[]
EnvironmentFiles=/home/pi/CR10_data/systemd/klipper.env
ExecStart=/home/pi/klippy-env/bin/python $KLIPPER_ARGS
WorkingDirectory=/home/pi/klipper
FragmentPath=/etc/systemd/system/klipper-CR10.service
Description=Klipper 3D Printer Firmware SV1
User=pi
2023-07-06 12:35:15,214 [server.py:_initialize_component()] - Performing Component Post Init: [authorization]
2023-07-06 12:35:15,253 [server.py:_initialize_component()] - Performing Component Post Init: [update_manager]
2023-07-06 12:35:19,231 [update_manager.py:initialize()] - PackageDeploy: Using PackageKit Provider
2023-07-06 12:35:19,264 [git_deploy.py:log_repo_info()] - Git Repo moonraker Detected:
Owner: Arksine
Repository Name: moonraker
Path: /home/pi/moonraker
Remote: origin
Branch: master
Remote URL: https://github.com/Arksine/moonraker.git
Recovery URL: https://github.com/Arksine/moonraker.git
Current Commit SHA: a7e154fbe4e1f3dec4fc051e24af2d6188d979bd
Upstream Commit SHA: a7e154fbe4e1f3dec4fc051e24af2d6188d979bd
Current Version: v0.8.0-86
Upstream Version: v0.8.0-86
Is Dirty: False
Is Detached: False
Commits Behind: 0
Diverged: False
2023-07-06 12:35:19,290 [git_deploy.py:log_repo_info()] - Git Repo klipper Detected:
Owner: Klipper3d
Repository Name: klipper
Path: /home/pi/klipper
Remote: origin
Branch: master
Remote URL: https://github.com/Klipper3d/klipper
Recovery URL: https://github.com/Klipper3d/klipper
Current Commit SHA: a96608add40e316f25f15d9c9d1c1fbd86dbbebe
Upstream Commit SHA: a96608add40e316f25f15d9c9d1c1fbd86dbbebe
Current Version: v0.11.0-239
Upstream Version: v0.11.0-239
Is Dirty: False
Is Detached: False
Commits Behind: 0
Diverged: False
2023-07-06 12:35:19,320 [git_deploy.py:log_repo_info()] - Git Repo mainsail-config Detected:
Owner: mainsail-crew
Repository Name: mainsail-config
Path: /home/pi/mainsail-config
Remote: origin
Branch: master
Remote URL: https://github.com/mainsail-crew/mainsail-config.git
Recovery URL: https://github.com/mainsail-crew/mainsail-config.git
Current Commit SHA: 76f0b75c18d413bb1f2d735c259afae3fb4a8f68
Upstream Commit SHA: 76f0b75c18d413bb1f2d735c259afae3fb4a8f68
Current Version: v1.0.0-13
Upstream Version: v1.0.0-13
Is Dirty: False
Is Detached: False
Commits Behind: 0
Diverged: False
2023-07-06 12:35:19,500 [update_manager.py:_log_client_info()] - Web Client mainsail Detected:
Repo: mainsail-crew/mainsail
Channel: stable
Path: /home/pi/mainsail
Local Version: v2.6.0
Remote Version: v2.6.0
Valid: True
Fallback Client Detected: True
Pre-release: False
Download Url: https://github.com/mainsail-crew/mainsail/releases/download/v2.6.0/mainsail.zip
Download Size: 2098583
Content Type: application/zip
2023-07-06 12:35:19,650 [extensions.py:start_unix_server()] - Creating Unix Domain Socket at '/home/pi/CR10_data/comms/moonraker.sock'
2023-07-06 12:35:19,703 [server.py:start_server()] - Starting Moonraker on (0.0.0.0, 7125), Hostname: raspberrypi
2023-07-06 12:35:19,739 [app.py:listen()] - SSL Certificate/Key not configured, aborting HTTPS Server startup
2023-07-06 12:35:20,029 [klippy_connection.py:_do_connect()] - Klippy Connection Established
2023-07-06 12:35:21,822 [machine.py:extract_service_info()] - Detected alternate unit name for klipper: klipper-CR10.service
2023-07-06 12:35:22,658 [server.py:add_log_rollover_item()] -
Systemd unit klipper-CR10.service:
unit_name: klipper-CR10.service
is_default: False
manager: systemd
Properties:
Requires=['system.slice', 'sysinit.target', '-.mount']
After=['-.mount', 'network-online.target', 'systemd-journald.socket', 'system.slice', 'basic.target', 'sysinit.target']
SupplementaryGroups=[]
EnvironmentFiles=/home/pi/CR10_data/systemd/klipper.env
ExecStart=/home/pi/klippy-env/bin/python $KLIPPER_ARGS
WorkingDirectory=/home/pi/klipper
FragmentPath=/etc/systemd/system/klipper-CR10.service
Description=Klipper 3D Printer Firmware SV1
**User=pi
2023-07-06 12:35:22,981 [server.py:add_log_rollover_item()] - Klipper Version: v0.11.0-239-ga96608ad
2023-07-06 12:35:23,121 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/info
2023-07-06 12:35:23,138 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.info
2023-07-06 12:35:23,139 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/emergency_stop
2023-07-06 12:35:23,168 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.emergency_stop
2023-07-06 12:35:23,169 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/gcode/help
2023-07-06 12:35:23,173 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.gcode.help
2023-07-06 12:35:23,174 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/gcode/script
2023-07-06 12:35:23,198 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.gcode.script
2023-07-06 12:35:23,199 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/gcode/restart
2023-07-06 12:35:23,231 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.gcode.restart
2023-07-06 12:35:23,232 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/gcode/firmware_restart
2023-07-06 12:35:23,257 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.gcode.firmware_restart
2023-07-06 12:35:23,258 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/objects/list
2023-07-06 12:35:23,283 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.objects.list
2023-07-06 12:35:23,284 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/objects/query
2023-07-06 12:35:23,316 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.objects.query
2023-07-06 12:35:23,318 [app.py:register_remote_handler()] - Registering HTTP endpoint: (GET POST) /printer/objects/subscribe
2023-07-06 12:35:23,321 [websockets.py:register_api_handler()] - Registering Websocket JSON-RPC methods: printer.objects.subscribe
2023-07-06 12:35:23,389 [klippy_connection.py:_request_initial_subscriptions()] - Webhooks Subscribed
2023-07-06 12:35:23,425 [klippy_connection.py:_request_initial_subscriptions()] - GCode Output Subscribed
2023-07-06 12:35:23,476 [klippy_connection.py:_check_ready()] -
Include file '/home/pi/CR10_data/config/../PA_TUNER.macro.update2a' does not exist
Once the underlying issue is corrected, use the "RESTART" command to reload the config and restart the host software. Printer is halted