ChatECNU
ChatECNU is the ChatArch ECNU campus portal and campus-network automation package extracted from ChatNet.
It owns ECNU application-layer behavior: login/session handling, home/user/log reads, visitor account operations, ECNU ChatEnv schema, optional CAPTCHA automation, and a fail-closed wrapper around the external ECNU campus-network auth_client binary. Generic browser/session/table helpers are imported from ChatNet.
Quick start
pip install -e ".[dev]"
chatecnu --help
python -m pytest -q
Optional CAPTCHA automation:
pip install -e ".[captcha]"
chatecnu login --username "$ECNU_USERNAME" -i
Campus-network auth_client wrapper:
# Check current auth_client login state; this does not require a password.
chatecnu network-auth check \
--auth-client /usr/local/bin/auth_client \
--json
# Put ECNU_USERNAME/ECNU_PASSWORD in process env or ChatEnv, or use -i to prompt.
# Default login is fail-closed: it will not pass a password to auth_client argv.
chatecnu network-auth ensure-login \
--auth-client /usr/local/bin/auth_client \
-I
# Legacy opt-in only after accepting same-host process-list exposure:
chatecnu network-auth ensure-login \
--auth-client /usr/local/bin/auth_client \
--allow-argv-password \
-I
ChatECNU does not vendor or redistribute the Linux-only auth_client binary. Pass its runtime path explicitly or set ECNU_AUTH_CLIENT in ChatEnv. Set ECNU_AUTH_SETTING_FILE only when your deployment needs an auth_client setting file; otherwise ChatECNU runs the same bare auth_client check shape as the legacy Precision scripts. The upstream binary appears to accept passwords only through -p PASSWORD; therefore ChatECNU refuses login by default and requires --allow-argv-password / allow_argv_password=True for the legacy wrapper path.
Sensitive values such as passwords, cookies, SMS codes, and session tokens must not be printed or committed.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chatecnu-0.1.1.tar.gz.
File metadata
- Download URL: chatecnu-0.1.1.tar.gz
- Upload date:
- Size: 24.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf82d3d5a9019eb0b41e181da09fbeb017bb2e0dccca07a66825ae21f5721463
|
|
| MD5 |
7e9096505f7695a9b2965c32c7bdf170
|
|
| BLAKE2b-256 |
3b96c24b1921be6272c1e78524c7db41958c3b314bb7c893a8358c41b788af10
|
Provenance
The following attestation bundles were made for chatecnu-0.1.1.tar.gz:
Publisher:
publish.yml on ChatArch/ChatECNU
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chatecnu-0.1.1.tar.gz -
Subject digest:
cf82d3d5a9019eb0b41e181da09fbeb017bb2e0dccca07a66825ae21f5721463 - Sigstore transparency entry: 2339627408
- Sigstore integration time:
-
Permalink:
ChatArch/ChatECNU@9c6e1f1c83bebf3c2f9e2155e45d03b2c92f9bb3 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/ChatArch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9c6e1f1c83bebf3c2f9e2155e45d03b2c92f9bb3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file chatecnu-0.1.1-py3-none-any.whl.
File metadata
- Download URL: chatecnu-0.1.1-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98120d05d66d2f459c300f9af4074ca10d66d97cad54bbc71231ef48d2cc59af
|
|
| MD5 |
e5a4c9723623ec7880f4d4a85cda1f92
|
|
| BLAKE2b-256 |
1833504b2f6eabb76fd28cd6d0ddd081e2c6f9200a5df51c6d05c0f06e5d859d
|
Provenance
The following attestation bundles were made for chatecnu-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on ChatArch/ChatECNU
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chatecnu-0.1.1-py3-none-any.whl -
Subject digest:
98120d05d66d2f459c300f9af4074ca10d66d97cad54bbc71231ef48d2cc59af - Sigstore transparency entry: 2339627439
- Sigstore integration time:
-
Permalink:
ChatArch/ChatECNU@9c6e1f1c83bebf3c2f9e2155e45d03b2c92f9bb3 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/ChatArch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9c6e1f1c83bebf3c2f9e2155e45d03b2c92f9bb3 -
Trigger Event:
push
-
Statement type: