В этой статье я расскажу как за $5 в месяц поднять свой собственный VPN, Proxy для Telegram (и не только для Telegram, это просто обычный sock5 proxy) плюс расшаривание скриншотов на своем сервере.
Я помню, когда использовал MacOS примерно в 2008 году, была такая программа, которая называлась Droplr. Она позволяла нажать хоткей, выделить какую-то область экрана и этот этот скриншот загружался на сервис droplr, а ссылка с картинкой сохранялась в буфер.
Это было очень удобно.
Потом этот этот сервис стал платным и я перестал пользоваться MacOS как основной OS. И мне захотелось такой же функционал. Его не было. Пришлось написать простой скриптик самому.
Сейчас есть различные аналоги. Но мне они не нравятся. У одних есть лишний функционал, которым я не пользуюсь. Другие бесплатные, но с рекламой. Такой функционал есть и у дропбокса, но там тоже свои недостатки.
Создаем свой дроплет
Я буду использовать хостинг от DigitalOcean, так как на мой взгляд он самый удобный.
Если вы еще не зарегистрированы, то можете воспользоваться моей рефералкой https://m.do.co/c/41bb5762da9a , вы получите $100 на аккаунт, а я $25.
Создаем там самый дешевый дроплет за $5
Идем в Networking и привязываем любой наш домен к созданному дроплету.
Заходим на созданный дроплет по SSH.
ssh root@134.209.238.252
Обновляемся
sudo apt-get update
sudo apt-get upgrade
Screenshot Sharing
Устанавливаем Nginx
sudo atp install nginx
Создаем папку в /var/www с названием нашего домена в моем случае это johekb.com
cd /var/www
mkdir johekb.com
cd johekb.com
mkdir html
cd html
Теперь идем в
cd /etc/nginx/sites-enabled
И создадим там файл
vim johekb.com
Со следующим содержанием
server {
listen 80;
listen [::]:80;
root /var/www/johekb.com/html;
index index.html index.htm index.nginx-debian.html;
server_name johekb.com www.johekb.com;
location / {
try_files $uri $uri/ =404;
}
}
Перезагрузимся чтобы посмотреть, что nginx нормально загружается
sudo reboot
Теперь сделаем немного локальных изменений.
Сначала берем скрипт из моего гитхаба и меняем в нем три вхождения в которых есть URL.
Так же устанавливаем весь необходимый софт. Нам надо установить imagemagick.
fileDate=`date +%Y-%m-%d-%H-%M-%S`
machineName=`hostname`
fileName=".png"
FILENAME=$fileDate"-"$machineName$fileName
SHORT=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 7 | head -n 1)
FILENAMESHORT=$SHORT$fileName
dst="johekb.com" #your dst. server
dstPath="html"
dstAbs="/var/www/johekb.com/"
user="root"
import $FILENAMESHORT
scp -C $FILENAMESHORT $user@$dst:$dstAbs$dstPath #send screenshot through SCP(with compression enabled for low-bandwith connection)
echo "http://johekb.com/"$FILENAMESHORT | xclip -i -selection clipboard #copy screenshot link to your clipboard
rm $FILENAMESHORT
Сохраняем этот скрипт с названием screenshot.sh, даем ему права на выполнение и запускаем
./screenshot.sh
Должен измениться вид курсора, выделяем область и нажимаем.
Мы увидим что у нас в буфере оказался текст.
Можем вставить эту ссылку в браузер и увидим наш скриншот.
File Sharing
Так же вы можете шарить и файлы
У меня есть скрипт, который запускается из Ranger, когда я нажимаю кнопку x выделенный файл срзу же закачивается на мой сервер и ссылка на него копируетс я в буфер
Скрипт:
dst="devpew.me"
dstPath="html"
dstAbs="/var/www/devpew.me/"
user="root"
FILENAMESHORT=$1
scp -C $FILENAMESHORT $user@$dst:$dstAbs$dstPath
echo "http://devpew.me/"$FILENAMESHORT | xclip -i -selection clipboard
Telegram Proxy
Теперь на этот же сервер поставим прокси для телеграма, не простаивать же нашему серверу пока мы не делаем скриншоты.
Ставим Docker через Snap:
snap install docker
Ставим simple-socks5-server от https://github.com/dijedodol/simple-socks5-server через докер:
docker run -it --rm -p 1080:1080 -e 'SSS_USERNAME=ouruser' -e 'SSS_PASSWORD=ourpass' dijedodol/simple-socks5-server
Теперь идем в телеграм и выбираем подключиться через socks5 прокси. Вводим все данные и мы должны увидеть статус “Online”
VPN
Теперь мы еще можем поставить сюда и VPN
Вводим:
CID=$(docker run -d --privileged -p 1194:1194/udp -p 443:443/tcp jpetazzo/dockvpn)
Потом:
docker run -t -i -p 8080:8080 --volumes-from $CID jpetazzo/dockvpn serveconfig
После этого в консоли мы увидем ссылку. Нам нужно будет перейти по ней и у нас сразу же начнется скачивание файла. Этот файл будет со случайным именем. Скачиваем его и переименуем в vpn.ovpn
Готово.
Теперь если вы пользуетесь Linux, то вы можете выполнить следующую команду:
sudo openvpn --config vpn.ovpn
Так же мы можем подключаться к этому VPN через телефон с помощью программы OpenVPN
FINISH
На сервере за $5 у нас есть наша скриншотилка, proxy для телеграма и наш собственный VPN сервер.