Thursday 17 December 2020

[Solved] CredSSP Encryption Oracle Remediation

 

A remote code execution vulnerability exists in the Credential Security Support Provider protocol (CredSSP). An attacker who successfully exploited this vulnerability could relay user credentials and use them to execute code on the target system.

CredSSP is an authentication provider which processes authentication requests for other applications; any application which depends on CredSSP for authentication may be vulnerable to this type of attack.

As an example of how an attacker could exploit this vulnerability against Remote Desktop Protocol, the attacker would need to run a specially crafted application and perform a man-in-the-middle attack against a Remote Desktop Protocol session. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

The security update addresses the vulnerability by correcting how Credential Security Support Provider protocol (CredSSP) validates requests during the authentication process.

1. SCENARIO

2. RDP SESSION

An update released by Microsoft (KB 4093492)on May 8, 2018, for Windows 10 Operation System was targeted to change the default settings CredSSP from Vulnerable to Mitigated.

A full list of the update and patches for all platform can be obtained from here.

However, post patching this caused an issue where the patched clients were blocked from communicating with unpatched servers over RDP protocols.

This has been reported to cause an error thrown by Windows RDP as below:

[Solved] CredSSP Encryption Oracle Remediation

Discover a new world of sustainable, trusted cloud infrastructure with Modern Enterprise Data Center

3. WORKAROUND

Use the group policy settings changes described below to rollback the changes to ‘Vulnerable’ state to allow RDP access.

1. Open Group Policy Editor, by executing gpedit.msc

2. Policy path: Computer Configuration -> Administrative Templates -> System -> Credentials Delegation

Run gpedit.msc and expand Administrative Templates

Expand System

[Solved] CredSSP Encryption Oracle Remediation

Expand Credential Delegation

[Solved] CredSSP Encryption Oracle Remediation

Edit Encryption Oracle Remediation

[Solved] CredSSP Encryption Oracle Remediation

Select Enabled and change Production Level to Vulnerable

[Solved] CredSSP Encryption Oracle Remediation

3. Run the command gpupdate /force to apply group policy settings.

4. Your remote desktop connection will be working fine now.

CONCLUSION

This is just a workaround and defeats the purpose of the patching. However, we need to ensure that future updates are installed as and when released by Microsoft so that the vulnerability is not exposed.

, , , , ,

 

Source : https://www.netwoven.com/2018/05/15/solved-credssp-encryption-oracle-remediation/ 

Saturday 12 December 2020

Remote Desktop Client Ubuntu

apt-get install freerdp2-x11 -y

xfreerdp /u:user /p:sapi25 /w:1600 /h:900 /v:202.152.140.37 /smart-sizing

Tuesday 8 December 2020

Cara upgrade kartu XL 3G yang lama ke 4G

 Cara upgrade kartu XL 3G yang lama ke 4G, dapat dilakukan sendiri tanpa perlu ganti nomor. Selengkapnya, akan dijelaskan pada artikel teknoding kali ini.

Bagi kalian user atau pengguna, yang menggunakan operator seluler XL Axiata. Kalian mungkin mempunyai perangkat HP, atau smartphone Android yang mendukung jaringan 4G. Namun kartu XL kalian masih yang lama, dan masih menggunakan jaringan 3G.

Nah, karena syarat utama agar kita dapat menikmati jaringan 4G. HP atau Smartphone kita harus mendukung 4G, dan juga menggunakan kartu XL 4G. Maka kita perlu melakukan langkah Upgrade Kartu XL 3G ke 4G.

Tenang saja, kalian tidak perlu repot-repot ke XL Center untuk sekedar upgrade saja, yang memakan ongkos dan waktu. Dengan menggunakan teknologi OTA (over the air), kalian bisa upgrade kartu XL 3G ke 4G secara mandiri.

Serta kita juga tidak perlu ganti nomor, kita cukup beli nomor kartu XL baru, lalu kita gantikan dengan nomor kartu yang lama. Sehingga kuota, pulsa, kontak di nomor kartu XL yang lama tidak akan terhapus.

Kali Teknoding akan membagikan beberapa langkah, tentang cara upgrade kartu XL 3G ke 4G tanpa perlu ganti nomor HP :

Cara Upgrade Kartu XL 3G ke 4G Tanpa Ganti Nomor

Daftar Isi SHOW

Berikut cara upgrade kartu XL ke 4G :

  • Langkah pertama untuk upgrade kartu XL 3G ke 4G, kita beli nomor kartu XL baru, di konter terdekat yang harganya sekitar Rp 5.000 atau Rp 10 ribuan.
  • Selanjutnya, kalian ketikan, atau tekan *123*46#, di smartphone atau hape android kalian. Lalu pilih Call.
Kode USSD Upgrade Kartu XL ke 4G
Kode USSD Upgrade Kartu XL ke 4G
  • Kemudian, pada menu penukaran SIM card 4G.
  • Kalian pilih 1 (Lanjutkan), dengan menekan tombol 1.
  • Lalu pilih tombol Mengirim.
Menu Penukaran SIM Card 4G XL axiata android
Menu Penukaran SIM Card 4G
  • Tunggu beberapa saat, sampai kalian menerima kiriman sms dari XL-4G.
  • Seperti pada gambar di bawah :
SMS dari XL-4G untuk ugprade kartu xl 3g ke 4g tanpa ganti nomor
SMS dari XL-4G
  • Sekarang kita ikuti perintah kiriman SMS dari XL-4 , dengan mematikan smartphone atau hape android kalian.
  • Lalu mencabut SIM card lama kalian, dengan mengganti SIM card baru, dari nomor kartu XL yang baru saja dibeli.
  • Kemudian  kita nyalakan kembali jika sudah. 
  • Jika terdapat perintah untuk registrasi nomor kartu XL, kalian  bisa abaikan jika nomor kartu XL kalian sudah terdaftar.
  • Untuk mengeceknya kalian bisa ketikan  *123*4444#.
  • Selanjutnya , kita ulangi lagi seperti langkah no 2 dan 3 , dengan mengetikan *123*46#  , di smartphone atau hape android kalian.
  • Pilih 1 dengan menekan tombol 1, lalu pilih tombol Mengirim.
  • Tunggu beberapa saat, kalian akan menerima kiriman SMS dari XL-4G lagi. Seperti pada gambar di bawah :
SMS dari XL-4G untuk ugprade kartu xl 3g ke 4g tanpa ganti nomor
SMS dari XL-4G
  • Ikut perintah seperti yang ada di kiriman sms dari XL-4G , yaitu dengan merestart smartphone atau hape android kalian.
  • Nantinya akan ada 2 kiriman sms lagi dari XL-4G, yang memberi tahu kalian bahwa, proses akvitasi kartu XL 4G kalian telah berhasil.
  • Selesai, sekarang kalian tinggal mengganti mode jaringan 3G menjadi LTE , lewat pengaturan di smartphone atau hape android kalian.

 

 cara upg

 Source : https://teknoding.com/cara-upgrade-kartu-xl/

Convert mkv to mp4 in terminal

ffmpeg -i foobar.mkv -vcodec copy -acodec copy foobar.mp4

How to Install and Use FFmpeg on CentOS 7

FFmpeg is a free and open-source collection of tools for handling multimedia files. It contains a set of shared audio and video libraries such as libavcodec, libavformat, and libavutil. With FFmpeg, you can convert between various video and audio formats, set sample rates, capture streaming audio/video, and resize videos.

