Facebook sohbet kullanılabilirliğini devre dışı bırak (Şimdi etkin, şimdi etkin, x dakika önce etkin)


15

Facebook sohbet kullanılabilirliğini nasıl devre dışı bırakabilirim? Sohbetim çevrimdışı ve Firefox ile Windows 7 kullanıyorum. Mobil Facebook'um aracılığıyla diğer hesabımla giriş yaptığımda ve bir sohbet oturumu açtığımda, farem her hareket ettiğimde veya sayfayı yenilediğimde bilgisayarımda kullandığım hesabın "şimdi" etkin olduğunu görüyorum.

Bunu nasıl devre dışı bırakabilirim? AdBlock Plus veya başka bir şeyle engellenmesi mümkün olan belirli bir kalp atışı mesajı var mı?

Yanıtlar:


11

Tamam, bu durumu engellemek için bir çözüm buldum.

Temelde Facebook bir zamanlayıcı kullanır ve böylece sunucularına her x dakikada bir boşta kalma süresi ile bir kalp atışı mesajı gönderir.

İşte böyle bir web isteğine bir örnek:

https://1-edge-chat.facebook.com/pull?channel=userid&seq=0&partition=-2&clientid=18ae8ecc&cb=ie3k&idle=117&qp=y&cap=8&msgs_recv=0&uid=userid&viewer_uid=userid&msgr_region=FRC&state=offline

Bu bağlantıyı okursanız, & idle = 117'nin hesabın boşta kaldığı toplam saniye olduğunu görürsünüz . Devlet = çevrimdışı sohbet etkin veya çevrimdışı olup olmadığını açılımı

15 basamaklı kullanıcı kimliğimi değiştirdiğimi unutmayın.

Bunu devre dışı bırakmak için AdBlock filtrelerinize aşağıdaki kuralı eklemeniz yeterlidir:

https://*-edge-chat.facebook.com

Bu yöntemin bir dezavantajı, gerçek zamanlı olarak mesaj almayacaksınız. İletileri almak için sayfayı yenilemeniz gerekir.


1
Bunun gibi bir şey iOS 9 içerik engelleyicileriyle Safari'de çalışır mı?

0

Ek ayrıntılar sağladığım için, orijinaline göre kendi cevabımı yazıyorum (düzenlemek yerine).

Evet, bunu yapmanın bir yolu var, ancak bu yöntem yalnızca web tabanlı Facebook ve Messenger için çalışır; mobil uygulamalar için benzer bir şey yapamazsınız.

Temel olarak, Facebook istemcinin hala kullanılabilir olup olmadığını kontrol etmek için sunucu tarafında zamanlanmış istekleri kullanır. Böylece ön uç (yüklü Facebook web sayfası), sunucularına boşta kalma süresi olan bir HTTP isteği ( XHR ) periyodik olarak gönderir .

İşte böyle bir talebe bir örnek:

https://1-edge-chat.facebook.com/pull?channel=p_<UserID>&seq=0&partition=-2&clientid=18ae8ecc&cb=ie3k&idle=117&qp=y&cap=8&msgs_recv=0&uid=userid&viewer_uid=userid&msgr_region=FRC&state=offline

Not: Normalde bir sayı olan kullanıcı kimliğini değiştirdim.

Yukarıdaki URL'yi okuduysanız, boşta = 117 diyen kısmı görürsünüz . Bu, hesabın boşta kaldığı toplam saniye sayısını gösterir. Devlet = çevrimdışı sohbet açılıp kapatılabilir olup olmadığını simgeler.

Bu nedenle, bunu devre dışı bırakmak için reklam engelleyicinizin özel filtre listesine aşağıdaki kuralı eklemeniz yeterlidir:

||*-edge-chat.facebook.com^$xmlhttprequest

Facebook ve Messenger'da devre dışı bırakmak için aşağıdaki iki satırı ekleyebilirsiniz:

||*-edge-chat.facebook.com^$xmlhttprequest
||*-edge-chat.messenger.com^$xmlhttprequest

Veya regex kullanarak tek satır :

/^https?\:\/\/\d+-edge-chat\.(facebook|messenger)\.com\/?/$xmlhttprequest

Bu yöntemin birkaç dezavantajı, gerçek zamanlı olarak mesaj alamayacağınız ve sohbet açık olsa bile çevrimiçi görünmeyeceğinizdir. Yeni mesajlar almak için sayfayı yenilemeniz gerekir.

Bu dezavantajların her ikisinden de kaçınmak için bir çözüm var. Bunun yerine bu satırı ekleyebilirsiniz:

/^https?\:\/\/\d+-edge-chat\.facebook\.com\/pull\?.*state=offline/$xmlhttprequest

Veya bunu hem Facebook hem de Messenger için ekleyin:

/^https?\:\/\/\d+-edge-chat\.(facebook|messenger)\.com\/pull\?.*state=offline/$xmlhttprequest

Bunun sonucu şöyle olacaktır:

  1. Sohbetiniz kapalıyken çevrimiçi görünmeyeceksiniz, son etkinliğiniz rapor edilmeyecek ve gerçek zamanlı olarak mesaj alamayacaksınız.
  2. Sohbetiniz açıkken çevrimiçi görüneceksiniz, son etkinliğiniz raporlanacak ve gerçek zamanlı olarak mesaj alabileceksiniz.

Ne yazık ki, başka bir çözüm yok gibi görünüyor, çünkü Facebook'un ön ucu sadece müşteri düzenli olarak aktif olduklarını bildirdiğinde mesajlar getirebilir, bu nedenle getirme son etkinlik bildirildikten sonra yapılır. Bu eylemlerin her ikisi de aynı istekle tek bir arka uç komut dosyası ( * -edge-chat.facebook.com / pull ) ile mümkün olur; bu nedenle, diğeri olmadan sahip olamazsınız.


-2

Uzantılarımı devre dışı bırakan ve şimdi iyi çalışan Chrome'u sıfırladım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.