Unofficial Aternos API written in Python
This repository has been archived on 2024-07-30. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2022-08-22 09:55:08 +04:00
docs PEP8, mkdocs, corrected logo 2022-06-23 15:13:56 +04:00
examples PEP8, mkdocs, corrected logo 2022-06-23 15:13:56 +04:00
logo PEP8, mkdocs, corrected logo 2022-06-23 15:13:56 +04:00
python_aternos Bugfixes: Cloudflare bypassing, JS parser; tests, pylint, makefile 2022-08-22 09:55:08 +04:00
tests Bugfixes: Cloudflare bypassing, JS parser; tests, pylint, makefile 2022-08-22 09:55:08 +04:00
.gitignore Makefile 2022-07-26 10:29:22 +04:00
aternos.txt Detailed description of API that is not integrated yet 2021-10-14 18:52:35 +04:00
aternos_ws.txt WebSocket API, token parser updates 2022-01-22 15:10:30 +04:00
cloudflare.html Bugfixes in Client, Cloudflare page example 2022-07-26 10:07:12 +04:00
LICENSE Initial commit 2021-09-17 09:21:17 +04:00
Makefile Bugfixes: Cloudflare bypassing, JS parser; tests, pylint, makefile 2022-08-22 09:55:08 +04:00
mkdocs.yml PEP8, mkdocs, corrected logo 2022-06-23 15:13:56 +04:00
NOTICE Readme, v1.1.1 2022-07-26 10:22:49 +04:00
pylintrc Bugfixes: Cloudflare bypassing, JS parser; tests, pylint, makefile 2022-08-22 09:55:08 +04:00
pyproject.toml Add files via upload 2021-10-08 19:35:20 +04:00
README.md Readme, v1.1.1 2022-07-26 10:22:49 +04:00
requirements.txt Bugfixes: Cloudflare bypassing, JS parser; tests, pylint, makefile 2022-08-22 09:55:08 +04:00
setup.cfg Module docstrings, pylint, pep8 2022-07-01 14:28:39 +04:00
setup.py Bugfixes: Cloudflare bypassing, JS parser; tests, pylint, makefile 2022-08-22 09:55:08 +04:00
test.sh Bugfixes: Cloudflare bypassing, JS parser; tests, pylint, makefile 2022-08-22 09:55:08 +04:00

Python-Aternos Logo


Python Aternos

An unofficial Aternos API written in Python.
It uses aternos' private API and html parsing.

Installing

pip install python-aternos

Note for Windows users:
Install lxml package from here if you have a problem with it,
and then execute pip install --no-deps python-aternos

Usage

To use Aternos API in your Python script, import it and login with your username and password/MD5.

Then request the servers list using list_servers().
You can start/stop your Aternos server now, calling start() or stop().

Here is an example how to use the API:

# Import
from python_aternos import Client

# Log in
aternos = Client.from_credentials('example', 'test123')
# ----OR----
aternos = Client.from_hashed('example', 'cc03e747a6afbbcbf8be7668acfebee5')
# ----OR----
aternos = Client.restore_session()

# Returns AternosServer list
servs = aternos.list_servers()

# Get the first server by the 0 index
myserv = servs[0]

# Start
myserv.start()
# Stop
myserv.stop()

# You can also find server by IP
testserv = None
for serv in servs:
    if serv.address == 'test.aternos.org':
        testserv = serv
if testserv != None:
    # Prints a server softaware and its version
    # (for example, "Vanilla 1.12.2")
    print(testserv.software, testserv.version)
    # Starts server
    testserv.start()

The documentation have not made yet. View examples and ask in the issues.

More examples / on GitHub

Changelog

Version Description
v0.1 The first release.
v0.2 Fixed import problem.
v0.3 Implemented files API, added typization.
v0.4 Implemented configuration API, some bugfixes.
v0.5 The API was updated corresponding to new Aternos security methods. Huge thanks to lusm554.
v0.6/v1.0.0 Code refactoring, websockets API and session saving to prevent detecting automation access.
v1.0.x Lots of bugfixes, changed versioning (SemVer).
v1.1.x Documentation, unit tests, pylint, bugfixes, changes in atwss.
v1.2.x Solution for #25
v1.3.x Full implementation of config and software API.
v1.4.x Shared access API and Google Drive backups.

License

License Notice:

Copyright 2021-2022 Chechkenev Andrey, lusm554, ghrlt, NotNalin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

You don't need to attribute me, if you are just using this module installed from PIP or wheel.