This tutorial walks you through installing FFmpeg on CentOS 7.

Prerequisites

To be able to add new repositories and install packages on your CentOS system, you must be logged in as a user with sudo privileges .

Installing FFmpeg on CentOS 7

FFmpeg is not available in CentOS 7 core repositories. You can choose to build the FFmpeg tools from the source or to install it via yum from a third-party Yum repository.

We’ll go with the second option and install from the RPM Fusion repository:

  1. The RPM Fusion repository depends on the EPEL software repository. If the EPEL is not enabled on your system, enable it by typing:

    sudo yum install epel-release
  2. Next, enable the RPM Fusion repository by installing the rpm package :

    sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
  3. Once the repository is enabled, install FFmpeg:

    sudo yum install ffmpeg ffmpeg-devel
  4. Verify the FFmpeg installation by checking its version:

    ffmpeg -version

    At the time of writing this article, the current version of FFmpeg available in the RPM Fusion repository is 3.4.7:

    ffmpeg version 3.4.7 Copyright (c) 2000-2019 the FFmpeg developers
    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)
    ...

That’s it. FFmpeg has been installed on your CentOS machine and you can start using it.

FFmpeg Examples

In this section, we will look at some basic examples on how to use the ffmpeg utility.

Basic conversion

When converting audio and video files using ffmpeg, you do not have to specify the input and output formats. The input file format is auto-detected, and the output format is guessed from the file extension.

  • Convert a video file from mp4 to webm:

    ffmpeg -i input.mp4 output.webm
  • Convert an audio file from mp3 to ogg:

    ffmpeg -i input.mp3 output.ogg

Specifying codecs

You can specify the codecs you want to use with the -c option. The codec can be the name of any supported decoder/encoder or a special value copy that simply copies the input stream.

  • Convert a video file from mp4 to webm using the libvpx video codec and libvorbis audio codec:

    ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm
  • Convert an audio file from mp3 to ogg encoded with the libopus codec.

    ffmpeg -i input.mp3 -c:a libopus output.ogg

Conclusion

We have shown you how to install FFmpeg on CentOS 7 machines. You can now visit the official FFmpeg Documentation page and learn how to use FFmpeg to convert and your video and audio files.

If you hit a problem or have feedback, leave a comment below.

 

Source : https://linuxize.com/post/how-to-install-ffmpeg-on-centos-7/

 

Cara Mudah Menampilkan Video di Web dengan HTML5

Masih repot menampilkan file video di halaman web? Kini tidak lagi. Kalau dulu, kita membutuhkan script video player, seperti Flow Player, atau yang lain untuk menampilkan video dan memutarnya di halaman web Anda. Namun kini dengan HTML5, Anda cukup mengupload file videonya saja ke hosting atau web server, lalu membuat tag HTML saja, dan selesai.

Wah mudah banget ya??

So… Bagaimana bentuk tag untuk menampilkan file video ke halaman web dengan HTML5? caranya cukup mudah, cukup membuat tag HTML sebagai berikut:

1
2
3
<video width="..." height="..." controls>
  <source src="namafilemovie" type="mimetype">
</video>

dimana atribut ‘width‘ untuk menentukan panjang frame video playernya (dalam satuan pixel); ‘height‘ menentukan lebarnya (pixel); ‘controls‘ untuk menampilkan panel control pada frame video playernya seperti pengatur volume, full screen, seek bar dll; ‘src‘ untuk menentukan file video yang akan ditampilkan (bisa ditulis dalam bentuk URL); ‘type‘ untuk menentukan mime type dari file video tersebut.

Perhatikan contoh berikut ini ya

1
2
3
4
5
6
7
8
<!DOCTYPE html>
<html>
<body>
<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
</video>
</body>
</html>

Penampakan dari kode di atas pada browser adalah sbb:

Web Video Player dengan HTML5

NB: Jangan lupa menuliskan <!DOCTYPE html> pada bagian paling atas HTML Anda, karena kode tersebut merupakan penciri dari HTML5.

Anda dapat mengatur sendiri panjang dan lebar frame videonya, atau menghilangkan/memunculkan controls nya. Lalu format file video apa saja yang disupport HTML5? Format file video yang disupport adalah: *.mp4 (mime type: video/mp4), *.webm (mime type: video/webm), *.ogg (mime type: video/ogg).

Terkadang pula tidak semua jenis browser mensupport ketiga jenis file tersebut, misalnya browser IE dan SAFARI hanya bisa mensupport *.mp4 saja, atau OPERA hanya mensupport *.ogg dan *.webm saja. Sedangkan untuk CHROME dan Firefox mensupport ketiganya.

Penulisan tag <video> bisa juga seperti di bawah ini:

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<body>
 
<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  Your browser does not support the video tag.
</video>
 
</body>
</html>

Apa maksud kode di atas? Maksudnya adalah memberikan alternatif format file video. Jika browser yang digunakan mensupport *.mp4, maka file ‘movie.mp4’ yang akan dijalankan. Apabila tidak support, maka yang akan dijalankan ‘movie.ogg’. Sedangkan apabila keduanya tidak disupport maka akan muncul pesan ‘Your browser does not support the video tag.’. Jika Anda membuat kode seperti di atas, maka tentu saja Anda harus mengupload file ‘movie.mp4’ dan ‘movie.ogg’ ke server web.

Dengan HTML5, kita juga bisa membuat tombol Play, Pause, Reload sendiri untuk mengatur jalannya video. Untuk melakukan hal ini, kita menggunakan javascript. Perhatikan contoh berikut ini:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html>
<body>
 
<button onclick="playVid()" type="button">Play Video</button>
<button onclick="pauseVid()" type="button">Pause Video</button>
<button onclick="reloadVid()" type="button">Reload Video</button>
<br>
<video id="video1">
  <source src="mov_bbb.mp4" type="video/mp4">
  <source src="mov_bbb.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>
 
<script>
var myVideo=document.getElementById("video1");
 
function playVid()
{
  myVideo.play();
}
 
function pauseVid()
{
  myVideo.pause();
}
 
function reloadVid()
{
  myVideo.load();
}
</script>
 
</body>
</html>

Keterangan:

  • Untuk menjalankan video, cukup panggil dengan method play(), untuk mempausenya dengan method pause(), dan untuk mereload video gunakan load().
  • Perhatikan kode di atas, untuk tag videonya diberi id=”video1″. ID ini nanti akan digunakan untuk proses pemanggilan elemen di javascriptnya, yaitu myVideo=document.getElementById("video1")

Tampilan dari kode di atas adalah sbb:

Web Video Player dengan HTML5

Mudah bukan membuatnya? selamat mencoba dan semoga bermanfaat. Untuk referensi lebih lengkap, Anda bisa mempelajarinya di w3schools.com.

 

Jika pakai subtittle VTT

<video width="1280" height="720" controls autoplay>
    <source src="somefile.mp4" type="video/mp4">
    <track default src="somefile.vtt" kind="captions" srclang="de" label="Deutsch">
</video>

 

Converter srt to vtt online

 https://atelier.u-sub.net/srt2vtt/

 

Source : https://blog.rosihanari.net/cara-mudah-menampilkan-video-di-web-dengan-html5/

Saturday 7 November 2020

