Просмотрено
Category: Без рубрики

Туннель в локальную сеть с SSL без внешнего IP.

Туннель в локальную сеть с SSL без внешнего IP.

Для разработки бота Telegram мне нужно, чтобы мой проект был доступен через интернет.

Конечно, можно открыть порты на роутере, если есть белый IP-адрес. Но если его нет или нет желания возиться с настройками роутера, можно воспользоваться Tuna.

Tuna позволяет без лишних сложностей создать туннель на локальный компьютер, который будет доступен из интернета и иметь SSL-сертификат, что важно при создании бота Telegram.

У Tuna есть различные тарифные планы, но меня вполне устраивает бесплатный вариант.

Тарифы Tuna

Для начала работы необходимо зарегистрироваться в Tuna и получить токен. После регистрации устанавливаем Tuna, используя PowerShell, с помощью следующей команды:

winget install --id yuccastream.tuna

После установки не забудьте перезапустить PowerShell. Без перезапуска PowerShell может не распознать команду «tuna».Чтобы установить токен, введите следующую команду:

tuna config save-token <ТОКЕН>

Теперь можно поднять наш туннель:

tuna http 8000

Подробнее о параметрах можно почитать в официальной документации.

Запущенный туннель

Теперь можно перейти по домену, который нам предоставил Tuna. На этом домене у меня будет доступен Laravel.

Доступный Laravel по выданному нам адресу.

Также можно обратиться по адресу http://127.0.0.1:4040. Там будут доступны все запросы со статусами ответов и настройками.

Web интерфейс Tuna

Вот и всё. Надеюсь, эта статья была для вас полезной.

Возвращаем rc.local в Ubuntu

Возвращаем rc.local в Ubuntu

В новых версиях Ubuntu убрали rc.local. Но так как я уже привык к нему, а через crontab не очень удобно, то я решил вернуть его обратно.
Создаем файл rc.local:

nano /etc/rc.local

Добавляем в rc.local содержимое:

#!/bin/sh -e 

exit 0 

Даем права на исполение:

chmod +x /etc/rc.local

Создаем rc-local.service:

nano /etc/systemd/system/rc-local.service

И добавляем следующее:

[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target

Включаем автозагрузку и запускаем сервис:

systemctl enable rc-local.service
systemctl start rc-local.service

Проверяем, все-ли впорядке:

systemctl status rc-local.service

В случае успеха вывод будет таким:

rc-local.service - /etc/rc.local Compatibility
     Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
    Drop-In: /usr/lib/systemd/system/rc-local.service.d
             └─debian.conf
     Active: active (exited) since Mon 2021-04-26 21:27:57 UTC; 24min ago
      Tasks: 0 (limit: 4232)
     Memory: 0B
     CGroup: /system.slice/rc-local.service