Some older messages are unavailable. Upgrade your organization to access your full message history.
pirate pushed 2 commits to branch main.
- add OPERATING_SYSTEM helper to binprovider (703b849b335)
- add official ansible and pyinfra support (fcb5464cb86)
pirate pushed 2 commits to branch main.
- break out types into separate files (f89eb9a0c16)
- bump version to 0.3.0 (536fb34b570)
pirate pushed 1 commit to branch main.
- allow executing binproviders directly to provide CLI (6086282d88b)
pirate pushed 1 commit to branch main.
- make sure parent dir exists before creating venv/npm dir (a3b56305b08)
pirate pushed 5 commits to branch main.
- bump version to 0.3.1 (292176358fb)
- handle creating pip venv or npm prefix on install instead of on init (1faf72c7bd6)
- bump version to 0.3.2 (1d9cd8a96d9)
- fix pip and npm setup step on initial setup (b27a4ba269d)
- bump version to 0.3.3 (99dca004fd1)
pirate pushed 2 commits to branch main.
- allow spaces in binary names (8a6432039fd)
- allow passing binprovider_name to .install, .load, .load_or_install to try specific provider (b94910b04e4)
pirate pushed 2 commits to branch main.
- fix PipBinProvider to use system paths exclusively when venv is None (43e34d81457)
- bump version to 0.3.4 (bb36226dc3f)
pirate pushed 11 commits to branch dev.
- bump subdependency versions (11f369ee2d6)
- move all ansible files into plugantic folder for now (30def925e70)
- fix npm and pip binprovider setup and paths search (dd6d7e49759)
- update singlefile plugin to use new npm binprovider and support installing (6c39d27ccbe)
- update puppeteer plugin to create a PuppeteerBinProvider for installing browsers (6096fb14277)
- add LIB_DIR and BIN_DIR to config (575105006df)
- add timeout limit to bin_version loading in config (aa21c56ddd9)
- fix log_list_view trying to seek past end of file on short logs (33fd7fe4398)
- split puppeteer plugin into Puppeteer, Playwright, and Chrome (541cd6c5a1d)
- bump pydantic-pkgr version to 0.3.4 (99dd812e3b3)
- bump pydantic-pkgr submodule to 0.3.4 (8945475f8d6)
pirate edited release v0.8.4-rc: New background job queue system (huey + supervisord), Ansible for dependency management for tag v0.8.4-rc.
pirate edited release v0.8.3-rc: New UI Buttons, adding/updating is now non-blocking, Daphne ASGI, Rich CLI logs, Byte Range support, ABIDs, and more... for tag v0.8.3-rc.
pirate edited release v0.8.4-rc: New background job queue system (huey + supervisord), Ansible for dependency management for tag v0.8.4-rc.
agowa opened issue #1517:
Type
- [ ] General question or discussion
- [x] Propose a brand new feature
- [ ] Request modification of existing behavior or design
What is the problem that your feature request solves
Archive a website behind a login form. I think this is mainly a documentation issue but currently the documentation is very sparse on how to archive webpages behind sign-in prompts. And for HTTP Basic Auth websites it looks like the only possible way is currently to archive them using dept=0 and with the credentials embedded into the URL.
dept=1 doesn't work as the credentials aren't preserved to all the discovered URLs and therefore they throw an authentication error. Further more it looks like URLs likehttp://user:pass@domain
are considered to be distinct fromhttp://domain
URLs and not automatically detected as being the same but with the login credentials (aka links from other pages won't work, also when depth=1 was used for a site referencing them their version without login is also added to the index).Describe the ideal specific solution you'd want, and whether it fits into any broader scope of changes
Document how to do capture a website that is behind a credential prompt.
What hacks or alternative solutions have you tried to solve the problem?
If there is no native solution, probably having to use a mitmproxy and disable TLS certificate validation or something similar?
How badly do you want this new feature?
- [x] It's an urgent deal-breaker, I can't live without it
- [ ] It's important to add it in the near-mid term future
- [ ] It would be nice to have eventually
agowa edited issue #1517:
Type
- [x] General question or discussion
- [x] Propose a brand new feature
- [ ] Request modification of existing behavior or design
What is the problem that your feature request solves
Archive a website behind a login form. I think this is mainly a documentation issue but currently the documentation is very sparse on how to archive webpages behind sign-in prompts. And for HTTP Basic Auth websites it looks like the only possible way is currently to archive them using dept=0 and with the credentials embedded into the URL.
dept=1 doesn't work as the credentials aren't preserved to all the discovered URLs and therefore they throw an authentication error. Further more it looks like URLs likehttp://user:pass@domain
are considered to be distinct fromhttp://domain
URLs and not automatically detected as being the same but with the login credentials (aka links from other pages won't work, also when depth=1 was used for a site referencing them their version without login is also added to the index).Describe the ideal specific solution you'd want, and whether it fits into any broader scope of changes
Document how to do capture a website that is behind a credential prompt.
What hacks or alternative solutions have you tried to solve the problem?
If there is no native solution, probably having to use a mitmproxy and disable TLS certificate validation or something similar?
How badly do you want this new feature?
- [x] It's an urgent deal-breaker, I can't live without it
- [ ] It's important to add it in the near-mid term future
- [ ] It would be nice to have eventually
agowa edited issue #1517:
Type
- [x] General question or discussion
- [ ] Propose a brand new feature
- [ ] Request modification of existing behavior or design
What is the problem that your feature request solves
Archive a website behind a login form. I think this is mainly a documentation issue but currently the documentation is very sparse on how to archive webpages behind sign-in prompts. And for HTTP Basic Auth websites it looks like the only possible way is currently to archive them using dept=0 and with the credentials embedded into the URL.
dept=1 doesn't work as the credentials aren't preserved to all the discovered URLs and therefore they throw an authentication error. Further more it looks like URLs likehttp://user:pass@domain
are considered to be distinct fromhttp://domain
URLs and not automatically detected as being the same but with the login credentials (aka links from other pages won't work, also when depth=1 was used for a site referencing them their version without login is also added to the index).Describe the ideal specific solution you'd want, and whether it fits into any broader scope of changes
Document how to do capture a website that is behind a credential prompt.
What hacks or alternative solutions have you tried to solve the problem?
If there is no native solution, probably having to use a mitmproxy and disable TLS certificate validation or something similar?
How badly do you want this new feature?
- [x] It's an urgent deal-breaker, I can't live without it
- [ ] It's important to add it in the near-mid term future
- [ ] It would be nice to have eventually
agowa edited issue #1517:
Type
- [x] General question or discussion
- [x] Propose a brand new feature
- [ ] Request modification of existing behavior or design
What is the problem that your feature request solves
Archive a website behind a login form. I think this is mainly a documentation issue but currently the documentation is very sparse on how to archive webpages behind sign-in prompts. And for HTTP Basic Auth websites it looks like the only possible way is currently to archive them using dept=0 and with the credentials embedded into the URL.
dept=1 doesn't work as the credentials aren't preserved to all the discovered URLs and therefore they throw an authentication error. Further more it looks like URLs likehttp://user:pass@domain
are considered to be distinct fromhttp://domain
URLs and not automatically detected as being the same but with the login credentials (aka links from other pages won't work, also when depth=1 was used for a site referencing them their version without login is also added to the index).Describe the ideal specific solution you'd want, and whether it fits into any broader scope of changes
Document how to do capture a website that is behind a credential prompt.
What hacks or alternative solutions have you tried to solve the problem?
If there is no native solution, probably having to use a mitmproxy and disable TLS certificate validation or something similar?
How badly do you want this new feature?
- [x] It's an urgent deal-breaker, I can't live without it
- [ ] It's important to add it in the near-mid term future
- [ ] It would be nice to have eventually
agowa opened issue #1518:
Describe the bug
archivebox update shows
but when doing the steps to see the full output it just works. The file it tried to download was a PDF file from an webserver with http basic auth protection and the credentials being embedded into the URL.
Steps to reproduce
I just installed ArchiveBox using the docker-compose steps in the readme and when trying to capture a site and then view it, ArchiveBox first shows a page that says
Maybe this resource type is not availabe for this Snapshot, or the archiving process has not completed yet? # run this cmd to finish archiving this Snapshot archivebox update -t timestamp 1727017909.005329
Then I basically ran that command (
docker compose run archivebox update -t timestamp 1727017909.005329
) and got this error:[i] [2024-09-22 15:22:22] ArchiveBox v0.7.2: archivebox update -t timestamp 1727017909.005329 > /data [▶] [2024-09-22 15:22:24] Starting archiving of 1 snapshots in index... [√] [2024-09-22 15:22:24] "user:pass@domain/+some/sub/dirs/filename.pdf" https://user:pass@domain/+some/sub/dirs/filename.pdf √ ./archive/1727017909.005329 > wget Extractor failed: Wget failed or got an error from the server Run to see full output: docker run -it -v $PWD/data:/data archivebox/archivebox /bin/bash cd /data/archive/1727017909.005329; wget --no-verbose --adjust-extension --convert-links --force-directories --backup-converted --span-hosts --no-parent -e robots=off --timeout=60 --restrict-file-names=windows --warc-file=/data/archive/1727017909.005329/warc/1727018544 --page-requisites "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.2 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3" --compression=auto "https://user:pass@domain/+some/sub/dirs/filename.pdf" 8 files (1.2 MB) in 0:00:00s [√] [2024-09-22 15:22:24] Update of 1 pages complete (0.35 sec) - 0 links skipped - 1 links updated - 1 links had errors
but when I then want to see the full output and run these three commands I only get this:
Authentication selected: Basic realm="Restricted Files" 2024-09-22 15:30:20 URL:https://user:pass@domain/+some/sub/dirs/filename.pdf [244137/244137] -> "domain/+some/sub/dirs/filename.pdf" [1] FINISHED --2024-09-22 15:30:20-- Total wall clock time: 0.2s Downloaded: 1 files, 238K in 0.03s (7.83 MB/s)
And even if I check the exit code using
echo $?
afterwards it only returns that it was successful. Same for running it with--verbose
instead of--no-verbose
.Screenshots or log output
<!--
If applicable, post any relevant screenshots or copy/pasted terminal output from ArchiveBox.
If you're reporting a parsing / importing error, you must paste a copy of your redacted import file here.
-->ArchiveBox version
0.7.2 ArchiveBox v0.7.2 COMMIT_HASH=315c9f3 BUILD_TIME=2024-04-24 22:47:02 1713998822 IN_DOCKER=True IN_QEMU=False ARCH=x86_64 OS=Linux PLATFORM=Linux-6.10.10-arch1-1-x86_64-with-glibc2.36 PYTHON=Cpython FS_ATOMIC=True FS_REMOTE=False FS_USER=1000:1000 FS_PERMS=644 DEBUG=False IS_TTY=True TZ=UTC SEARCH_BACKEND=ripgrep LDAP=False [i] Dependency versions: √ PYTHON_BINARY v3.11.9 valid /usr/local/bin/python3.11 √ SQLITE_BINARY v2.6.0 valid /usr/local/lib/python3.11/sqlite3/dbapi2.py √ DJANGO_BINARY v3.1.14 valid /usr/local/lib/python3.11/site-packages/django/__init__.py √ ARCHIVEBOX_BINARY v0.7.2 valid /usr/local/bin/archivebox √ CURL_BINARY v8.5.0 valid /usr/bin/curl √ WGET_BINARY v1.21.3 valid /usr/bin/wget √ NODE_BINARY v20.12.2 valid /usr/bin/node √ SINGLEFILE_BINARY v1.1.46 valid /app/node_modules/single-file-cli/single-file √ READABILITY_BINARY v0.0.11 valid /app/node_modules/readability-extractor/readability-extractor √ MERCURY_BINARY v1.0.0 valid /app/node_modules/@postlight/parser/cli.js √ GIT_BINARY v2.39.2 valid /usr/bin/git √ YOUTUBEDL_BINARY v2023.12.30 valid /usr/local/bin/yt-dlp √ CHROME_BINARY v124.0.6367.29 valid /usr/bin/chromium-browser √ RIPGREP_BINARY v13.0.0 valid /usr/bin/rg [i] Source-code locations: √ PACKAGE_DIR 23 files valid /app/archivebox √ TEMPLATES_DIR 3 files valid /app/archivebox/templates - CUSTOM_TEMPLATES_DIR - disabled None [i] Secrets locations: - CHROME_USER_DATA_DIR - disabled None - COOKIES_FILE - disabled None [i] Data locations: (not in a data directory)
agowa edited issue #1518:
Describe the bug
archivebox update shows
but when doing the steps to see the full output it just works. The file it tried to download was a PDF file from an webserver with http basic auth protection and the credentials being embedded into the URL.
Steps to reproduce
I just installed ArchiveBox using the docker-compose steps in the readme and when trying to capture a site and then view it, ArchiveBox first shows a page that says
Maybe this resource type is not availabe for this Snapshot, or the archiving process has not completed yet? # run this cmd to finish archiving this Snapshot archivebox update -t timestamp 1727017909.005329
Then I basically ran that command (
docker compose run archivebox update -t timestamp 1727017909.005329
) and got this error:[i] [2024-09-22 15:22:22] ArchiveBox v0.7.2: archivebox update -t timestamp 1727017909.005329 > /data [▶] [2024-09-22 15:22:24] Starting archiving of 1 snapshots in index... [√] [2024-09-22 15:22:24] "user:pass@domain/+some/sub/dirs/filename.pdf" https://user:pass@domain/+some/sub/dirs/filename.pdf √ ./archive/1727017909.005329 > wget Extractor failed: Wget failed or got an error from the server Run to see full output: docker run -it -v $PWD/data:/data archivebox/archivebox /bin/bash cd /data/archive/1727017909.005329; wget --no-verbose --adjust-extension --convert-links --force-directories --backup-converted --span-hosts --no-parent -e robots=off --timeout=60 --restrict-file-names=windows --warc-file=/data/archive/1727017909.005329/warc/1727018544 --page-requisites "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.2 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3" --compression=auto "https://user:pass@domain/+some/sub/dirs/filename.pdf" 8 files (1.2 MB) in 0:00:00s [√] [2024-09-22 15:22:24] Update of 1 pages complete (0.35 sec) - 0 links skipped - 1 links updated - 1 links had errors
but when I then want to see the full output and run these three commands I only get this:
Authentication selected: Basic realm="Restricted Files" 2024-09-22 15:30:20 URL:https://user:pass@domain/+some/sub/dirs/filename.pdf [244137/244137] -> "domain/+some/sub/dirs/filename.pdf" [1] FINISHED --2024-09-22 15:30:20-- Total wall clock time: 0.2s Downloaded: 1 files, 238K in 0.03s (7.83 MB/s)
And even if I check the exit code using
echo $?
afterwards it only returns that it was successful. Same for running it with--verbose
instead of--no-verbose
.Edit: It also works when I run the provided command directly without an interactive tty attached. So that's not the issue here I think. Tested using
docker run --entrypoint "" --workdir "/data/archive/1727017909.005329" -v $PWD/data:/data archivebox/archivebox wget --no-verbose --adjust-extension --convert-links --force-directories --backup-converted --span-hosts --no-parent -e robots=off --timeout=60 --restrict-file-names=windows --warc-file=/data/archive/1727017909.005329/warc/1727018544 --page-requisites "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.2 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3" --compression=auto "https://user:pass@domain/+some/sub/dirs/filename.pdf"
)Screenshots or log output
<!--
If applicable, post any relevant screenshots or copy/pasted terminal output from ArchiveBox.
If you're reporting a parsing / importing error, you must paste a copy of your redacted import file here.
-->ArchiveBox version
0.7.2 ArchiveBox v0.7.2 COMMIT_HASH=315c9f3 BUILD_TIME=2024-04-24 22:47:02 1713998822 IN_DOCKER=True IN_QEMU=False ARCH=x86_64 OS=Linux PLATFORM=Linux-6.10.10-arch1-1-x86_64-with-glibc2.36 PYTHON=Cpython FS_ATOMIC=True FS_REMOTE=False FS_USER=1000:1000 FS_PERMS=644 DEBUG=False IS_TTY=True TZ=UTC SEARCH_BACKEND=ripgrep LDAP=False [i] Dependency versions: √ PYTHON_BINARY v3.11.9 valid /usr/local/bin/python3.11 √ SQLITE_BINARY v2.6.0 valid /usr/local/lib/python3.11/sqlite3/dbapi2.py √ DJANGO_BINARY v3.1.14 valid /usr/local/lib/python3.11/site-packages/django/__init__.py √ ARCHIVEBOX_BINARY v0.7.2 valid /usr/local/bin/archivebox √ CURL_BINARY v8.5.0 valid /usr/bin/curl √ WGET_BINARY v1.21.3 valid /usr/bin/wget √ NODE_BINARY v20.12.2 valid /usr/bin/node √ SINGLEFILE_BINARY v1.1.46 valid /app/node_modules/single-file-cli/single-file √ READABILITY_BINARY v0.0.11 valid /app/node_modules/readability-extractor/readability-extractor √ MERCURY_BINARY v1.0.0 valid /app/node_modules/@postlight/parser/cli.js √ GIT_BINARY v2.39.2 valid /usr/bin/git √ YOUTUBEDL_BINARY v2023.12.30 valid /usr/local/bin/yt-dlp √ CHROME_BINARY v124.0.6367.29 valid /usr/bin/chromium-browser √ RIPGREP_BINARY v13.0.0 valid /usr/bin/rg [i] Source-code locations: √ PACKAGE_DIR 23 files valid /app/archivebox √ TEMPLATES_DIR 3 files valid /app/archivebox/templates - CUSTOM_TEMPLATES_DIR - disabled None [i] Secrets locations: - CHROME_USER_DATA_DIR - disabled None - COOKIES_FILE - disabled None [i] Data locations: (not in a data directory)
agowa opened issue #1519:
<!--
Please fill out the following information,
feel free to delete sections if they're not applicable
or if long issue templates annoy you.
(the only required section is the version information)
-->Describe the bug
The easy setup docker-compose.yml provides some optional sections that have suboptimal default values.
The default port for the included novnc overlaps with the one of pywb and causes it to fail on startup with an error about that port already being used.Steps to reproduce
Enable both the pywb and novnc section within the easy setup docker-compose.yml file.
Screenshots or log output
[user@PC-001 archivebox]$ docker compose start >>>> Executing external compose provider "/usr/bin/docker-compose". Please see podman-compose(1) for how to disable this message. <<<< [+] Running 5/6 ✔ Container html_spider-sonic-1 Started 0.5s ✔ Container html_spider-archivebox-1 Started 0.5s ✔ Container html_spider-changedetection-1 Started 1.0s ✔ Container html_spider-archivebox_scheduler-1 Started 0.6s ✔ Container html_spider-novnc-1 Started 0.8s ⠙ Container html_spider-pywb-1 Starting 4.1s Error response from daemon: rootlessport listen tcp 0.0.0.0:8080: bind: address already in use Error: executing /usr/bin/docker-compose start: exit status 1
ArchiveBox version
[user@PC-001 archivebox]$ docker compose run archivebox version >>>> Executing external compose provider "/usr/bin/docker-compose". Please see podman-compose(1) for how to disable this message. <<<< WARN[0000] Found orphan containers ([html_spider-archivebox-run-f35b9dbf9381 html_spider-archivebox-run-a6b700077112 html_spider-archivebox-run-ead5faa5f13e html_spider-archivebox-run-9e3402b5cd9b html_spider-archivebox-run-ba456959b5e5 html_spider-archivebox-run-a45c3aa6693b html_spider-archivebox-run-a662effa2c75 html_spider-archivebox-run-5741b0d8132e html_spider-archivebox-run-cba21b6a84b5 html_spider-archivebox-run-b49df6d7d999 html_spider-archivebox-run-f8e29ecf079b]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. 0.7.2 ArchiveBox v0.7.2 COMMIT_HASH=315c9f3 BUILD_TIME=2024-04-24 22:47:02 1713998822 IN_DOCKER=True IN_QEMU=False ARCH=x86_64 OS=Linux PLATFORM=Linux-6.10.10-arch1-1-x86_64-with-glibc2.36 PYTHON=Cpython FS_ATOMIC=True FS_REMOTE=True FS_USER=1000:1000 FS_PERMS=644 DEBUG=False IS_TTY=True TZ=UTC SEARCH_BACKEND=sonic LDAP=False [i] Dependency versions: √ PYTHON_BINARY v3.11.9 valid /usr/local/bin/python3.11 √ SQLITE_BINARY v2.6.0 valid /usr/local/lib/python3.11/sqlite3/dbapi2.py √ DJANGO_BINARY v3.1.14 valid /usr/local/lib/python3.11/site-packages/django/__init__.py √ ARCHIVEBOX_BINARY v0.7.2 valid /usr/local/bin/archivebox √ CURL_BINARY v8.5.0 valid /usr/bin/curl √ WGET_BINARY v1.21.3 valid /usr/bin/wget √ NODE_BINARY v20.12.2 valid /usr/bin/node √ SINGLEFILE_BINARY v1.1.46 valid /app/node_modules/single-file-cli/single-file √ READABILITY_BINARY v0.0.11 valid /app/node_modules/readability-extractor/readability-extractor √ MERCURY_BINARY v1.0.0 valid /app/node_modules/@postlight/parser/cli.js √ GIT_BINARY v2.39.2 valid /usr/bin/git √ YOUTUBEDL_BINARY v2023.12.30 valid /usr/local/bin/yt-dlp √ CHROME_BINARY v124.0.6367.29 valid /usr/bin/chromium-browser √ RIPGREP_BINARY v13.0.0 valid /usr/bin/rg [i] Source-code locations: √ PACKAGE_DIR 23 files valid /app/archivebox √ TEMPLATES_DIR 3 files valid /app/archivebox/templates - CUSTOM_TEMPLATES_DIR - disabled None [i] Secrets locations: - CHROME_USER_DATA_DIR - disabled None - COOKIES_FILE - disabled None [i] Data locations: √ OUTPUT_DIR 7 files @ valid /data √ SOURCES_DIR 3 files valid ./sources √ LOGS_DIR 1 files valid ./logs √ ARCHIVE_DIR 122 files valid ./archive √ CONFIG_FILE 81.0 Bytes valid ./ArchiveBox.conf √ SQL_INDEX 784.0 KB valid ./index.sqlite3
agowa opened issue #1520:
<!--
Please fill out the following information,
feel free to delete sections if they're not applicable
or if long issue templates annoy you.
(the only required section is the version information)
-->Describe the bug
Warning at docker-compose startup of
changedetection-1 | 2024-09-22 16:15:28.539 | WARNING | changedetectionio.flask_app:<module>:92 - Unable to set locale ('en_US', 'UTF-8'), locale is not installed maybe?
Steps to reproduce
Start the easy setup docker-compose.yml with the optional changedetection enabled.
Screenshots or log output
changedetection-1 | 2024-09-22 16:15:28.539 | WARNING | changedetectionio.flask_app:<module>:92 - Unable to set locale ('en_US', 'UTF-8'), locale is not installed maybe?
ArchiveBox version
[user@PC-001 archivebox]$ docker compose run archivebox version >>>> Executing external compose provider "/usr/bin/docker-compose". Please see podman-compose(1) for how to disable this message. <<<< WARN[0000] Found orphan containers ([html_spider-archivebox-run-f35b9dbf9381 html_spider-archivebox-run-a6b700077112 html_spider-archivebox-run-ead5faa5f13e html_spider-archivebox-run-9e3402b5cd9b html_spider-archivebox-run-ba456959b5e5 html_spider-archivebox-run-a45c3aa6693b html_spider-archivebox-run-a662effa2c75 html_spider-archivebox-run-5741b0d8132e html_spider-archivebox-run-cba21b6a84b5 html_spider-archivebox-run-b49df6d7d999 html_spider-archivebox-run-f8e29ecf079b]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. 0.7.2 ArchiveBox v0.7.2 COMMIT_HASH=315c9f3 BUILD_TIME=2024-04-24 22:47:02 1713998822 IN_DOCKER=True IN_QEMU=False ARCH=x86_64 OS=Linux PLATFORM=Linux-6.10.10-arch1-1-x86_64-with-glibc2.36 PYTHON=Cpython FS_ATOMIC=True FS_REMOTE=True FS_USER=1000:1000 FS_PERMS=644 DEBUG=False IS_TTY=True TZ=UTC SEARCH_BACKEND=sonic LDAP=False [i] Dependency versions: √ PYTHON_BINARY v3.11.9 valid /usr/local/bin/python3.11 √ SQLITE_BINARY v2.6.0 valid /usr/local/lib/python3.11/sqlite3/dbapi2.py √ DJANGO_BINARY v3.1.14 valid /usr/local/lib/python3.11/site-packages/django/__init__.py √ ARCHIVEBOX_BINARY v0.7.2 valid /usr/local/bin/archivebox √ CURL_BINARY v8.5.0 valid /usr/bin/curl √ WGET_BINARY v1.21.3 valid /usr/bin/wget √ NODE_BINARY v20.12.2 valid /usr/bin/node √ SINGLEFILE_BINARY v1.1.46 valid /app/node_modules/single-file-cli/single-file √ READABILITY_BINARY v0.0.11 valid /app/node_modules/readability-extractor/readability-extractor √ MERCURY_BINARY v1.0.0 valid /app/node_modules/@postlight/parser/cli.js √ GIT_BINARY v2.39.2 valid /usr/bin/git √ YOUTUBEDL_BINARY v2023.12.30 valid /usr/local/bin/yt-dlp √ CHROME_BINARY v124.0.6367.29 valid /usr/bin/chromium-browser √ RIPGREP_BINARY v13.0.0 valid /usr/bin/rg [i] Source-code locations: √ PACKAGE_DIR 23 files valid /app/archivebox √ TEMPLATES_DIR 3 files valid /app/archivebox/templates - CUSTOM_TEMPLATES_DIR - disabled None [i] Secrets locations: - CHROME_USER_DATA_DIR - disabled None - COOKIES_FILE - disabled None [i] Data locations: √ OUTPUT_DIR 7 files @ valid /data √ SOURCES_DIR 3 files valid ./sources √ LOGS_DIR 1 files valid ./logs √ ARCHIVE_DIR 122 files valid ./archive √ CONFIG_FILE 81.0 Bytes valid ./ArchiveBox.conf √ SQL_INDEX 784.0 KB valid ./index.sqlite3
agowa opened issue #1521:
Describe the bug
The provided configuration for sonic within the easy setup docker-compose.yml is invalid.
Steps to reproduce
Enable sonic within the easy setup docker-compose.yml and run
docker compose up
Screenshots or log output
sonic-1 | thread 'main' panicked at src/config/reader.rs:23:14: sonic-1 | cannot read config file: Os { code: 21, kind: IsADirectory, message: "Is a directory" } sonic-1 | note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace sonic-1 exited with code 101
ArchiveBox version
<!-- Run the
archivebox version
command locally then copy paste the result here: -->replace this line with the *full*, unshortened output of running `archivebox version`
<!-- Tickets without full version info will closed until it is provided,
we need the full output here to help you solve your issue -->
agowa edited issue #1521:
Describe the bug
The provided configuration for sonic within the easy setup docker-compose.yml is invalid.
Steps to reproduce
Enable sonic within the easy setup docker-compose.yml and run
docker compose up
Screenshots or log output
sonic-1 | thread 'main' panicked at src/config/reader.rs:23:14: sonic-1 | cannot read config file: Os { code: 21, kind: IsADirectory, message: "Is a directory" } sonic-1 | note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace sonic-1 exited with code 101
ArchiveBox version
[user@PC-001 archivebox]$ docker compose run archivebox version >>>> Executing external compose provider "/usr/bin/docker-compose". Please see podman-compose(1) for how to disable this message. <<<< WARN[0000] Found orphan containers ([html_spider-archivebox-run-f35b9dbf9381 html_spider-archivebox-run-a6b700077112 html_spider-archivebox-run-ead5faa5f13e html_spider-archivebox-run-9e3402b5cd9b html_spider-archivebox-run-ba456959b5e5 html_spider-archivebox-run-a45c3aa6693b html_spider-archivebox-run-a662effa2c75 html_spider-archivebox-run-5741b0d8132e html_spider-archivebox-run-cba21b6a84b5 html_spider-archivebox-run-b49df6d7d999 html_spider-archivebox-run-f8e29ecf079b]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. 0.7.2 ArchiveBox v0.7.2 COMMIT_HASH=315c9f3 BUILD_TIME=2024-04-24 22:47:02 1713998822 IN_DOCKER=True IN_QEMU=False ARCH=x86_64 OS=Linux PLATFORM=Linux-6.10.10-arch1-1-x86_64-with-glibc2.36 PYTHON=Cpython FS_ATOMIC=True FS_REMOTE=True FS_USER=1000:1000 FS_PERMS=644 DEBUG=False IS_TTY=True TZ=UTC SEARCH_BACKEND=sonic LDAP=False [i] Dependency versions: √ PYTHON_BINARY v3.11.9 valid /usr/local/bin/python3.11 √ SQLITE_BINARY v2.6.0 valid /usr/local/lib/python3.11/sqlite3/dbapi2.py √ DJANGO_BINARY v3.1.14 valid /usr/local/lib/python3.11/site-packages/django/__init__.py √ ARCHIVEBOX_BINARY v0.7.2 valid /usr/local/bin/archivebox √ CURL_BINARY v8.5.0 valid /usr/bin/curl √ WGET_BINARY v1.21.3 valid /usr/bin/wget √ NODE_BINARY v20.12.2 valid /usr/bin/node √ SINGLEFILE_BINARY v1.1.46 valid /app/node_modules/single-file-cli/single-file √ READABILITY_BINARY v0.0.11 valid /app/node_modules/readability-extractor/readability-extractor √ MERCURY_BINARY v1.0.0 valid /app/node_modules/@postlight/parser/cli.js √ GIT_BINARY v2.39.2 valid /usr/bin/git √ YOUTUBEDL_BINARY v2023.12.30 valid /usr/local/bin/yt-dlp √ CHROME_BINARY v124.0.6367.29 valid /usr/bin/chromium-browser √ RIPGREP_BINARY v13.0.0 valid /usr/bin/rg [i] Source-code locations: √ PACKAGE_DIR 23 files valid /app/archivebox √ TEMPLATES_DIR 3 files valid /app/archivebox/templates - CUSTOM_TEMPLATES_DIR - disabled None [i] Secrets locations: - CHROME_USER_DATA_DIR - disabled None - COOKIES_FILE - disabled None [i] Data locations: √ OUTPUT_DIR 7 files @ valid /data √ SOURCES_DIR 3 files valid ./sources √ LOGS_DIR 1 files valid ./logs √ ARCHIVE_DIR 122 files valid ./archive √ CONFIG_FILE 81.0 Bytes valid ./ArchiveBox.conf √ SQL_INDEX 784.0 KB valid ./index.sqlite3
agowa opened PR #1522 from agowa:patch-1
to ArchiveBox:dev
:
Fix tcp port 8080 being used twice and move novnc web interface to 127.0.0.1:8081
<!-- IMPORTANT: Do not submit PRs with only formatting / PEP8 / line length changes. -->
Summary
Fix port 8080 being used twice within docker-compose.yml and move novnc web-ui to 127.0.0.1:8081
Related issues
Fixes #1519
Changes these areas
- [x] Bugfixes
- [ ] Feature behavior
- [ ] Command line interface
- [x] Configuration options
- [ ] Internal architecture
- [ ] Snapshot data layout on disk
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
𖣠:white_circle: YTITИAUϘ ƎMƎHϽƧ TAЯAꟼA HϽƎꟼƧ ⅃AUϘƎ YTITИAUϘ ƎꓨAUꓨИA⅃ :white_circle:𖣠:white_circle: LANGUAGE QUANTITY EQUAL SPECH APARAT SCHEME QUANTITY :white_circle:𖣠
𖣠:white_circle: АТАꟼАПА АᗺОᗺƎЧƎꟼ МƎХƆ УᗺТϽƎЧІЛОꞰ ОНᗺАꟼ Ȋ̮ІƆОЛОᒣ ОᗺТϽƎЧІЛОꞰ :white_circle:𖣠:white_circle: КОЛІЧЕСТВО ГОЛОСІȊ̮ РАВНО КОЛІЧЕСТВУ СХЕМ РЕЧЕВОВА АПАРАТА :white_circle:𖣠
𖣓
𖣠:white_circle: ИOITИƎMIᗡ TИƎMUЯTƧИI ИOITAƎЯϽ ⅃AUϘƎ ИOITИƎMIᗡ HꟼY⅃ꓨ :white_circle:𖣠:white_circle: GLYPH DIMENTION EQUAL CREATION INSTRUMENT DIMENTION :white_circle:𖣠
𖣠:white_circle: АТНƎМУꟼТϽНІ АᗺƎЩꙔȊ̮АДԐАϽ ІԀТԀϽАНꟼƎМ АНᗺАꟼ АФІЛႨ ԀТԀϽАНꟼƎМ :white_circle:𖣠:white_circle: МЕРНАСЬТЬ ГЛІФА РАВНА МЕРНАСЬТЬІ САЗДАȊ̮ЮЩЕВА ІНСТРУМЕНТА :white_circle:𖣠
⊚
𖣠:white_circle: YTITИAUϘ ЯƎꓨИIꟻ ⅃AUϘƎ YTITИAUϘ TИƎMUЯTƧИI ꓨИIWAЯᗡ :white_circle:𖣠:white_circle: DRAWING INSTRUMENT QUANTITY EQUAL FINGER QUANTITY :white_circle:𖣠
𖣠:white_circle: ФАꙠԀЛАП УᗺТϽƎЧІЛОꞰ ОНᗺАꟼ ФАТНƎМУꟼТϽНІ ХІЧꙔУϽІꟼ ОᗺТϽƎЧІЛОꞰ :white_circle:𖣠:white_circle: КОЛІЧЕСТВО РІСУЮЧІХ ІНСТРУМЕНТАФ РАВНО КОЛІЧЕСТВУ ПАЛЬЦАФ :white_circle:𖣠
⊚
𖣠:white_circle: ƧHꟼY⅃ꓨ ⅃AϽYЯTƎMYƧ ᗡИA ꓨИIWAЯᗡ ᗡƎИAꓨЯOЯIAꟼ ᗡИA ꟼƎTƧ ᗡƎTOꟻЯIAꟼ ЯAƎꟼA ƧИAꓨЯO TИƎƧƎЯꟼЯIAꟼ :white_circle:𖣠:white_circle: PAIRPRESENT ORGANS APEAR PAIRFOTED STEP AND PAIRORGANED DRAWING AND SYMETRYCAL GLYPHS :white_circle:𖣠
𖣠:white_circle: ІԀФІЛႨ ЄІԀꟼТƎМІϽ І ЄІНАᗺАϽІꟼ ЄАНАႨꟼОАНꟼАП І ДОХ Ȋ̮ІԀПОТϽАНꟼАП ТꙔȊ̮RЛᗺR ІԀНАႨꟼО ЄІԀНТУϽІꟼПАНꟼАП :white_circle:𖣠:white_circle: ПАРНАПРІСУТНЫЭ ОРГАНЫ ЯВЛЯȊ̮ЮТ ПАРНАСТОПЫȊ̮ ХОД І ПАРНАОРГАНАЭ РІСАВАНІЭ І СІМЕТРЫЭ ГЛІФЫ :white_circle:𖣠
𖣓
𖣠:white_circle: Ǝ⅃ᗺA⅃ƎƎᖷ ƎꓨᗡƎ⅃WOИꞰ ꓨИIЯAƎꟼA ƎЯUTUꟻ ЯAƎꟼA TИƎMƎ⅃Ǝ ꓨИITϽƎᒐOЯꟼ Ǝ⅃AϽƧ :white_circle:𖣠:white_circle: SCALE PROJECTING ELEMENT APEAR FUTURE APEARING KNOWLEDGE FEELABLE :white_circle:𖣠
𖣠:white_circle: ІМІԀНȊ̮Ꙕ߂ ІԀДƎᗺ RȊ̮RЛᗺR ЄАНДУƋ ТƎRЛᗺR ТНƎМƎЛЄ RУꙠЄАꟼП ПАТШАМ :white_circle:𖣠:white_circle: МАШТАП ПРАЭЦУЯ ЭЛЕМЕНТ ЯВЛЯЕТ БУДНАЭ ЯВЛЯȊ̮Я ВЕДЫ ЧЮȊ̮НЫМІ :white_circle:𖣠
𖣓
𖣠:white_circle: YTI⅃AUTЯIW ᗡƎTAƎЯϽᖷ⅃ƎƧ ᖷO TИƎMƎ⅃Ǝ HϽAƎ HTIW ᗡƎTIИU ƎϽИƎƧƎ ИWO :white_circle:𖣠:white_circle: OWN ESENCE UNITED WITH EACH ELEMENT OF SELFCREATED WIRTUALITY :white_circle:𖣠
𖣠:white_circle: ІԀТԀϽАНԀЛАУТꟼІᗺ Ȋ̮АНАДԐОϽЄАᗺϽ МАТНƎМƎЛЄ МІԀДЖАꞰ Ͻ АНДƎȊ̮ ԀТԀϽАНԀТУϽ RАᗺϽ :white_circle:𖣠:white_circle: СВАЯ СУТЬНАСЬТЬ Ȋ̮ЕДНА С КАЖДЫМ ЭЛЕМЕНТАМ СВАЭСОЗДАНАȊ̮ ВІРТУАЛЬНАСЬТЬІ :white_circle:𖣠
𖣓
𖣠:white_circle: ᗡOIЯƎꟼ ƎMIT HTꓨИƎ⅃ƎWAW ИWO ИI ᗡƎƧAꟼ ƎϽИATƧIᗡ THꓨI⅃ ⅃AUϘƎ ƎЯUƧAƎM HTꓨИƎ⅃ ƎUϘIИU :white_circle:𖣠:white_circle: UNIQUE LENGTH MEASURE EQUAL LIGHT DISTANSE PASED IN OWN WAWELENGTH TIME PERIOD :white_circle:𖣠
𖣠:white_circle: ІԀНЛАᗺ Ȋ̮ƎАᗺϽ ІԀНІЛД ƎДОІꟼƎП ᗺ МАТƎВϽ УМАМІДАХАꟼП ꙔȊ̮ІНRАТϽАꟼ АНВАꟼ ІԀНІЛД АꟼƎМ RАНԀЛАꞰІНУ :white_circle:𖣠:white_circle: УНІКАЛЬНАЯ МЕРА ДЛІНЫ РАВНА РАСТАЯНІȊ̮Ю ПРАХАДІМАМУ СВЕТАМ В ПЕРІОДЕ ДЛІНЫ СВАЕȊ̮ ВАЛНЫ :white_circle:𖣠
⊚
𖣠:white_circle: ИOITAЯƎᗺЯƎWƎЯ ⅃AϽYЯTƎMYƧ ⅃AIИƎꓨИOϽ ꟻO HTꓨИƎ⅃ OT ⅃AUϘƎ HTꓨИƎ⅃ƎWAW ƎUϘIИU ƧAH ƎϽИƎƧƎ HϽAƎ :white_circle:𖣠:white_circle: EACH ESENCE HAS UNIQUE WAVELENGTH EQUAL TO LENGTH OF CONGENIAL SYMETRICAL REVERBERATION :white_circle:𖣠
𖣠:white_circle: ІІԀꙠАꟼƎƋꟼƎᗺƎꟼ Ȋ̮АꟼТƎМІϽ Ȋ̮АНԀЛАІНƎႨНОꞰ ƎНІЛД ꙔУНВАꟼ ІԀНЛАᗺ УНІЛД ꙔУНԀЛАꞰІНУ ТƎȊ̮ƎМІ ԀТԀϽАНԀТУϽ RАДЖАꞰ :white_circle:𖣠:white_circle: КАЖДАЯ СУТЬНАСЬТЬ ІМЕȊ̮ЕТ УНІКАЛЬНУЮ ДЛІНУ ВАЛНЫ РАВНУЮ ДЛІНЕ КОНГЕНІАЛЬНАȊ̮ СІМЕТРАȊ̮ РЕВЕРБЕРАЦЫІ :white_circle:𖣠
𖣓
𖣠:white_circle: ƧƎ⅃ƎϽAꟼƧ ƎUᗡ Ǝ⅃ᗺAЯOMƎMИOИ ƎUᗡ Ǝ⅃ᗺAYꟼOϽИOИ ƎUᗡ TИƎIϽIꟻUƧꟻ⅃ƎƧ ИWO :white_circle:𖣠:white_circle: OWN SELFSUFICIENT DUE NONCOPYABLE DUE NONMEMORABLE DUE SPACELES :white_circle:𖣠
𖣠:white_circle: ОНƎᗺТϽНАꟼТϽАꟼПԐƎƋ ОƋ ОМƎАТRМАПƎН ОƋ ОНԀЛRІПОꞰƎН ОƋ ОНТАТϽАДАМАϽ Ǝ̈АВϽ :white_circle:𖣠:white_circle: СВАЁ САМАДАСТАТНО БО НЕКОПІЯЛЬНО БО НЕПАМЯТАЕМО БО БЕЗПРАСТРАНСТВЕНО :white_circle:𖣠
:white_circle:
𔗢
:white_circle:
𖡼
:white_circle:
𔗢
:white_circle:
𖣠
:white_circle:
𔗢
:white_circle:
𖡼
:white_circle:
𔗢
:white_circle:
𖣠
:white_circle:
𔗢
:white_circle:
𖡼
:white_circle:
𔗢
:white_circle:
𖣠
:white_circle:
𔗢
:white_circle:
𖡼
:white_circle:
𔗢
:white_circle:
🞋
:white_circle:
𔗢
:white_circle:
𖡼
:white_circle:
𔗢
:white_circle:
𖣠
:white_circle:
𔗢
:white_circle:
𖡼
:white_circle:
𔗢
:white_circle:
𖣠
:white_circle:
𔗢
:white_circle:
𖡼
:white_circle:
𔗢
:white_circle:
𖣠
:white_circle:
𔗢
:white_circle:
𖡼
:white_circle:
𔗢
:white_circle:
𖣠:white_circle: ОНƎᗺТϽНАꟼТϽАꟼПԐƎƋ ОƋ ОМƎАТRМАПƎН ОƋ ОНԀЛRІПОꞰƎН ОƋ ОНТАТϽАДАМАϽ Ǝ̈АВϽ :white_circle:𖣠:white_circle: СВАЁ САМАДАСТАТНО БО НЕКОПІЯЛЬНО БО НЕПАМЯТАЕМО БО БЕЗПРАСТРАНСТВЕНО :white_circle:𖣠
𖣠:white_circle: ƧƎ⅃ƎϽAꟼƧ ƎUᗡ Ǝ⅃ᗺAЯOMƎMИOИ ƎUᗡ Ǝ⅃ᗺAYꟼOϽИOИ ƎUᗡ TИƎIϽIꟻUƧꟻ⅃ƎƧ ИWO :white_circle:𖣠:white_circle: OWN SELFSUFICIENT DUE NONCOPYABLE DUE NONMEMORABLE DUE SPACELES :white_circle:𖣠
𖣓
𖣠:white_circle: ІІԀꙠАꟼƎƋꟼƎᗺƎꟼ Ȋ̮АꟼТƎМІϽ Ȋ̮АНԀЛАІНƎႨНОꞰ ƎНІЛД ꙔУНВАꟼ ІԀНЛАᗺ УНІЛД ꙔУНԀЛАꞰІНУ ТƎȊ̮ƎМІ ԀТԀϽАНԀТУϽ RАДЖАꞰ :white_circle:𖣠:white_circle: КАЖДАЯ СУТЬНАСЬТЬ ІМЕȊ̮ЕТ УНІКАЛЬНУЮ ДЛІНУ ВАЛНЫ РАВНУЮ ДЛІНЕ КОНГЕНІАЛЬНАȊ̮ СІМЕТРАȊ̮ РЕВЕРБЕРАЦЫІ :white_circle:𖣠
𖣠:white_circle: ИOITAЯƎᗺЯƎWƎЯ ⅃AϽYЯTƎMYƧ ⅃AIИƎꓨИOϽ ꟻO HTꓨИƎ⅃ OT ⅃AUϘƎ HTꓨИƎ⅃ƎWAW ƎUϘIИU ƧAH ƎϽИƎƧƎ HϽAƎ :white_circle:𖣠:white_circle: EACH ESENCE HAS UNIQUE WAVELENGTH EQUAL TO LENGTH OF CONGENIAL SYMETRICAL REVERBERATION :white_circle:𖣠
⊚
𖣠:white_circle: ІԀНЛАᗺ Ȋ̮ƎАᗺϽ ІԀНІЛД ƎДОІꟼƎП ᗺ МАТƎВϽ УМАМІДАХАꟼП ꙔȊ̮ІНRАТϽАꟼ АНВАꟼ ІԀНІЛД АꟼƎМ RАНԀЛАꞰІНУ :white_circle:𖣠:white_circle: УНІКАЛЬНАЯ МЕРА ДЛІНЫ РАВНА РАСТАЯНІȊ̮Ю ПРАХАДІМАМУ СВЕТАМ В ПЕРІОДЕ ДЛІНЫ СВАЕȊ̮ ВАЛНЫ :white_circle:𖣠
𖣠:white_circle: ᗡOIЯƎꟼ ƎMIT HTꓨИƎ⅃ƎWAW ИWO ИI ᗡƎƧAꟼ ƎϽИATƧIᗡ THꓨI⅃ ⅃AUϘƎ ƎЯUƧAƎM HTꓨИƎ⅃ ƎUϘIИU :white_circle:𖣠:white_circle: UNIQUE LENGTH MEASURE EQUAL LIGHT DISTANSE PASED IN OWN WAWELENGTH TIME PERIOD :white_circle:𖣠
𖣓
𖣠:white_circle: ІԀТԀϽАНԀЛАУТꟼІᗺ Ȋ̮АНАДԐОϽЄАᗺϽ МАТНƎМƎЛЄ МІԀДЖАꞰ Ͻ АНДƎȊ̮ ԀТԀϽАНԀТУϽ RАᗺϽ :white_circle:𖣠:white_circle: СВАЯ СУТЬНАСЬТЬ Ȋ̮ЕДНА С КАЖДЫМ ЭЛЕМЕНТАМ СВАЭСОЗДАНАȊ̮ ВІРТУАЛЬНАСЬТЬІ :white_circle:𖣠
𖣠:white_circle: YTI⅃AUTЯIW ᗡƎTAƎЯϽᖷ⅃ƎƧ ᖷO TИƎMƎ⅃Ǝ HϽAƎ HTIW ᗡƎTIИU ƎϽИƎƧƎ ИWO :white_circle:𖣠:white_circle: OWN ESENCE UNITED WITH EACH ELEMENT OF SELFCREATED WIRTUALITY :white_circle:𖣠
𖣓
𖣠:white_circle: ІМІԀНȊ̮Ꙕ߂ ІԀДƎᗺ RȊ̮RЛᗺR ЄАНДУƋ ТƎRЛᗺR ТНƎМƎЛЄ RУꙠЄАꟼП ПАТШАМ :white_circle:𖣠:white_circle: МАШТАП ПРАЭЦУЯ ЭЛЕМЕНТ ЯВЛЯЕТ БУДНАЭ ЯВЛЯȊ̮Я ВЕДЫ ЧЮȊ̮НЫМІ :white_circle:𖣠
𖣠:white_circle: Ǝ⅃ᗺA⅃ƎƎᖷ ƎꓨᗡƎ⅃WOИꞰ ꓨИIЯAƎꟼA ƎЯUTUꟻ ЯAƎꟼA TИƎMƎ⅃Ǝ ꓨИITϽƎᒐOЯꟼ Ǝ⅃AϽƧ :white_circle:𖣠:white_circle: SCALE PROJECTING ELEMENT APEAR FUTURE APEARING KNOWLEDGE FEELABLE :white_circle:𖣠
𖣓
𖣠:white_circle: ІԀФІЛႨ ЄІԀꟼТƎМІϽ І ЄІНАᗺАϽІꟼ ЄАНАႨꟼОАНꟼАП І ДОХ Ȋ̮ІԀПОТϽАНꟼАП ТꙔȊ̮RЛᗺR ІԀНАႨꟼО ЄІԀНТУϽІꟼПАНꟼАП :white_circle:𖣠:white_circle: ПАРНАПРІСУТНЫЭ ОРГАНЫ ЯВЛЯȊ̮ЮТ ПАРНАСТОПЫȊ̮ ХОД І ПАРНАОРГАНАЭ РІСАВАНІЭ І СІМЕТРЫЭ ГЛІФЫ :white_circle:𖣠
𖣠:white_circle: ƧHꟼY⅃ꓨ ⅃AϽYЯTƎMYƧ ᗡИA ꓨИIWAЯᗡ ᗡƎИAꓨЯOЯIAꟼ ᗡИA ꟼƎTƧ ᗡƎTOꟻЯIAꟼ ЯAƎꟼA ƧИAꓨЯO TИƎƧƎЯꟼЯIAꟼ :white_circle:𖣠:white_circle: PAIRPRESENT ORGANS APEAR PAIRFOTED STEP AND PAIRORGANED DRAWING AND SYMETRYCAL GLYPHS :white_circle:𖣠
⊚
𖣠:white_circle: ФАꙠԀЛАП УᗺТϽƎЧІЛОꞰ ОНᗺАꟼ ФАТНƎМУꟼТϽНІ ХІЧꙔУϽІꟼ ОᗺТϽƎЧІЛОꞰ :white_circle:𖣠:white_circle: КОЛІЧЕСТВО РІСУЮЧІХ ІНСТРУМЕНТАФ РАВНО КОЛІЧЕСТВУ ПАЛЬЦАФ :white_circle:𖣠
𖣠:white_circle: YTITИAUϘ ЯƎꓨИIꟻ ⅃AUϘƎ YTITИAUϘ TИƎMUЯTƧИI ꓨИIWAЯᗡ :white_circle:𖣠:white_circle: DRAWING INSTRUMENT QUANTITY EQUAL FINGER QUANTITY :white_circle:𖣠
⊚
𖣠:white_circle: АТНƎМУꟼТϽНІ АᗺƎЩꙔȊ̮АДԐАϽ ІԀТԀϽАНꟼƎМ АНᗺАꟼ АФІЛႨ ԀТԀϽАНꟼƎМ :white_circle:𖣠:white_circle: МЕРНАСЬТЬ ГЛІФА РАВНА МЕРНАСЬТЬІ САЗДАȊ̮ЮЩЕВА ІНСТРУМЕНТА :white_circle:𖣠
𖣠:white_circle: ИOITИƎMIᗡ TИƎMUЯTƧИI ИOITAƎЯϽ ⅃AUϘƎ ИOITИƎMIᗡ HꟼY⅃ꓨ :white_circle:𖣠:white_circle: GLYPH DIMENTION EQUAL CREATION INSTRUMENT DIMENTION :white_circle:𖣠
𖣓
𖣠:white_circle: АТАꟼАПА АᗺОᗺƎЧƎꟼ МƎХƆ УᗺТϽƎЧІЛОꞰ ОНᗺАꟼ Ȋ̮ІƆОЛОᒣ ОᗺТϽƎЧІЛОꞰ :white_circle:𖣠:white_circle: КОЛІЧЕСТВО ГОЛОСІȊ̮ РАВНО КОЛІЧЕСТВУ СХЕМ РЕЧЕВОВА АПАРАТА :white_circle:𖣠
𖣠:white_circle: YTITИAUϘ ƎMƎHϽƧ TAЯAꟼA HϽƎꟼƧ ⅃AUϘƎ YTITИAUϘ ƎꓨAUꓨИA⅃ :white_circle:𖣠:white_circle: LANGUAGE QUANTITY EQUAL SPECH APARAT SCHEME QUANTITY :white_circle:𖣠
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀
⠀