Mengatasi The Requested URL Not Found On This Server Pada Linux

 Hari ini dikantor ada sedikit kendala pada saat ingin mengakses website yang ada didalam server. Karena sistem operasi yang digunakan pada server kantor adalah Linux Ubuntu dan juga menggunakan Apache sebagai web servernya ternyata ada sedikit kendala the requested url not found on this server. Jadi pada tutorial Linux kali ini saya akan sharing mengenai bagaimana cara mengatasi the requested url not found on this server pada Linux Ubuntu.

Jadi di kantor itu untuk sistem operasi servernya menggunakan sistem operasi Linux Ubuntu dengan Apache sebagai web servernya, karena biasanya web server akan secara otomatis menyala saat Linux dinyalakan, jadi tidak perlu lagi menyalakan web servernya secara manual.

Kalau kamu ingin mengetahui bagaimana caranya menggunakan Linux dengan Apache langsung sebagai servernya, mungkin tutorial berikut ini dapat membantu kamu untuk melakukan konfigurasinya : Cara Install PHP Apache MySQL dan phpMyAdmin di Ubuntu

Dan berikut ini adalah cara mengatasi masalah erro not found pada website yang berada di Apache Linux :
  • Buka terminal lalu masuk sebagai root dengan perintah seperti dibawah ini :
sudo su
  • Selanjutnya masukan password root pada sistem operasi Linux kamu.
  • Lalu edit file apache2.conf yang biasanya digunakan untuk melakukan konfigurasi Apache2 dengan mengetikan perintah seperti dibawah ini :
nano /etc/apache2/apache2.conf
  • Nanti akan terbuka isi file konfigurasi apache2.conf pada terminal, lalu cari tulisan seperti dibawah ini :
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride none
Require all granted
</Directory>
  • Selanjutnya ganti AllowOverride none menjadi AllowOverride All sehingga tulisannya menjadi seperti berikut ini :
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
  • Selanjutnya simpan hasil editan file apache2.conf tersebut dengan menekan tombol CTRL + X, nanti akan muncul konfirmasi lalu pilih Yes dengan menekan tombol CTRL + Y
  • Dan tahap terakhir adalah dengan melakukan restart pada Apache dengan menuliskan perintah seperti dibawah ini :
sudo systemctl restart apache2.service

Setelah langkah diatas selesai, selanjutnya adalah mengaktifkan modul mo_rewrite pada Apache dengan cara mengetikan perintah seperti dibawah ini :

sudo a2enmod rewrite

Langkah terakhir adalah dengan melakukan restart pada Apache dengan mengetikan perintah seperti berikut :

sudo systemctl restart apache2.service

Selanjutnya tinggal refresh browser web kamu untuk melihat apakah masih ada error atau tidak. Kalau error sudah tidak muncul, berarti website yang ada pada server Linux sudah dapat digunakan kembali. Dan kalau error yang sama masih muncul, silahkan ulangi langkah diatas kembali.

Semoga tutorial sederhana ini dapat bermanfaat bagi kalian yang mengalami masalah The Requested URL Not Found On This Server pada website yang disimpan di sistem operasi Linux

 

Source : https://lebakcyber.net/mengatasi-the-requested-url-not-found-on-this-server-pada-linux/

Monday 26 October 2020

Make Offline Mirror of a Site using `wget`

 Sometimes you want to create an offline copy of a site that you can take and view even without internet access. Using wget you can make such copy easily:

wget --mirror --convert-links --adjust-extension --page-requisites 
--no-parent http://example.org

Explanation of the various flags:

  • --mirror – Makes (among other things) the download recursive.
  • --convert-links – convert all the links (also to stuff like CSS stylesheets) to relative, so it will be suitable for offline viewing.
  • --adjust-extension – Adds suitable extensions to filenames (html or css) depending on their content-type.
  • --page-requisites – Download things like CSS style-sheets and images required to properly display the page offline.
  • --no-parent – When recursing do not ascend to the parent directory. It useful for restricting the download to only a portion of the site.

Alternatively, the command above may be shortened:

wget -mkEpnp http://example.org

Note: that the last p is part of np (--no-parent) and hence you see p twice in the flags.

 

Alternative 1

wget --mirror --convert-links --html-extension --wait=2 -o log https://indomtl.com/


Alternative 2

wget -r -p https://indomtl.com/

 

Source : https://www.guyrutenberg.com/2014/05/02/make-offline-mirror-of-a-site-using-wget/

Friday 23 October 2020

Cara mendeteksi dan menyelesaikan serangan http dan dns Mikrotik

 

Baru-baru ini, router Mikrotik mengalami serangan berat oleh para penjahat cyber. Yang baru-baru ini di antara serangan ini adalah http Mikrotik dan serangan redirect dns. Serangan ini, salah satu dari banyak serangan pada router Mikrotik dalam beberapa waktu terakhir, mengalihkan semua traffic http dan dns ke server proxy / dns jauh, memberikan kekuatan kepada penyerang untuk menganalisis paket yang berasal dari jaringan.

Begitu banyak pengguna telah mengalami serangan ini dan jika Anda menggunakan router Mikrotik dengan alamat IP publik yang ditetapkan, hanya masalah waktu sebelum perangkat Anda disusupi, kecuali Anda telah mengambil langkah-langkah untuk mengamankan router Anda.

Dalam posting ini, kita akan melihat perubahan yang dilakukan ke router Anda setelah mengalami serangan http dan dns Mikrotik dns, cara membersihkan router Anda, dan akhirnya, cara mengamankannya dari serangan lebih lanjut.

Daftar Isi

Apa itu Mikrotik http dan dns mengarahkan serangan?

The Mikrotik http dan serangan redirect dns adalah bentuk baru serangan pada router Mikrotik yang memungkinkan penjahat cyber untuk mengarahkan http dan dns trafik dari jaringan Anda ke server proxy jauh menggunakan port udp 53 dan tcp port 80. Para penyerang menetapkan dns IP ke Anda router, dan membuat aturan nat tujuan untuk mengarahkan lalu lintas http dan dns.

Setelah perubahan ini dilakukan pada router Mikrotik, pelaku dapat duduk kembali dan menganalisis paket dari jaringan yang terkena menggunakan penganalisis paket seperti Wireshark.

Cara mengetahui bahwa router Anda telah disusupi

Tanda yang jelas bahwa router Anda telah diserang adalah bahwa pengalaman browsing melalui router tiba-tiba menjadi lambat bahkan ketika penggunaan bandwidth rendah. Ini karena server dns / proxy penyerang, di mana lalu lintas http dan dns telah dialihkan, mungkin tidak dirancang untuk menahan jumlah paket dari router Mikrotik yang dikompromikan.

Cara membersihkan router Anda

Ketika dihadapkan dengan masalah seperti ini, yang terlintas dalam pikiran adalah mengatur ulang router. Pilihan ini tidak sepenuhnya memecahkan masalah karena penyerang memiliki file yang diinstal pada sistem. File-file ini tidak terhapus bahkan ketika router di-reset.

Dalam situasi seperti ini, evaluasi yang cermat terhadap apa yang telah dilakukan diperlukan. Setelah itu, pengguna harus menempatkan tindakan koreksi dan pencegahan manual yang ditujukan untuk mengamankan router.

Hapus alamat IP server rougue dns

Hapus alamat dns nakal yang diberikan ke router. Klik IP> DNS dan hapus semua alamat IP server dns yang tidak ditugaskan oleh Anda. Lihat panduan di bawah ini:

