Rehber Farklı bir ağdan bilgisayarı açma (Remote Wake-on-LAN)

Katılım
28 Nisan 2016
Mesajlar
1.841
Makaleler
4
Çözümler
32
Yer
Türkiye
Merhaba arkadaşlar. Bugünkü rehberimizde uzaktan farklı bir ağa bağlı iken evde duran bilgisayarımızı nasıl açabiliriz ve bağlanabiliriz onu anlatacağım. Açıkçası araya ek bir cihaz koymadan yapmayı çalıştım lakin modemden port vs. açamadım sanırım o yüzden. Bir de sabit IP adresim olmadığı için araya ek bir cihaz koyarak yapabildim.

Öncelikle bize gerekenler:
1)
Açmak istediğimiz bilgisayar (Wake-on-LAN desteği olmak zorunda)
2) Boşta kullanmadığımız bir Android telefon (iOS için Python server var mı bilemiyorum varsa olur denemedim)
3) Tailscale isimli VPN uygulaması.

Yapmamız gerekenler:
Şimdi öncelikle anakartımızın BIOS ayarlarından Wake-on-LAN veya bazı anakartlarda Power on by PCI-e olarak geçen Ethernet portu üzerinden bilgisayarımızı açmamızı sağlayan ayarı aktifleştiriyoruz. (resim-1)
Resim-1:

1753984014704.png


Ek bilgi-1: ErP Ready disable olmak zorunda.
Ek bilgi-2: Bazı anakartlarda Fast boot enable olursa çalışmıyor bunun için bu seçeneği de disable yapıyoruz.
BIOS kısmında yapmamız gerekenler bunlardı. Şimdi de bilgisayarımızı açıp başlat (sağ tık) > Aygıt Yöneticisi > ağ bağdaştırıcıları > Ethernet kartımız hangisi ise onu sağ tıklayıp özellikler > gelişmiş > sihirli paket eşleştirme uyanması seçeneği aktifleştiriniz. (resim-2)
Sonra yine aynı Ethernet aygıtımızda güç yönetimi kısmına gelip tüm tikleri seçili hale getiriyoruz. (resim-3)
Resim-2:

1753984501815.png


Resim-3:

1753984409477.png


Artık bundan sonra bilgisayar ile bir işimiz kalmıyor. Sırada evde bırakacağımız ve kendi telefonumuzda yapacağımız işlemlere sıra geldi.
Öncelikle kendi telefonumuza taliscale (resim-4) uygulamalarını indiriyoruz. Giriş yapıyoruz. Giriş yaptıktan ve gerekli izinleri verdikten sonra VPN olarak bize özel bir IP adresi veriyor. Şimdilik kendi telefonumuz ile başka yapacak bir işlemimiz kalmıyor. Sadece taliscale ağına bağlı kalmamız yeterli.
Resim-4:

1753984766429.png


Sırada evde bırakacağımız telefondaki işlemlere gelelim. Yine aynı kendi telefonumuzda kurduğumuz gibi taliscale uygulamasını indirip telefonumuzla giriş yaptığımız hesabımızla evde bırakacağımız telefona da giriş yapıyoruz.
Daha sonra Termux uygulamasını evde bırakacağımız telefona indirip uygulamayı açıyoruz.
Öncelikle gereken güncellemeleri ve Python ile Wake-on-LAN kütüphanelerini kuralım.

Bash:
pkg update -y && pkg upgrade -y
pkg install python -y

Python kurulmuşmu kontrol etmek için de:

Bash:
python --version

Eğer Python X. X. X gibi bir şeyler yazıyorsa doğru kurulmuş demektir.
Daha sonra flask ve Wake-on-LAN kütüphanelerini kuruyoruz.

Python:
pip install flask wakeonlan.

Bunları yaptıktan sonra evde kalacak olan telefonumuzun bir yerine (ben download klasörüne kaydettim) gerekli Python kodumuzu kaydediyoruz.

Python:
from flask import Flask, request, render_template_string
from wakeonlan import send_magic_packet

app = Flask(__name__)

MAC_ADDRESS = "ETHERNET MAC ADRESİNİZ"
SECRET_PASSWORD = "OLUŞTURDUĞUNUZ ŞİFRENİZ"

HTML_FORM = '''
<!doctype html>
<title>Wake PC</title>
<h2>PC'yi açmak istiyor musun?</h2>
<form method="POST">
  Şifre: <input type="password" name="password" />
  <input type="submit" value="Aç" />
</form>
{% if error %}
<p style="color:red;">{{ error }}</p>
{% endif %}
'''

