- vừa được xem lúc

Được rồi, đi thôi!!! VPS free nè (^.^) [P1]

0 0 45

Người đăng: Dark Lotus

Theo Viblo Asia

Bạn là sinh viên, bạn là lập trình viên khó khăn về mặt tài chính, bạn không có xiền thuê VPS, được rồi hãy đến đây!!!. Hôm nay mình sẽ hướng dẫn cho các bạn cách tạo VPS free bằng Github Workflow & Ngrok 😬 😬 😬 . Bài viết này là mở đầu chuỗi seri bài viết về chủ đề tạo VPS free cho mọi nhà.

Lý thuyết (TLDR)

Mình xin phép tóm tắt nhanh phần lí thuyết cho những bạn nào chưa biết 😅:

GitHub Actions

Tài liệu: https://docs.github.com/en/actions

GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that build and test every pull request to your repository, or deploy merged pull requests to production. GitHub Actions goes beyond just DevOps and lets you run workflows when other events happen in your repository. For example, you can run a workflow to automatically add the appropriate labels whenever someone creates a new issue in your repository. GitHub provides Linux, Windows, and macOS virtual machines to run your workflows, or you can host your own self-hosted runners in your own data center or cloud infrastructure.

Chúng ta có thể hiểu đơn giản GitHub Actions là một event-driven nghĩa là chương trình chạy một loạt jobs (các dòng lệnh) khi nhận được 1 event. Trong jobs phân chia thành nhiều step khác nhau và sắp xếp các step để chạy
Ví dụ:

Workflow trên sẽ thực thi các job khi được nhận event workflow_dispatch (người dùng run workflow theo cách thủ công từ Actions tab) .

Ngork

Ngrok là công cụ tạo đường hầm (tunnel) giữa localhost của bạn và internet hay nói một cách đơn giản nó là công cụ giúp public cổng trên máy bạn ra ngoài internet.
Với công cụ này chúng ta có thể public các cổng như 3389,22 từ local để có thể thực hiện remote máy tính từ xa Link download: https://ngrok.com/download

Thực hành

Tạo tài khoản

  • Github: Nếu bạn đã có tài khoản thì mình khuyến cáo bạn nên tạo tài khoản mới để tránh tài khoản cũ bị ban.
    Link đăng kí: https://github.com/signup
  • Ngrok: Thực hiện tạo tài khoản ngrok và lưu lại token
    Link đăng kí: https://dashboard.ngrok.com/signup

Tạo repo

Thực hiện tạo một repo private

Tạo action

Chuyển qua tab Actions và chọn "Configure" Simple workflow

  • Thực hiện sủa nội dung blank.yml như sau:

Đối với VPS window

name: Window on: workflow_dispatch: jobs: build: runs-on: windows-latest steps: - name: download ngrok shell: powershell run: | Invoke-WebRequest https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-windows-amd64.zip -OutFile ngrok.zip Expand-Archive ngrok.zip - name: run ngrok shell: powershell run: | .\ngrok\ngrok.exe authtoken $Env:NGROK_AUTH_TOKEN Start-Process Powershell -ArgumentList '-Noexit -Command ".\ngrok\ngrok.exe tcp 3389"' env: NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }} - name: Activating RDP access. run: | Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-name "fDenyTSConnections" -Value 0 Enable-NetFirewallRule -DisplayGroup "Remote Desktop" Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1 - name: Change pass for RDP. env: ADMINPASSWORD: ${{ secrets.ADMINPASSWORD }} run: net user runneradmin $Env:ADMINPASSWORD - name: Get Ngrok run: Invoke-WebRequest http://localhost:4040/api/tunnels - name: Run loop run: ping -t localhost

Đối với VPS ubuntu:

name: VPS
on: workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: update and upgrade run: sudo apt-get update -y && sudo apt-get upgrade -y - name: install ngrok run: | curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list && sudo apt update && sudo apt install ngrok - name: Run sshd run: sudo service sshd start - name: Change pass run: yes superpass | sudo passwd - name: add user run: | sudo useradd -m superuser yes superpass | sudo passwd superuser sudo usermod -aG sudo superuser - name: Run ngrok env: NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }} run: | ngrok authtoken $NGROK_AUTH_TOKEN ngrok tcp 22 & - name: Get Ngrok run: curl http://localhost:4040/api/tunnels - name: run loop run: tail -f /dev/null
  • Bấm "Start commit" để lưu kết quả.

Tạo secret

  • Chuyển qua tab "Settings" của repo > "Secrets" > "New repository secret".
  • Thực hiện set giá trị cho NGROK_AUTH_TOKENADMINPASSWORD (nếu chọn VPS window)

Được rồi, đi thôi !!!

  • Chuyển qua tab "Actions" > chọn workflow > "Run workflow".
  • Thực hiện xem log của workflow, tại bước "get ngrok" ta lấy thông tin trường public url để RDP hoặc SSH.
  • Sử dụng các công cụ RDP như MobaXterm hoặc freeRDP,.. để thực hiện RDP hoặc SSH tới VPS free chúng ta vừa tạo (user RDP: runneradmin )
  • Thành quả: Chúng ta có ngay VPS Window 2022 Datacenter với 7GB ram 🤩🥰

Lưu ý

VPS free được tạo bằng Github Actions chỉ có thể tồn tại tối đa 6 tiếng, hết thời gian 6 tiếng các bạn cần phải chạy lại để có thể dùng tiếp. Khả năng bị ban acc khi chạy VPS liên tục rất là lớn, không khuyến nghị các bạn dùng acc chính🤪🤪🤪

Cảm ơn các bạn đã đọc bài viết của mình!!! 😍 🥰 Good Luck 😘

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tạo VPS free trên Google Cloud Platform

Lời nói đầu . .

0 0 190

- vừa được xem lúc

Hướng dẫn setup server VPS host ASP.Net , .Net Core + MongoDB + Nginx và bảo vệ server cơ bản bằng ufw + fail2ban. (Phần 1 - Cài đặt môi trường và firewall )

Bài viết này mình sẽ hướng dẫn cách cài đặt server host một api server hoặc website cho các bạn mới tập tành host server cho riêng mình hoặc dự án nhỏ. Môi trường mình chọn setup là linux Ubuntu 20.

0 0 33

- vừa được xem lúc

Được rồi, đi thôi!!! VPS free nè (^.^) [P2]

Bạn là sinh viên, bạn là lập trình viên khó khăn về mặt tài chính, bạn không có xiền thuê VPS, VPS được tạo ra bằng Github chỉ tồn tại trong 6 tiếng không đủ làm bạn thỏa mãn, đừng lo lắng!!! Hôm nay

0 0 43

- vừa được xem lúc

Dùng thử VPS miễn phí DigitalOcean

Xin chào, bạn đang làm lab mà không có máy ảo, máy tính quá chậm không cài được máy ảo hay máy ảo thường xuyênbị lỗi... thì giải pháp cloud là giải pháp lựa chọn bạn không thể bỏ qua. Ngoài các ông lớ

0 0 52

- vừa được xem lúc

Cài đặt phần mềm trên VPS Windows với PowerShell

Hí anh em, dạo này mình phải làm việc với VPS Windows nhiều quá đâm ra thao tác bằng tay quá mệt, với những cụ chuyên bán vps thì chắc đã quá hiểu và quá quen tay với việc thao tác lặp đi lặp lại trên

0 0 19

- vừa được xem lúc

Deploy với Ubuntu VPS (Phần 2) Deploy project Laravel hoàn chỉnh trên VPS

Lời mở đầu. Xin chào các bạn, trong bài viết trước mình đã hướng dẫn các bạn tạo một VPS trên Vulter.

0 0 25