Первый коммит с ансибле скриптами для установки telemt.

This commit is contained in:
B4D_US3R 2026-06-04 11:55:23 +05:00
commit ca14120c0e
10 changed files with 90 additions and 0 deletions

27
README.md Normal file
View file

@ -0,0 +1,27 @@
# Ansible Telemt
Так как блокировки в РФ достигли неимоверных масштабов, когда половина интернета не работает нормально, даже я, человек, которого считают "зетником" (кекв), подустал от всего этого. Так как ситуация такая, что принцип работы ТСПУ не известен, а в тележеньку выходить хочется, я набросал Ansible скрипт, который ставит Telemt. Да, кривой, косой, но тем не менее он позволяет раскатывать Telemt без входа на сервер
## Как использовать?
На компьютере должен быть установлен Ansible и Ansible Community. После установки необходимо выполнить команду:
```
ansible-playbook -i "server_ip," -u root --key-file ~/amnezia playbook.yml -t install
```
Где `server_ip` - IP-адрес сервера
По умолчанию Telemt будет прослушивать 443 порт, а в качестве TLS будет указан `max.ru`. Эти настроки можно кастомизировать через ключи `-e`:
```
ansible-playbook -i "server_ip," -u root --key-file ~/amnezia playbook.yml -t install -e port=8443 -e tls_domain=vk.com
```
- `port` - меняет порт, на котором Telemt будет прослушивать соединение
- `tls_domain` - меняет домен для маскировки
## Как удалить?
Для удаления Telemt необходимо использовать следующую команду:
```
ansible-playbook -i "server_ip," -u root --key-file ~/amnezia playbook.yml -t uninstall
```
Боже, рунет храни...

6
ansible.cfg Normal file
View file

@ -0,0 +1,6 @@
[defaults]
host_key_checking = False
retry_files_save_path = /tmp
roles = ./roles
gathering = explicit
remote_tmp = /tmp/${USER}/ansible

7
playbook.yml Normal file
View file

@ -0,0 +1,7 @@
---
- name: основной плейбук для управления telemt
hosts: all
roles:
- { role: roles/install, tags: install }
- { role: roles/uninstall, tags: uninstall }

View file

@ -0,0 +1,2 @@
tls_domain: max.ru
port: 443

View file

@ -0,0 +1,7 @@
---
- name: get install.sh
get_url:
url: https://raw.githubusercontent.com/telemt/telemt/main/install.sh
dest: /tmp/install.sh
owner: root
mode: 755

View file

@ -0,0 +1,15 @@
---
- name: gen hex
set_fact:
random_hex: "{{ query('community.general.random_string', upper=false, lower=false, override_special=hex_chars, numbers=false, length=32) }}"
vars:
hex_chars: "0123456789ABCDEF"
- name: run install script
shell:
cmd: /tmp/install.sh -d {{ tls_domain }} -s {{ random_hex[0] }} -p {{ port }} -l 2
register: install_result
- name: output msg
debug:
msg: "{{ install_result.stdout.split('\n') }}"

View file

@ -0,0 +1,5 @@
---
- name: загрузка установочного скрипта
include_tasks: download.yml
- name: запуск установочного скрипта
include_tasks: install.yml

View file

@ -0,0 +1,7 @@
---
- name: get install.sh
get_url:
url: https://raw.githubusercontent.com/telemt/telemt/main/install.sh
dest: /tmp/install.sh
owner: root
mode: 755

View file

@ -0,0 +1,5 @@
---
- name: загрузка установочного скрипта
include_tasks: download.yml
- name: удаление telemt
include_tasks: uninstall.yml

View file

@ -0,0 +1,9 @@
---
- name: удаление telemt
shell:
cmd: /tmp/install.sh purge -l 2
register: uninstall_result
- name: вывод сообщения
debug:
msg: "{{uninstall_result.stdout.split('\n')}}"