@app.route('/wake', methods=['GET', 'POST'])
def wake():
    if request.method == 'POST':
        pw = request.form.get('password')
        if pw == SECRET_PASSWORD:
            send_magic_packet(MAC_ADDRESS)
            return "<h3>WOL paketi gönderildi! PC açılacak.</h3>"
        else:
            return render_template_string(HTML_FORM, error="Şifre yanlış!")
    return render_template_string(HTML_FORM)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5050)

Kodda dikkat etmemiz gereken Ethernet kartımızın MAC adresini ve güvenlik açısından bir şifre yazıp onu unutmamak gerekiyor.
Kodumuzu kayıt edip çalıştırdıktan sonra aşağıdaki metin gibi bir şey çıkması lazım. Kodu çalıştırmak için önce kodumuzun olduğu klasörü seçmek için.
Önce dosya izni vermek için.

Bash:
termux-setup-storage

Daha sonra kodumuzu indirilenler klasörüne kayıt ettiğimiz için indirilenler klasörünün yolunu seçelim.

Python:
cd ~/storage/downloads

Daha sonra LS komutu ile dosyamız var mı kontrol edelim.

Python:
ls

Eğer var ise en son.

Python:
python dosyaadi.py

İle kodumuzu çalıştıralım.

Kod:
* Serving Flask app 'start'.
 * Debug mode: off.
WARNING: This is a development server. Do not use it in a production deployment.
 * Running on http://0.0.0.0:5050
Press CTRL+C to quit

Bu yazıyı gördüysek eğer her şey sorunsuz çalışıyor demektir. Artık yapmamız gereken son bir şey kaldı. En başta cihazlarımıza yüklediğimiz tailscale ile cihazlara atanan IP adreslerimizi alıyoruz. Bizim için önemli olan evde kalacak olan telefonumuzun tailscale IP adresi. Örnek olarak evde bırakacağımız cihazımızın Tailscale'deki IP adresi 192.168.1.50 olsun. Kendi telefonumuzdan aşağıdaki gibi yazıp giriş yapınca sistemimiz uzaktan çalışacaktır.
http://192.168.1.50:5050/wake > şifre kısmını kodumuzda ayarladığımız şifre olacak şekilde yazacağız.
Zaten Tailscale ağımızda olmayan kimse bu linklere giremiyor ama biz yine de önlem olsun diye ekledik.
Bu sistem tailscale ağı üzerinden çalışıyor. Her iki cihazda (evde kalacak olan telefon ve kendi telefonumuz) bağlantı sağlanmadığı takdirde uzaktan başlatma işe yaramayacaktır. Siz ağa bağlanın Python kodunu çalıştırın ve evde kalacak olan cihazı şarj olacak şekilde muhafaza edin yeterli. İster kendi mobil veriniz ile isterseniz de başka bir Wi-Fi aracılığı ile nerede olursanız olun evdeki bilgisayarınız Ethernet ile internete bağlı olduğu sürece uzaktan başlatabileceksiniz.
Bundan sonrası AnyDesk gibi uzaktan kontrol uygulamaları ile cihazınızı kontrol etmekte. Ama dikkat edin Windows 11 de pin yüzünden AnyDesk bazen kendisini otomatik başlatamıyor. Bundan dolayı PIN'i kaldırıp direk açılmayı sağlayacak şekilde ayarlar iseniz bilgisayarı sizin için daha iyi olur.

Umarım anlatabilmişimdir. Eğer bir sorun veya anlamadığınız yer var ise yorumlara yazın el verdiği kadarıyla sizlere yardım etmekten zevk duyarım.
 
Son düzenleyen: Moderatör:
Elinize emeğinize sağlık.
Vallahi sırf fındık zamanı köye gidip 1 ay kalacağım için araştırıp uğraştım. Bir daha kasayı taşımaya çok üşendim. Bu sayede uzaktan sistemi başlatıp AnyDesk ile bilgisayarıma giriş yapıp işlerimi halledebileceğim. Bugün demo testleri baya güzel işe yaradı. İnternetin ortalama çektiği bir yerde uzaktan kasamdan FM24 oynadım oldukça akıcı bir deneyim yaşadım. Ama telefona veya tablet'te olur kullanılacaksa mutlaka klavye mouse ikilisi şart. Parmaklar bir yerden sonra pert oluyor :D
 
Merhaba arkadaşlar. Bugünkü rehberimizde uzaktan farklı bir ağa bağlı iken evde duran bilgisayarımızı nasıl açabiliriz ve bağlanabiliriz onu anlatacağım. Açıkçası araya ek bir cihaz koymadan yapmayı çalıştım lakin modemden port vs. açamadım sanırım o yüzden. Bir de sabit IP adresim olmadığı için araya ek bir cihaz koyarak yapabildim.

Öncelikle bize gerekenler:
1)
açmak istediğimiz bilgisayar (Wake-on-LAN desteği olmak zorunda)
2) boşta kullanmadığımız bir Android telefon (iOS için Python server var mı bilemiyorum varsa olur denemedim)
3) tailscale isimli VPN uygulaması.

Yapmamız gerekenler:
Şimdi öncelikle anakartımızın BIOS ayarlarından Wake-on-LAN veya bazı anakartlarda Power on by PCI-e olarak geçen Ethernet portu üzerinden bilgisayarımızı açmamızı sağlayan ayarı aktifleştiriyoruz. (resim-1)
Resim-1:

Eki Görüntüle 2546953

Ek bilgi-1: ErP Ready disable olmak zorunda.
Ek bilgi-2: Bazı anakartlarda Fast boot enable olursa çalışmıyor bunun için bu seçeneği de disable yapıyoruz.
BIOS kısmında yapmamız gerekenler bunlardı. Şimdi de bilgisayarımızı açıp başlat (sağ tık) > Aygıt Yöneticisi > ağ bağdaştırıcıları > Ethernet kartımız hangisi ise onu sağ tıklayıp özellikler > gelişmiş > sihirli paket eşleştirme uyanması seçeneği aktifleştiriniz. (resim-2)
Sonra yine aynı Ethernet aygıtımızda güç yönetimi kısmına gelip tüm tikleri seçili hale getiriyoruz. (resim-3)
Resim-2:

Eki Görüntüle 2546965

Resim-3:

Eki Görüntüle 2546961

Artık bundan sonra bilgisayar ile bir işimiz kalmıyor. Sırada evde bırakacağımız ve kendi telefonumuzda yapacağımız işlemlere sıra geldi.
Öncelikle kendi telefonumuza taliscale (resim-4) uygulamalarını indiriyoruz. Giriş yapıyoruz. Giriş yaptıktan ve gerekli izinleri verdikten sonra VPN olarak bize özel bir IP adresi veriyor. Şimdilik kendi telefonumuz ile başka yapacak bir işlemimiz kalmıyor. Sadece taliscale ağına bağlı kalmamız yeterli.
Resim-4:

Eki Görüntüle 2546967

Sırada evde bırakacağımız telefondaki işlemlere gelelim. Yine aynı kendi telefonumuzda kurduğumuz gibi taliscale uygulamasını indirip telefonumuzla giriş yaptığımız hesabımızla evde bırakacağımız telefona da giriş yapıyoruz.
Daha sonra Termux uygulamasını evde bırakacağımız telefona indirip uygulamayı açıyoruz.
Öncelikle gereken güncellemeleri ve Python ile Wake-on-LAN kütüphanelerini kuralım.

Bash:
pkg update -y && pkg upgrade -y
pkg install python -y

Python kurulmuşmu kontrol etmek için de:

Bash:
python --version

Eğer Python X. X. X gibi bir şeyler yazıyorsa doğru kurulmuş demektir.
Daha sonra flask ve Wake-on-LAN kütüphanelerini kuruyoruz.

Python:
pip install flask wakeonlan.

Bunları yaptıktan sonra evde kalacak olan telefonumuzun bir yerine (ben download klasörüne kaydettim) gerekli Python kodumuzu kaydediyoruz.

Python:
from flask import Flask, request.
from wakeonlan import send_magic_packet.

app = Flask(__name__)

MAC_ADDRESS = "00:11:22:33:44:55" # Kendi PC'nin MAC adresi.

@app.route("/wake")
def wake():
 key = request.args.get("key")
 if key != "Şifremiz":
 return "Yetkisiz", 403.
 send_magic_packet(MAC_ADDRESS)
 return "Wake-on-LAN paketi gönderildi."

if __name__ == "__main__":
 app.run(host="0.0.0.0", port=5000)

Kodda dikkat etmemiz gereken Ethernet kartımızın MAC adresini ve güvenlik açısından bir şifre yazıp onu unutmamak gerekiyor.
Kodumuzu kayıt edip çalıştırdıktan sonra aşağıdaki metin gibi bir şey çıkması lazım. Kodu çalıştırmak için önce kodumuzun olduğu klasörü seçmek için.
Önce dosya izni vermek için.

Bash:
termux-setup-storage

Daha sonra kodumuzu indirilenler klasörüne kayıt ettiğimiz için indirilenler klasörünün yolunu seçelim.

Python:
cd ~/storage/downloads

Daha sonra LS komutu ile dosyamız var mı kontrol edelim.

Python:
ls

Eğer var ise en son.

Python:
python dosyaadi.py

İle kodumuzu çalıştıralım.

Kod:
* Serving Flask app 'wake_server'.
 * Debug mode: off.
WARNING: This is a development server. Do not use it in a production deployment.
 * Running on http://0.0.0.0:5000
Press CTRL+C to quit

Bu yazıyı gördüysek eğer her şey sorunsuz çalışıyor demektir. Artık yapmamız gereken son bir şey kaldı. En başta cihazlarımıza yüklediğimiz tailscale ile cihazlara atanan IP adreslerimizi alıyoruz. Bizim için önemli olan evde kalacak olan telefonumuzun tailscale IP adresi. Örnek olarak evde bırakacağımız cihazımızın Tailscale'deki IP adresi 192.168.1.50 olsun. Kendi telefonumuzdan aşağıdaki gibi yazıp giriş yapınca sistemimiz uzaktan çalışacaktır.
http://192.168.1.50:5000/wake?key=gizlisifre > gizli şifre kısmını kodumuzda ayarladığımız şifre olacak şekilde yazacağız örnek olarak http://192.168.1.50:5000/wake?key=technopat34 gibi.
Zaten Tailscale ağımızda olmayan kimse bu linklere giremiyor ama biz yine de önlem olsun diye ekledik.
Bu sistem tailscale ağı üzerinden çalışıyor. Her iki cihazda (evde kalacak olan telefon ve kendi telefonumuz) bağlantı sağlanmadığı takdirde uzaktan başlatma işe yaramayacaktır. Siz ağa bağlanın Python kodunu çalıştırın ve evde kalacak olan cihazı şarj olacak şekilde muhafaza edin yeterli. İster kendi mobil veriniz ile isterseniz de başka bir Wi-Fi aracılığı ile nerede olursanız olun evdeki bilgisayarınız Ethernet ile internete bağlı olduğu sürece uzaktan başlatabileceksiniz.
Bundan sonrası AnyDesk gibi uzaktan kontrol uygulamaları ile cihazınızı kontrol etmekte. Ama dikkat edin Windows 11 de pin yüzünden AnyDesk bazen kendisini otomatik başlatamıyor. Bundan dolayı PIN'i kaldırıp direk açılmayı sağlayacak şekilde ayarlar iseniz bilgisayarı sizin için daha iyi olur.

Umarım anlatabilmişimdir. Eğer bir sorun veya anlamadığınız yer var ise yorumlara yazın el verdiği kadarıyla sizlere yardım etmekten zevk duyarım.

Hocam yanılmıyorsam koddaki ilk if koşulunda, 12. satırda indentation hatası var. Güncellerseniz daha sağlıklı olur kopyala yapıştır yapan arkadaşlar için.
 
Hocam yanılmıyorsam koddaki ilk if koşulunda, 12. satırda indentation hatası var. Güncellerseniz daha sağlıklı olur kopyala yapıştır yapan arkadaşlar için.
Durun direk kendime yaptığım kod ile güncelleyeyim o zaman.

Hocam yanılmıyorsam koddaki ilk if koşulunda, 12. satırda indentation hatası var. Güncellerseniz daha sağlıklı olur kopyala yapıştır yapan arkadaşlar için.
Hocam düzenledim. Kendimde kullandığım kodu ekledim hem bu sayede HTML ile biraz daha şık olmuş oldu. Önceden direk link açılınca başlatılıyordu sistem. Şİmdi şifre soruyor ve buton ile açabiliyoruz.
 
Durun direk kendime yaptığım kod ile güncelleyeyim o zaman.


Hocam düzenledim. Kendimde kullandığım kodu ekledim hem bu sayede HTML ile biraz daha şık olmuş oldu. Önceden direk link açılınca başlatılıyordu sistem. Şİmdi şifre soruyor ve buton ile açabiliyoruz.
Çok iyi hocam. Bu arada hiç django deneyiminiz var mı?
 
Çok iyi hocam. Bu arada hiç django deneyiminiz var mı?
Valla hocam yalan olmasın hiç python'a bile yeni yeni başladım. Temel şeyler vs. ile o yüzden yok diyeyim bu sorunuza. Ben daha çok php ile ilgileniyorum. Dinamik siteler, cms tarzı siteler ile. Yeni yeni ihtiyaç duydukça python felan kullanıyorum :D
 
Valla hocam yalan olmasın hiç python'a bile yeni yeni başladım. Temel şeyler vs. ile o yüzden yok diyeyim bu sorunuza. Ben daha çok php ile ilgileniyorum. Dinamik siteler, cms tarzı siteler ile. Yeni yeni ihtiyaç duydukça python felan kullanıyorum :D
Anladım hocam kolay gelsin. Bir web sitesi üzerine çalışıyorum ve ne yalan söyliyim tek başıma zor eğer ilgilenirseniz detayları konuşmak isterim
 

Technopat Haberler

Geri
Yukarı