Cara mendeteksi dan menyelesaikan serangan http dan dns Mikrotik

Untuk memastikan hanya IP resmi yang dapat masuk ke router, tambahkan IP yang diizinkan ke pengguna di sub-menu pengguna. Lihat di bawah.

Cara mendeteksi dan menyelesaikan serangan http dan dns Mikrotik


Source : https://labkom.co.id/mikrotik/cara-mendeteksi-dan-menyelesaikan-serangan-http-dan-dns-mikrotik

Blokir Youtube Terbaru di Mikrotik dengan Metode TLS Host

 

Setiap perusahaan terkadang mempunyai suatu kebijakan dimana situs tertentu seperti Youtube maupun Facebook harus DIBLOKIR pada jaringan kantor tersebut. Apabila kita memblokir Youtube dengan metode Layer 7 maupun dengan metode Content situs lain seperti google.com juga akan ikut terblokir, ini karena Certificate youtube.com yang menyatu dengan situs lain seperti google.com. Maka Cara Blokir Youtube dengan metode diatas tidak relevan lagi untuk saat ini, maka dari itu ada metode terbaru dari Mikrotik yaitu TLS Host.

Certificate www.youtube.com

TLS Host Mikrotik Untuk Blokir Youtube

Untuk memblokir youtube.com dengan metode TLS Host anda harus menggunakan versi Mikrotik OS terbaru. Pada kali ini saya menggunakan Mikrotik OS Versi 6.43.12. Untuk memblokir youtube.com dengan TLS Host anda bisa menggunakan Filter Rules atau RAW.

Langkah

Caranya kita masuk ke menu IP –> Firewall –> Raw dan tambahkan Rule baru seperti pada gambar dibawah ini

Lalu pindah ke tab Advanced lalu tambahkan di kolom TLS Host situs yang akan di blokir.

Lalu pindah lagi ke tab Action, pilihlah kolom Action dengan drop.

Hasilnya

Dengan cara ini situs lain seperti google.com tidak akan terblokir.

 

Source : https://labkom.co.id/mikrotik/blokir-youtube-terbaru-di-mikrotik-dengan-metode-tls-host

Blokir Game Online PUBG Mobile di Mikrotik

blokir pubg online

Ada kalanya Game Online PUBG Mobile diharuskan di blokir di jaringan internet yang fungsinya hanya untuk pendidikan seperti di internet kampus atau sekolahan. Yang harus pertama dilakukan untuk memblokir game tersebut anda harus mencari port yang digunakan oleh Game Online PUBG Mobile, bisa dengan mencari port yang digunakan dengan menggunakan Torch Mikrotik. Untuk melihat daftar port game online terbaru: Daftar Port Game Online Terbaru hasil Torch di Mikrotik.

Firewall Raw memungkinkan untuk bypass atau drop paket secara selektif sebelum pelacakan koneksi yang secara signifikan mengurangi beban pada CPU dibandingkan dengan Firewall Filter Rules oleh karena itu saya lebih memilih untuk memblokir dengan menggunakan Firewall Raw dibandingan dengan Firewall Filter Rules. Selain itu Firewall Raw sangat berguna untuk mitigasi serangan DOS.

Buat daftar IP Address Game PUBG Mobile

/ip firewall raw
add action=add-src-to-address-list address-list="IP PUBG Mobile" address-list-timeout=none-static chain=prerouting comment="PUBG Mobile" dst-port=10491, 10010, 10013, 10612, 20002, 20001, 20000, 12235, 13748, 13972, 13894, 11455, 10096, 10039 protocol=udp src-address-list=Local
add action=add-src-to-address-list address-list="IP PUBG Mobile" address-list-timeout=none-static chain=prerouting comment="PUBG Mobile" dst-port=10012,17500 protocol=tcp src-address-list=Local

Drop IP Address Game PUBG Mobile

/ip firewall raw
add action=drop chain=prerouting comment="PUBG Mobile" dst-address-list="IP PUBG Mobile"

Hasilnya

Source : https://labkom.co.id/mikrotik/blokir-game-online-pubg-mobile-di-mikrotik

 

Mengatasi CAPTCHA Google di Mikrotik

 


Pernah mengalami seperti ini :

Yubs, tentu sangat membosankan bukan? kenapa terjadi seperti itu ? jawabannya adalah karena si mbah google mendeteksi adanya malware atau sejenis spam yang melakukan query tertentu pada mesin pencarian google sehingga perlu adanya pembatasan atau pencegahan query. Bisa dibayangkan jika aktivitas spamming ini tidak diatasi pihak google. Tentu hal ini sudah dipikirkan mbah google agar kejadian ini teratasi dengan cara memberikan captcha. Perlu diketahui, ada beberapa kasus dimana tidak semua komputer terkena spam, mengenai hal ini saya kurang paham methode apa yg dipakai google untuk menerapkan pencegahan, karena fakta di lapangan ketika 1 ip public indih*me dishare ke banyak user, tidak semua kena spam. Namun jika terus menerus kena spam, dalam kurun waktu sekitar 30 menit maka semua komputer muncul captcha. Solusi satu-satunyanya saat ini harus generate ip baru. Nah lalu bagaimana cara mendeteksi kena spam ? tentu kita memanfaatkan domain ipv4.google.com/sorry/ bla bla bla yang akan kita tangkap dan kita eksekusi perintah untuk redial pppoe indih*me.

Baiklah langsung saja, kali ini saya akan bagi tips versi kedua yang mana pada script ini ada pembaharuan sehingga lebih valid. Karena terkadang akses ke google kena spam hanya ke beberapa pc saja dan pc lainnya tidak kena. solusinya gunakan layer7.
Pertama tama, buat regex layer7 pada mikrotik kasih nama spamgoogle :
^.*(ipv4.google.com)

