Первый коммит с ансибле скриптами для установки telemt.
This commit is contained in:
commit
ca14120c0e
10 changed files with 90 additions and 0 deletions
27
README.md
Normal file
27
README.md
Normal 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
6
ansible.cfg
Normal 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
7
playbook.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
- name: основной плейбук для управления telemt
|
||||
hosts: all
|
||||
|
||||
roles:
|
||||
- { role: roles/install, tags: install }
|
||||
- { role: roles/uninstall, tags: uninstall }
|
||||
2
roles/install/defaults/main.yml
Normal file
2
roles/install/defaults/main.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
tls_domain: max.ru
|
||||
port: 443
|
||||
7
roles/install/tasks/download.yml
Normal file
7
roles/install/tasks/download.yml
Normal 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
|
||||
15
roles/install/tasks/install.yml
Normal file
15
roles/install/tasks/install.yml
Normal 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') }}"
|
||||
5
roles/install/tasks/main.yml
Normal file
5
roles/install/tasks/main.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- name: загрузка установочного скрипта
|
||||
include_tasks: download.yml
|
||||
- name: запуск установочного скрипта
|
||||
include_tasks: install.yml
|
||||
7
roles/uninstall/tasks/download.yml
Normal file
7
roles/uninstall/tasks/download.yml
Normal 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
|
||||
5
roles/uninstall/tasks/main.yml
Normal file
5
roles/uninstall/tasks/main.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- name: загрузка установочного скрипта
|
||||
include_tasks: download.yml
|
||||
- name: удаление telemt
|
||||
include_tasks: uninstall.yml
|
||||
9
roles/uninstall/tasks/uninstall.yml
Normal file
9
roles/uninstall/tasks/uninstall.yml
Normal 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')}}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue