gitextract_tfp7f5p4/ ├── .github/ │ └── workflows/ │ └── master.yml ├── .gitignore ├── LICENSE.txt ├── Makefile ├── README.md ├── doc/ │ ├── CodingGuidelines.md │ ├── DeveloperReadme.md │ └── assets/ │ ├── logo.ai │ └── logo_with_name.ai └── src/ ├── angular/ │ ├── .angular-cli.json │ ├── .editorconfig │ ├── .gitignore │ ├── e2e/ │ │ ├── app.e2e-spec.ts │ │ ├── app.po.ts │ │ └── tsconfig.e2e.json │ ├── karma.conf.js │ ├── package.json │ ├── protractor.conf.js │ ├── src/ │ │ ├── app/ │ │ │ ├── app.module.ts │ │ │ ├── common/ │ │ │ │ ├── _common.scss │ │ │ │ ├── cached-reuse-strategy.ts │ │ │ │ ├── capitalize.pipe.ts │ │ │ │ ├── click-stop-propagation.directive.ts │ │ │ │ ├── eta.pipe.ts │ │ │ │ ├── file-size.pipe.ts │ │ │ │ ├── localization.ts │ │ │ │ └── storage-keys.ts │ │ │ ├── pages/ │ │ │ │ ├── about/ │ │ │ │ │ ├── about-page.component.html │ │ │ │ │ ├── about-page.component.scss │ │ │ │ │ └── about-page.component.ts │ │ │ │ ├── autoqueue/ │ │ │ │ │ ├── autoqueue-page.component.html │ │ │ │ │ ├── autoqueue-page.component.scss │ │ │ │ │ └── autoqueue-page.component.ts │ │ │ │ ├── files/ │ │ │ │ │ ├── file-list.component.html │ │ │ │ │ ├── file-list.component.scss │ │ │ │ │ ├── file-list.component.ts │ │ │ │ │ ├── file-options.component.html │ │ │ │ │ ├── file-options.component.scss │ │ │ │ │ ├── file-options.component.ts │ │ │ │ │ ├── file.component.html │ │ │ │ │ ├── file.component.scss │ │ │ │ │ ├── file.component.ts │ │ │ │ │ ├── files-page.component.html │ │ │ │ │ └── files-page.component.ts │ │ │ │ ├── logs/ │ │ │ │ │ ├── logs-page.component.html │ │ │ │ │ ├── logs-page.component.scss │ │ │ │ │ └── logs-page.component.ts │ │ │ │ ├── main/ │ │ │ │ │ ├── app.component.html │ │ │ │ │ ├── app.component.scss │ │ │ │ │ ├── app.component.ts │ │ │ │ │ ├── header.component.html │ │ │ │ │ ├── header.component.scss │ │ │ │ │ ├── header.component.ts │ │ │ │ │ ├── sidebar.component.html │ │ │ │ │ ├── sidebar.component.scss │ │ │ │ │ └── sidebar.component.ts │ │ │ │ └── settings/ │ │ │ │ ├── option.component.html │ │ │ │ ├── option.component.scss │ │ │ │ ├── option.component.ts │ │ │ │ ├── options-list.ts │ │ │ │ ├── settings-page.component.html │ │ │ │ ├── settings-page.component.scss │ │ │ │ └── settings-page.component.ts │ │ │ ├── routes.ts │ │ │ ├── services/ │ │ │ │ ├── autoqueue/ │ │ │ │ │ ├── autoqueue-pattern.ts │ │ │ │ │ └── autoqueue.service.ts │ │ │ │ ├── base/ │ │ │ │ │ ├── base-stream.service.ts │ │ │ │ │ ├── base-web.service.ts │ │ │ │ │ └── stream-service.registry.ts │ │ │ │ ├── files/ │ │ │ │ │ ├── mock-model-files.ts │ │ │ │ │ ├── model-file.service.ts │ │ │ │ │ ├── model-file.ts │ │ │ │ │ ├── screenshot-model-files.ts │ │ │ │ │ ├── view-file-filter.service.ts │ │ │ │ │ ├── view-file-options.service.ts │ │ │ │ │ ├── view-file-options.ts │ │ │ │ │ ├── view-file-sort.service.ts │ │ │ │ │ ├── view-file.service.ts │ │ │ │ │ └── view-file.ts │ │ │ │ ├── logs/ │ │ │ │ │ ├── log-record.ts │ │ │ │ │ └── log.service.ts │ │ │ │ ├── server/ │ │ │ │ │ ├── server-command.service.ts │ │ │ │ │ ├── server-status.service.ts │ │ │ │ │ └── server-status.ts │ │ │ │ ├── settings/ │ │ │ │ │ ├── config.service.ts │ │ │ │ │ └── config.ts │ │ │ │ └── utils/ │ │ │ │ ├── connected.service.ts │ │ │ │ ├── dom.service.ts │ │ │ │ ├── logger.service.ts │ │ │ │ ├── notification.service.ts │ │ │ │ ├── notification.ts │ │ │ │ ├── rest.service.ts │ │ │ │ └── version-check.service.ts │ │ │ └── tests/ │ │ │ ├── mocks/ │ │ │ │ ├── mock-event-source.ts │ │ │ │ ├── mock-model-file.service.ts │ │ │ │ ├── mock-rest.service.ts │ │ │ │ ├── mock-storage.service.ts │ │ │ │ ├── mock-stream-service.registry.ts │ │ │ │ ├── mock-view-file-options.service.ts │ │ │ │ └── mock-view-file.service.ts │ │ │ └── unittests/ │ │ │ └── services/ │ │ │ ├── autoqueue/ │ │ │ │ └── autoqueue.service.spec.ts │ │ │ ├── base/ │ │ │ │ ├── base-stream.service.spec.ts │ │ │ │ ├── base-web.service.spec.ts │ │ │ │ └── stream-service.registry.spec.ts │ │ │ ├── files/ │ │ │ │ ├── model-file.service.spec.ts │ │ │ │ ├── model-file.spec.ts │ │ │ │ ├── view-file-filter.service.spec.ts │ │ │ │ ├── view-file-options.service.spec.ts │ │ │ │ ├── view-file-sort.service.spec.ts │ │ │ │ └── view-file.service.spec.ts │ │ │ ├── logs/ │ │ │ │ ├── log-record.spec.ts │ │ │ │ └── log.service.spec.ts │ │ │ ├── server/ │ │ │ │ ├── server-command.service.spec.ts │ │ │ │ ├── server-status.service.spec.ts │ │ │ │ └── server-status.spec.ts │ │ │ ├── settings/ │ │ │ │ ├── config.service.spec.ts │ │ │ │ └── config.spec.ts │ │ │ └── utils/ │ │ │ ├── connected.service.spec.ts │ │ │ ├── dom.service.spec.ts │ │ │ ├── notification.service.spec.ts │ │ │ ├── rest.service.spec.ts │ │ │ └── version-check.service.spec.ts │ │ ├── assets/ │ │ │ └── .gitkeep │ │ ├── environments/ │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── index.html │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.spec.json │ │ └── typings.d.ts │ ├── tsconfig.json │ └── tslint.json ├── debian/ │ ├── changelog │ ├── compat │ ├── config │ ├── control │ ├── postinst │ ├── postrm │ ├── rules │ ├── seedsync.service │ ├── source/ │ │ └── format │ └── templates ├── docker/ │ ├── build/ │ │ ├── deb/ │ │ │ ├── Dockerfile │ │ │ └── Dockerfile.dockerignore │ │ └── docker-image/ │ │ ├── Dockerfile │ │ ├── Dockerfile.dockerignore │ │ ├── run_as_user │ │ ├── scp │ │ ├── setup_default_config.sh │ │ └── ssh │ ├── stage/ │ │ ├── deb/ │ │ │ ├── Dockerfile │ │ │ ├── compose-ubu1604.yml │ │ │ ├── compose-ubu1804.yml │ │ │ ├── compose-ubu2004.yml │ │ │ ├── compose.yml │ │ │ ├── entrypoint.sh │ │ │ ├── expect_seedsync.exp │ │ │ ├── id_rsa │ │ │ ├── id_rsa.pub │ │ │ ├── install_seedsync.sh │ │ │ └── ubuntu-systemd/ │ │ │ ├── ubuntu-16.04-systemd/ │ │ │ │ ├── Dockerfile │ │ │ │ └── setup │ │ │ ├── ubuntu-18.04-systemd/ │ │ │ │ ├── Dockerfile │ │ │ │ └── setup │ │ │ └── ubuntu-20.04-systemd/ │ │ │ ├── Dockerfile │ │ │ └── setup │ │ └── docker-image/ │ │ └── compose.yml │ ├── test/ │ │ ├── angular/ │ │ │ ├── Dockerfile │ │ │ └── compose.yml │ │ ├── e2e/ │ │ │ ├── Dockerfile │ │ │ ├── chrome/ │ │ │ │ └── Dockerfile │ │ │ ├── compose-dev.yml │ │ │ ├── compose.yml │ │ │ ├── configure/ │ │ │ │ ├── Dockerfile │ │ │ │ └── setup_seedsync.sh │ │ │ ├── parse_seedsync_status.py │ │ │ ├── remote/ │ │ │ │ ├── Dockerfile │ │ │ │ └── id_rsa.pub │ │ │ ├── run_tests.sh │ │ │ └── urls.ts │ │ └── python/ │ │ ├── Dockerfile │ │ ├── compose.yml │ │ └── entrypoint.sh │ └── wait-for-it.sh ├── e2e/ │ ├── .gitignore │ ├── README.md │ ├── conf.ts │ ├── package.json │ ├── tests/ │ │ ├── about.page.spec.ts │ │ ├── about.page.ts │ │ ├── app.spec.ts │ │ ├── app.ts │ │ ├── autoqueue.page.spec.ts │ │ ├── autoqueue.page.ts │ │ ├── dashboard.page.spec.ts │ │ ├── dashboard.page.ts │ │ ├── settings.page.spec.ts │ │ └── settings.page.ts │ ├── tsconfig.json │ └── urls.ts ├── pyinstaller_hooks/ │ └── hook-patoolib.py └── python/ ├── __init__.py ├── common/ │ ├── __init__.py │ ├── app_process.py │ ├── config.py │ ├── constants.py │ ├── context.py │ ├── error.py │ ├── job.py │ ├── localization.py │ ├── multiprocessing_logger.py │ ├── persist.py │ ├── status.py │ └── types.py ├── controller/ │ ├── __init__.py │ ├── auto_queue.py │ ├── controller.py │ ├── controller_job.py │ ├── controller_persist.py │ ├── delete/ │ │ ├── __init__.py │ │ └── delete_process.py │ ├── extract/ │ │ ├── __init__.py │ │ ├── dispatch.py │ │ ├── extract.py │ │ └── extract_process.py │ ├── model_builder.py │ └── scan/ │ ├── __init__.py │ ├── active_scanner.py │ ├── local_scanner.py │ ├── remote_scanner.py │ └── scanner_process.py ├── docs/ │ ├── faq.md │ ├── index.md │ ├── install.md │ └── usage.md ├── lftp/ │ ├── __init__.py │ ├── job_status.py │ ├── job_status_parser.py │ └── lftp.py ├── mkdocs.yml ├── model/ │ ├── __init__.py │ ├── diff.py │ ├── file.py │ └── model.py ├── pyproject.toml ├── scan_fs.py ├── seedsync.py ├── ssh/ │ ├── __init__.py │ └── sshcp.py ├── system/ │ ├── __init__.py │ ├── file.py │ └── scanner.py ├── tests/ │ ├── __init__.py │ ├── integration/ │ │ ├── __init__.py │ │ ├── test_controller/ │ │ │ ├── __init__.py │ │ │ ├── test_controller.py │ │ │ └── test_extract/ │ │ │ ├── __init__.py │ │ │ └── test_extract.py │ │ ├── test_lftp/ │ │ │ ├── __init__.py │ │ │ └── test_lftp.py │ │ └── test_web/ │ │ ├── __init__.py │ │ ├── test_handler/ │ │ │ ├── __init__.py │ │ │ ├── test_auto_queue.py │ │ │ ├── test_config.py │ │ │ ├── test_controller.py │ │ │ ├── test_server.py │ │ │ ├── test_status.py │ │ │ ├── test_stream_log.py │ │ │ ├── test_stream_model.py │ │ │ └── test_stream_status.py │ │ └── test_web_app.py │ ├── unittests/ │ │ ├── __init__.py │ │ ├── test_common/ │ │ │ ├── __init__.py │ │ │ ├── test_app_process.py │ │ │ ├── test_config.py │ │ │ ├── test_job.py │ │ │ ├── test_multiprocessing_logger.py │ │ │ ├── test_persist.py │ │ │ └── test_status.py │ │ ├── test_controller/ │ │ │ ├── __init__.py │ │ │ ├── test_auto_queue.py │ │ │ ├── test_controller_persist.py │ │ │ ├── test_extract/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_dispatch.py │ │ │ │ └── test_extract_process.py │ │ │ ├── test_model_builder.py │ │ │ └── test_scan/ │ │ │ ├── __init__.py │ │ │ ├── test_remote_scanner.py │ │ │ └── test_scanner_process.py │ │ ├── test_lftp/ │ │ │ ├── __init__.py │ │ │ ├── test_job_status.py │ │ │ ├── test_job_status_parser.py │ │ │ └── test_lftp.py │ │ ├── test_model/ │ │ │ ├── __init__.py │ │ │ ├── test_diff.py │ │ │ ├── test_file.py │ │ │ └── test_model.py │ │ ├── test_seedsync.py │ │ ├── test_ssh/ │ │ │ ├── __init__.py │ │ │ └── test_sshcp.py │ │ ├── test_system/ │ │ │ ├── __init__.py │ │ │ ├── test_file.py │ │ │ └── test_scanner.py │ │ └── test_web/ │ │ ├── __init__.py │ │ ├── test_handler/ │ │ │ └── test_stream_log.py │ │ └── test_serialize/ │ │ ├── __init__.py │ │ ├── test_serialize.py │ │ ├── test_serialize_auto_queue.py │ │ ├── test_serialize_config.py │ │ ├── test_serialize_log_record.py │ │ ├── test_serialize_model.py │ │ └── test_serialize_status.py │ └── utils.py └── web/ ├── __init__.py ├── handler/ │ ├── __init__.py │ ├── auto_queue.py │ ├── config.py │ ├── controller.py │ ├── server.py │ ├── status.py │ ├── stream_log.py │ ├── stream_model.py │ └── stream_status.py ├── serialize/ │ ├── __init__.py │ ├── serialize.py │ ├── serialize_auto_queue.py │ ├── serialize_config.py │ ├── serialize_log_record.py │ ├── serialize_model.py │ └── serialize_status.py ├── utils.py ├── web_app.py ├── web_app_builder.py └── web_app_job.py