kemudian buat rule firewall filter agar address yg kena spam masuk ke address-list. (sesuaikan cidr_nat adalah pool ip client anda)
/ip fi fi add action=add-src-to-address-list address-list=kena_spam address-list-timeout=\
none-dynamic chain=forward comment=kena_spam layer7-protocol=spamgoogle protocol=tcp src-address-list=cidr_nat
kemudian buat script seperti berikut dan jangan lupa buat schedulernya.
:global iface 0pppoe0
:global currentIP
#:if ([:len [/ip firewall address-list find list=kena_spam dynamic=yes ]] != 0 ) do={
:if ([/ip firewall address-list print  count-only where list=kena_spam] >=5) do={
:log error "akses google kena spam"
/in pppoe-client disable $iface
:delay 2
/in pppoe-client enable $iface
:delay 2
:set $currentIP ([/ip address get [find interface="$iface"] address])
:for i from=( [:len $currentIP] - 1) to=0 step=-1 do={
      :if ( [:pick $currentIP $i] = "/") do={
         :set currentIP [:pick $currentIP 0 $i]
         }
      }
:foreach i in=[/ip firewall address-list find list=kena_spam ] do={:put $i; /ip firewall address-list remove $i }
:log warning "telah digenerate dengan ip baru : $currentIP"
:local router [/system identity get name]
:local time [/system clock get time]
:local date [/system clock get date]
:local voltage [/system health get voltage]
:local tegangan (. [:pick $voltage 0 2] . "," . [:pick $voltage 2 3] ." volt")
:local pesan ("[ $router ]%0A" ."GENERATE IP%0A$currentIP:81/userman%0A103.77.159.87:81/userman%0AKENA SPAM pada : %0A" . $time .", ".$date. "%0AVoltase saat ini $tegangan.")
/tool fetch url="https://api.telegram.org/bot38xx21546:AAGn69QpFDuLSOQd3E3JtI5nhfUmg05hQys/sendMessage?chat_id=-20xx3762&text=$pesan" keep-result=no
}
:if ($currentIP  in 10.0.0.0/8) do={
:log error "dapet ip private! redial kembali untuk mendapatkan ip kepala 36";
/in pppoe-client disable $iface
:delay 2
/in pppoe-client enable $iface
:delay 2
:set $currentIP ([/ip address get [find interface="$iface"] address])
:for i from=( [:len $currentIP] - 1) to=0 step=-1 do={
      :if ( [:pick $currentIP $i] = "/") do={
         :set currentIP [:pick $currentIP 0 $i]
         }
      }
:foreach i in=[/ip firewall address-list find list=kena_spam ] do={:put $i; /ip firewall address-list remove $i }
:log warning "telah digenerate dengan ip baru : $currentIP"
:local router [/system identity get name]
:local time [/system clock get time]
:local date [/system clock get date]
:local voltage [/system health get voltage]
:local tegangan (. [:pick $voltage 0 2] . "," . [:pick $voltage 2 3] ." volt")
:local pesan ("[ $router ]%0A" ."GENERATE IP%0A$currentIP:81/userman%0A103.77.159.87:81/userman%0AKENA SPAM pada : %0A" . $time .", ".$date. "%0AVoltase saat ini $tegangan.")
/tool fetch url="https://api.telegram.org/bot38xx921546:AAGn69QpFDuLSOQd3E3JtI5nhfUmg05hQys/sendMessage?chat_id=-20353xx762&text=$pesan" keep-result=no
}

hasilnya :


dan telah dilaporkan ke telegram Anda. semoga bermanfaat
 
Source : https://rahox.blogspot.com/2018/05/mengatasi-captcha-google-mikrotik.html

Mikrotik DUAL WAN Load Balancing Menggunakan metode PCC

 

TOPOLOGI-DUAL-WAN

Berikut ini adalah contoh penggunaan Load Balancing 2 ISP dengan menggunakan metode PCC. Port 1 dan port 2 mikrotik terhubung ke modem yang berbeda dan port 3 terhubung ke Hub yang terhubung ke komputer client. Pada contoh kali ini masing-masing kecepatan internet sama yaitu 10Mbps

Topologi jaringan

Berikut gambaran topologi jaringan yang digunakan

IP Modem WAN1 = 192.168.1.1
IP Modem WAN 2 = 192.168.2.1
IP Local = 192.168.0.1

/ip address
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=Local
add address=192.168.1.2/24 network=192.168.1.0 broadcast=192.168.1.255 interface=WAN1
add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 interface=WAN2

/ip dns set allow-remote-requests=yes cache-max-ttl=1w cache-size=5000KiB max-udp-packet-size=512 servers=8.8.8.8

/ip firewall mangle
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=WAN1_conn
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=WAN2_conn

add chain=output connection-mark=WAN1_conn action=mark-routing new-routing-mark=to_WAN1
add chain=output connection-mark=WAN2_conn action=mark-routing new-routing-mark=to_WAN2

add chain=prerouting dst-address=192.168.1.0/24 action=accept in-interface=Local
add chain=prerouting dst-address=192.168.2.0/24 action=accept in-interface=Local

add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:2/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:2/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes

add chain=prerouting connection-mark=WAN1_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN1
add chain=prerouting connection-mark=WAN2_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN2

/ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=to_WAN1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=to_WAN2 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=2 check-gateway=ping

/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade

Konfigurasi apabila kedua ISP Berbeda

Apabila kecepatan masing-masing ISP berbeda misal ISP 1 = 5Mbps dan ISP 2 = 10Mbps maka harus menambahkan PCC rules lebih banyak daripada ISP 1 seperti contoh

/ip firewall mangle
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:3/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:3/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:3/2 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes

PCC dengan Hotspot

/ip firewall nat add action=accept chain=pre-hotspot disabled=no dst-address-type=!local hotspot=auth

DOWNLOAD SCRIPT

 

Referensi: https://aacable.wordpress.com/

 

Source : https://labkom.co.id/mikrotik/mikrotik-dual-wan-load-balancing-menggunakan-metode-pcc

Kombinasi Loadbalancing PCC dan Failover 2 ISP

 

Topologi Loadbalancing PCC dan Failover 2 ISP
Topologi Loadbalancing PCC dan Failover 2 ISP

Topologi

Astinet = 150mbps = ether1 = 192.168.200.1

Astinet = 50mbps = ether2 = 192.168.100.1

Topologi Loadbalancing PCC dan Failover 2 ISP
Topologi Loadbalancing PCC dan Failover 2 ISP
/ip firewall address-list
add address=10.0.0.0/8 list=private-lokal
add address=172.16.0.0/12 list=private-lokal
add address=192.168.0.0/16 list=private-lokal
 
/ip route
add check-gateway=ping comment=exit-1 distance=1 gateway=192.168.200.1 routing-mark=exit-1
add check-gateway=ping comment=exit-2 distance=1 gateway=192.168.100.1 routing-mark=exit-2
add check-gateway=ping comment=jalur-1 distance=1 gateway=192.168.200.1 routing-mark=jalur-1
add check-gateway=ping comment=jalur-1 distance=2 gateway=192.168.100.1 routing-mark=jalur-1
add check-gateway=ping comment=jalur-2 distance=1 gateway=192.168.100.1 routing-mark=jalur-2
add check-gateway=ping comment=jalur-2 distance=2 gateway=192.168.200.1 routing-mark=jalur-2
add check-gateway=ping comment=jalur-1 distance=1 gateway=192.168.200.1
add check-gateway=ping comment=jalur-2 distance=2 gateway=192.168.100.1
 
 
/ip firewall mangle
add action=accept chain=prerouting dst-address-list=private-lokal src-address-list=private-lokal
add action=accept chain=forward dst-address-list=private-lokal src-address-list=private-lokal
 
add action=mark-connection chain=input comment=exit-1 in-interface=ether1 new-connection-mark=exit-1 passthrough=yes
add action=mark-connection chain=input comment=exit-2 in-interface=ether2 new-connection-mark=exit-2 passthrough=yes
add action=mark-routing chain=output comment=exit-1 connection-mark=exit-1 new-routing-mark=exit-1 passthrough=no
add action=mark-routing chain=output comment=exit-2 connection-mark=exit-2 new-routing-mark=exit-2 passthrough=no
 
#LB PCC
add action=mark-routing chain=prerouting comment=jalur-1 dst-address-list=!private-lokal dst-address-type=!local new-routing-mark=jalur-1 passthrough=no per-connection-classifier=dst-address-and-port:4/0 src-address-list=private-lokal
 
add action=mark-routing chain=prerouting comment=jalur-2 dst-address-list=!private-lokal dst-address-type=!local new-routing-mark=jalur-2 passthrough=no per-connection-classifier=dst-address-and-port:4/1 src-address-list=private-lokal
 
add action=mark-routing chain=prerouting comment=jalur-2 dst-address-list=!private-lokal dst-address-type=!local new-routing-mark=jalur-2 passthrough=no per-connection-classifier=dst-address-and-port:4/2 src-address-list=private-lokal
 
add action=mark-routing chain=prerouting comment=jalur-2 dst-address-list=!private-lokal dst-address-type=!local new-routing-mark=jalur-2 passthrough=no per-connection-classifier=dst-address-and-port:4/3 src-address-list=private-lokal

Buat System Schedule dengan interval 10 detik dan pastekan script dibawah ini di On Event

#jalur-1 cek
:if ([/ping address=8.8.8.8 interface=ether1 routing=exit-1 count=5] = 0) do={/ip route set [find comment=jalur-1 gateway=192.168.200.1 distance=1] distance=3} else={/ip route set [find comment=jalur-1 gateway=192.168.200.1 distance=3] distance=1};
 
#jalur-2 cek
:if ([/ping address=8.8.8.8 interface=ether2 routing=exit-2 count=5] = 0) do={/ip route set [find comment=jalur-2 gateway=192.168.100.1 distance=1] distance=3} else={/ip route set [find comment=jalur-2 gateway=192.168.100.1 distance=3] distance=1};
 
Source : https://labkom.co.id/mikrotik/kombinasi-loadbalancing-pcc-dan-failover-2-isp 

Load Balancing Untuk Warnet Games Online

 

Anda mempunyai warnet games online, di warnet anda mempunyai aktifitas pelanggannya adalah browsing dan games online. Jika pelanggan anda ada yang browsing atau download, pelanggan yang bermain games online terganggu (LAG). Mungkin anda punya rencana memakai 2 ISP dengan tujuan 2 aktifitas itu dibagi koneksinya, 1 untuk browsing 1 lagi untuk games online.

Kondisi Jaringan

  • ISP pertama mempunyai IP 10.10.10.2/30 gateway 10.10.10.1 pada ether1 (untuk koneksi IIX)
  • ISP kedua mempunyai IP 20.20.20.2/30 gateway 20.20.20.1 pada ether2 (untuk koneksi internasional)
  • Jaringan lokal mempunyai IP 192.168.0.0/24 pada ether3

Langkah

Sebelumnya anda harus mempelajari tutorial Cara Memisahkan Bandwidth Internasional IX dan Lokal IIX di Mikrotik karena saya kembangkan dari tutorial tersebut.

Saya anggap anda sudah membuat paket mark internasional dan IIX dalam ip firewall mangle.

/ip address
add address=10.10.10.2/30 interface=ether1 comment=ISP 1 for IIX disabled=no
add address=20.20.20.2/30 interface=ether2 comment=ISP 2 for Internasional disabled=no
add address=192.168.0.1/24 interface=ether3 disabled=no
/ip firewall mangle
add chain=prerouting src-address=192.168.0.0/24 dst-address=nice action=mark-routing new-routing-mark=iix disabled=no comment=Routing Mark for IIX
/ip route
add gateway=20.20.20.1
add gateway=10.10.10.1 routing-mark=iix
/ip firewall nat
add chain=srcnat action=masquerade disabled=no

Penjelasan

/ip firewall mangle
add chain=prerouting src-address=192.168.0.0/24 dst-address-list=nice action=mark-routing new-routing-mark=iix disabled=no comment=Routing Mark for IIX

Rules diatas adalah membuat mark routing dengan nama “iix” untuk koneksi iix, bagaimana tau itu buat iix? saya menggunakan dst-address-list=nice (paket dari client yang menuju ip yang terdaftar pada address-list “nice”), bagaimana nice itu bisa ada? pelajari tutorial Memisahkan Bandwidth Internasional dan IIX disitu ada caranya.

/ip route
 add gateway=20.20.20.1
 add gateway=10.10.10.1 routing-mark=iix

Kita menggunakan primary gateway 20.20.20.1 yang difungsikan untuk koneksi internasional. Untuk koneksi IIX menggunakan 10.10.10.1 dengan routing-mark=iix yang sudah kita buat di ip firewall mangle. Loh kok internasional ga dibuat routing mark juga? karena kita hanya perlu mark routing untuk iix saja, jika ada paket yang tidak diproses oleh routing-mark “iix” maka otomatis melewati primary gateway dan itu bisa dibilang koneksi internasional Karena untuk paket IIX diproses oleh mangle dan rules routing kedua (routing-mark “iix”)

/ip firewall nat
add chain=srcnat action=masquerade disabled=no

Untuk NAT kita buat “masquerade” agar proses Network Address Translation (nat) bekerja otomatis pada kedua gateway tersebut. 

 

Source : https://labkom.co.id/mikrotik/load-balancing-untuk-warnet-games-online

Membuat GPS Tracer di Mikrotik

 

Tulisan ini sebagai bahan referensi saja bagi kalian yang akan membuat GPS Tracer yang terpasang di Mikrotik, dimana titik koordinat akan di post ke database apabila titik koordinat ditemukan atau berpindah lalu hasil koordinat tersebut ditampilkan dalam sebuah marker peta.

Data titik koordinat diambil dari Mikrotik yang dipasang script untuk perintah post ke mikrotikgps.php, kemudian dari mikrotikgps.php berfungsi untuk menyimpan koordinat ke database. Data koordinat di database akan ditampilkan dalam format xml yang di generate oleh mikrotik_genxml.php.

Kemudian akan ditampilkan marker pada peta lokasi Mikrotik oleh mikrotiklocation.html yang data koordinatnya diambil dari hasil generate mikrotik_genxml.php.

Daftar Isi

Langkah

Langkahnya kita install dulu webserver localhost misalnya xampp lalu buat database untuk menyimpan data koordinat.

Database

Buat sebuah database dengan nama gps

CREATE TABLE `tbl_gps` (
  `identity` varchar(20) NOT NULL,
  `mac` varchar(20) NOT NULL,
  `latitude` varchar(30) NOT NULL,
  `longitude` varchar(30) NOT NULL,
  `lat` varchar(30) NOT NULL,
  `lng` varchar(30) NOT NULL,
  `date` date NOT NULL,
  `dbm` varchar(30) NOT NULL,
  `technology` varchar(11) NOT NULL,
  `speed` varchar(11) NOT NULL,
  `altitude` varchar50) NOT NULL,
  `satellites` varchar(11) NOT NULL
)

Script untuk Post ke mikrotikgps.php

Buat sebuah scheduler untuk menjalankan script secara berkala/interval

:local server "IP MIKROTIK";

# Get GPS info and find variables
:system gps monitor file="gps.txt";
:global gpstext [/file get gps.txt contents];
:local datestart [:find $gpstext "time: "];
:local dateend [:find $gpstext "latitude"];
:local date [:pick $gpstext ($datestart +6) ($dateend -14)]
:local longstart [:find $gpstext "longitude" -1];
:local longend [:find $gpstext "\n" $longstart];
:local latstart [:find $gpstext "latitude" -1];
:local latend [:find $gpstext "\n" $latstart];
:local validstart [:find $gpstext "valid" -1];
:local validend [:find $gpstext "\n" $validstart];
:local speedstart [:find $gpstext "speed"];
:local speedend [:find $gpstext "." $speedstart];
:local speed [;pick $gpstext ($speedstart +7) ($speedend +3)];
:local altitudestart [:find $gpstext "altitude"];
:local altitudeend [:find $gpstext "." $altitudestart];
:local altitude [;pick $gpstext ($altitudestart +10) ($altitudeend +3)];
:local satellitesstart [:find $gpstext "satellites"];
:local satellitesend [:find $gpstext "\n" $satellitesstart];
:local satellites [;pick $gpstext ($satellitesstart +12) ($satellitesend)];
:local valid false;
:local zeros "";

# Get Ethernet details and set mac variable
:interface ethernet print detail from=ether1 file=eth1details.txt
:global eth1details [/file get "eth1details.txt" contents];
:local macstart [:find $eth1details "orig"];
:local mac [:pick $eth1details ($macstart +17) ($macstart +34)];

# Get identity variable
:local identity [:system identity get value-name=name];

# Get LTE1 info, set signal and technology variables
:interface lte info lte1 file="lte1info.txt"
:local lte1info [:file get lte1info.txt contents];
:local sigstart [:find $lte1info "signal"];
:local sigend [:find $lte1info "dBm" $sigstart];
:local signal [:pick $lte1info ($sigstart +16) ($sigend -1)];
:local techstart [:find $lte1info "access"];
:local techend [:find $lte1info "\n" $techstart];
:local techno [:pick $lte1info ($techstart +19) ($techend)];

:local technology;
:if ($techno ="GSM compact") do={[:set technology "GSM";]}
:if ($techno ="3G") do={:set technology "UMTS";}
:if ($techno ="Evolved 3G (LTE)") do={[:set technology "LTE";]}

:if ([:find $gpstext "yes" $validstart] > 0) do={:set valid true;};

:global longitude [:pick $gpstext ($longstart + 11) $longend];
:local degreestart [:find $longitude " " -1];
:local minutestart [:find $longitude " " $degreestart];
:local secondstart [:find $longitude "'" $minutestart];

:local secondend;
:local secfract;

:if ([:len [:find $longitude "." 0]] < 1) do={
    :set secondend [:find $longitude "'" $secondstart];
    :set secfract "0";
} else={
    :set secondend [:find $longitude "." $secondstart];
    :set secfract [:pick $longitude ($secondend + 1) ($secondend + 2)];
};

:local longdegree;
:local longdegreelink;

:if ([:pick $longitude 0 1] = "W") do={
    :set longdegree "-";
    :set longdegreelink "W";
} else={
    :set longdegree "+";
    :set longdegreelink "E";
};

:set longdegree ($longdegree . [:pick $longitude 2 $minutestart]);
:set longdegreelink ($longdegreelink . [:pick $longitude 2 $minutestart]);
:local longmin [:pick $longitude ($minutestart + 1) $secondstart];
:local longsec [:pick $longitude ($secondstart + 2) $secondend];
:local longfract ((([:tonum $longmin] * 6000) + ([:tonum $longsec] * 100) + ([:tonum $secfract] * 10) ) / 36);

:while (([:len $zeros] + [:len $longfract]) < 4) do={
    :set zeros ($zeros . "0");
};

:global newlong ($longdegree . "." . $zeros . $longfract);
:global newlonglink ($longdegreelink . "." . $zeros . $longfract);

:global latitude [:pick $gpstext (latstart + 10) $latend];
:set degreestart [:find $latitude " " -1];
:set minutestart [:find $latitude " " $degreestart];
:set secondstart [:find $latitude "'" $minutestart];

:if ([:len [:find $latitude "." 0]] < 1) do={
    :set secondend [:find $latitude "'" $secondstart];
    :set secfract "0";
} else={
    :set secondend [:find $latitude "." $secondstart];
    :set secfract [:pick $latitude ($secondend + 1) ($secondend +2)];
};

:local latdegree;
:local latdegreelink;

:if ([:pick $latitude 0 1] = "N") do={
    :set latdegree "+";
    :set latdegreelink "N";
} else={
    :set latdegree "-";
    :set latdegreelink "S";
};

:set latdegree ($latdegree . [:pick $latitude 2 $minutestart]);
:set latdegreelink ($latdegreelink . [:pick $latitude 2 $minutestart]);
:local latmin [:pick $latitude ($minutestart + 1) $secondstart];
:local latsec [:pick $latitude ($secondstart + 2) $secondend];
:local latfract ((([:tonum $latmin] * 6000) + ([:tonum $latsec] * 100) +([:tonum $secfract] * 10)) / 36);

:set zeros "";

:while (([:len $zeros] + [:len $latfract]) < 4) do={
    :set zeros ($zeros . "0");
};

:global newlat ($latdegree . "." . $zeros . $latfract);
:global newlatlink ($latdegreelink . "." . $zeros . $latfract);

:global coordinates ($newlong . "," . $newlat);

# SEND TO SERVER IF THE COORDINATES HAVE CHANGED
:if (valid) do={
    :global oldpos;

    :if ($oldpos != $coordinates) do={
        {
        :local urlstring "http://$server/mikrotikgps.php\?identity=$identity&mac=$mac&latitude=$latitude&longitude=$longitude&lat=$newlat&lng=$newlong&date=$date&dbm=$signal&technology=$technology&speed=$speed&altitude=$altitude&satellites=$satellites";
        :local urlEncoded;
        :for i from=0 to=([:len $urlstring] - 1) do={ 
          :local char [:pick $urlstring $i]
          :if ($char = " ") do={
            :set $char "%20"
          }
          :if ($char = "-") do={
            :set $char "%2D"
          }
          :if ($char = "+") do={
            :set $char "%2B"
          }
          :set urlEncoded ($urlEncoded . $char)
        }
        :tool fetch url="$urlEncoded" mode=http dst-path=gps-to-url;
        }
        :set oldpos $coordinates;
        :global counter;
        :set counter 0;
     };
} else={
         :global counter;
         :set counter ($counter + 1);
         :log info "GPS not valid, count = $counter";
         :if ($counter = 12) do={
         :system routerboard usb power-reset duration=1;
         :set counter 0;
};

Script untuk Post informasi koordinat Mikrotik ke email

Script ini akan mengirimkan titik koordinat ke email apabila koordinat Mikrotik berubah

# CHANGE BELOW E-MAIL ADDRESS
:local email "myuser@mydomain.com";

:system gps monitor file="gps.txt";
:global gpstext [/file get gps.txt contents];
:local longstart [:find $gpstext "longitude" -1];
:local longend [:find $gpstext "\n" $longstart];
:local latstart [:find $gpstext "latitude" -1];
:local latend [:find $gpstext "\n" $latstart];
:local validstart [:find $gpstext "valid" -1];
:local validend [:find $gpstext "\n" $validstart];
:local valid false;
:local zeros "";

:if ([:find $gpstext "yes" $validstart] > 0) do={:set valid true;};

:global longitude [:pick $gpstext ($longstart + 11) $longend];
:local degreestart [:find $longitude " " -1];
:local minutestart [:find $longitude " " $degreestart];
:local secondstart [:find $longitude "'" $minutestart];

:local secondend;
:local secfract;

:if ([:len [:find $longitude "." 0]] < 1) do={
    :set secondend [:find $longitude "'" $secondstart];
    :set secfract "0";
} else={
    :set secondend [:find $longitude "." $secondstart];
    :set secfract [:pick $longitude ($secondend + 1) ($secondend + 2)];
};

:local longdegree;
:local longdegreelink;

:if ([:pick $longitude 0 1] = "W") do={
    :set longdegree "-";
    :set longdegreelink "W";
} else={
    :set longdegree "+";
    :set longdegreelink "E";
};

:set longdegree ($longdegree . [:pick $longitude 2 $minutestart]);
:set longdegreelink ($longdegreelink . [:pick $longitude 2 $minutestart]);
:local longmin [:pick $longitude ($minutestart + 1) $secondstart];
:local longsec [:pick $longitude ($secondstart + 2) $secondend];
:local longfract ((([:tonum $longmin] * 6000) + ([:tonum $longsec] * 100) + ([:tonum $secfract] * 10) ) / 36);

:while (([:len $zeros] + [:len $longfract]) < 4) do={
    :set zeros ($zeros . "0");
};

:global newlong ($longdegree . "." . $zeros . $longfract);
:global newlonglink ($longdegreelink . "." . $zeros . $longfract);

:global latitude [:pick $gpstext (latstart + 10) $latend];
:set degreestart [:find $latitude " " -1];
:set minutestart [:find $latitude " " $degreestart];
:set secondstart [:find $latitude "'" $minutestart];

:if ([:len [:find $latitude "." 0]] < 1) do={
    :set secondend [:find $latitude "'" $secondstart];
    :set secfract "0";
} else={
    :set secondend [:find $latitude "." $secondstart];
    :set secfract [:pick $latitude ($secondend + 1) ($secondend +2)];
};

:local latdegree;
:local latdegreelink;

:if ([:pick $latitude 0 1] = "N") do={
    :set latdegree "+";
    :set latdegreelink "N";
} else={
    :set latdegree "-";
    :set latdegreelink "S";
};

:set latdegree ($latdegree . [:pick $latitude 2 $minutestart]);
:set latdegreelink ($latdegreelink . [:pick $latitude 2 $minutestart]);
:local latmin [:pick $latitude ($minutestart + 1) $secondstart];
:local latsec [:pick $latitude ($secondstart + 2) $secondend];
:local latfract ((([:tonum $latmin] * 6000) + ([:tonum $latsec] * 100) +([:tonum $secfract] * 10)) / 36);

:set zeros "";

:while (([:len $zeros] + [:len $latfract]) < 4) do={
    :set zeros ($zeros . "0");
};

:global newlat ($latdegree . "." . $zeros . $latfract);
:global newlatlink ($latdegreelink . "." . $zeros . $latfract);

:global coordinates ($newlong . "," . $newlat);

:global linkout "http://maps.google.com?q=$newlatlink+$newlonglink";
:global SMlinkout "http://www.openstreetmap.org/?lat=$newlat&lon=$newlong&zoom=8&layers=M";

:global kmlout "

  
    My router
    My router's location
    
      $coordinates
    
  

";

:if (valid) do={
    :global oldpos;

    :if ($oldpos != $coordinates) do={
        /file set [/file find name=gps.kml] contents=$kmlout
        /tool e-mail
        send to=$email subject="Router move" body="Moved to $latitude $longitude\r\n$linkout\r\n$SMlinkout" file=gps.kml
        :set oldpos $coordinates;
     };
} else={
         /tool e-mail
         send to=$email subject="Router gps position invalid" body="Router gps position invalid"
};

Buat mikrotikgps.php

Mikrotikgps.php berfungsi untuk menyimpan ke database dari data yang dikirim oleh script Mikrotik. https://pastebin.com/jL47etPQ

Buat koneksi.php

Koneksi.php berfungsi untuk menghubungkan ke database gps https://pastebin.com/tkdDbXEv

Buat mikrotik_genxml.php

Mikrotik_genxml.php berfungsi untuk memparse/membuat data dengan format xml dari tabel tbl_gps https://pastebin.com/3F0pquJ7 . Seperti pada gambar dibawah ini:

Buat mikrotiklocation.html

File ini untuk menampilkan peta lokasi/marker posisi Mikrotik. https://pastebin.com/LWHCfNBN

Hasilnya

Hasilnya akan ditampilkan dalam sebuah marker/titik koordinat dalam peta seperti pada gambar dibawah ini:

Sumber :

https://wiki.mikrotik.com/wiki/Manual:GPS-tracking

https://github.com/timmay2/mikrotik-gps

 

Source : https://labkom.co.id/mikrotik/membuat-gps-tracer-di-mikrotik

Membuat Live Chat di Login Page Hotspot dengan tawk.to

 

Tawk.to merupakan aplikasi live chat yang bisa dipasangkan di login page hotspot atau captive portal, dengan menggunakan tawk.to kita bisa berkomunikasi dengan pengunjung untuk tanya jawab tentang layanan hotspot yang kita kelola.

Kelebihan live chat dengan menggunakan tawk.to yaitu kita bisa melihat statistic penggunaan aplikasi tawk.to dibandingkan dengan live chat dengan menggunakan intergram atau telegram, contohnya total pengunjung harian, total obrolan yang terlewat dan yang terjawab, juga akan menyimpan history chat di tawk.to. Dan yang terpenting aplikasi tawk.to ini GRATIS.

Selain itu aplikasi tawk.to juga bisa digunakan di desktop maupun di android dengan akses menggunakan email yang aktif maka live chat dengan menggunakan tawk.to bisa digunakan dimana saja dan kapan saja.

Cara Memasang Live Chat Tawk.to ke Login Page

Untuk memasang liva chat tawk.to ke login page Mikrotik caranya kita terlebih dahulu daftar di halaman https://dashboard.tawk.to/signup. Selanjutnya masukkan nama, password dan email anda yang aktif.

Selanjutnya kita diarahkan ke pengaturan awal seperti pada gambar dibawah ini, silahkan isi judul dan alamat login page hotspotnya.

Selesai, tinggal pasang kode ini di antara tag <body> </body>.

Sebagai contoh saya menambahkan script tawk.to di tag sebelum </body> kta bisa menggunakan text editor seperti notepad++.

Setelah selesai akan menampilkan halaman dashboard dari aplikasi tawk.to yang menampilkan statistic dari penggunaan aplikasi tawk.to ini.

Selanjutnya buka email yang telah didaftarkan ke tawk.to, kita diharuskan memverifikasi email yang telah didaftarkan ke tawk.to

Login Hotspot Mikrotik dengan Live Chat Tawk.to

Login page bisa di download disini:

Download Login Page Hotspot Mikrotik Thema Ramadhan

Dibawah ini tampilan Login Hotspot dengan Live Chat Tawk.to, yang perlu diperhatikan yaitu alamat url yang didaftarkan ke tawk.to harus sesuai dengan alamat url dari login hotspot Mikrotik.

Tampilan live chat admin tawk.to di desktop

Tampilan live chat admin tawk.to di aplikasi android.

Tambahkan Walled Garden di Mikrotik

Agar koneksi dari tawk.to selalu terhubung walaupun belum login ke hotspot kita harus menambahkan tawk.to ke ip hotspot walled-garden

/ip hotspot walled-garden
add dst-host=*.tawk.to
add dst-host=tawk.link

Nah itulah Langkah-langkah Cara Membuat Live Chat di Login Page Hotspot dengan tawk.to, jadi bisa menjadi alternative live chat di login hotspot Mikrotik selain menggunakan intergram atau telegram. Semoga bermanfaat

 

Source :  https://labkom.co.id/mikrotik/membuat-live-chat-di-login-page-hotspot-dengan-tawk-to