İçeriğe atla
ColliePWA

04/Documentation

Windows üzerinde Collie

Herdr ile Windows 11: nelerin desteklendiği, install.ps1 ile kurulum, imzasız ikili dosya, güncelleme, uzun dosya yolları ve nelerin test edilmediği

Windows 11 üzerinde Collie nasıl kurulur, telefonda nasıl açılır ve çıkabilecek sorunlar nasıl giderilir? Önce Güvenlik bölümünü okuyun: Collie, tasarımı gereği makinenize uzaktan kabuk erişimi verir.

Linux ve macOS üzerinde collie start, Tailscale Serve ile Collie uygulamasını telefonunuza sizin yerinize yayınlayabilir. Tailscale, cihazlarınızı tailnet adı verilen özel bir ağda birleştiren bir hizmettir.

Windows üzerinde Collie kendisini yayınlamaz. Tailscale Serve, Collie uygulamasına tailnet ağınızda bir HTTPS adresi verir ve Windows üzerinde bu adımı elle çalıştırırsınız. Telefonunuzdan erişim bunun nasıl yapılacağını gösterir.

Deneysel. Deneysel, proje yöneticisinin Windows koduna sahip olduğu ve kodu test ettiği, ancak aşağıdaki bölümlerin henüz tam olarak kanıtlanmadığı anlamına gelir. Durumun tamamı şudur: Test edildi - Sürüm dosyalarının yerel kopyalarıyla bir Windows 11 sanal makinesinde 25 adımlı kurulum, güncelleme ve geri alma denemesi. - Bir Windows 11 sanal makinesinde halka açık v1.16.0 sürümünden gerçek bir kurulum: install.ps1 sürümü buldu, sha256 eşleşti ve collie.exe çalıştı. Ardından collie start, collie status, collie doctor ve collie stop çalıştı. - Headscale tailnet üzerinde HTTP üzerinden Tailscale Serve ile telefon erişimi: Host kontrolü, collie url, eşleme ve yazma kapısı. Henüz test edilmedi - Windows üzerinde iki gerçek sürüm arasında bir güncelleme. - Windows üzerinde Tailscale Serve hizmetinin HTTPS biçimi; bununla birlikte ana ekran kurulumu, Web Push ve mikrofon. - Windows 10, Windows Server, ARM üzerinde Windows ve Nelerin test edilmediği içindeki diğer maddeler. Sürüm kontrolü bundan böyle Windows zip dosyasını gerektirir. Bir Linux acil düzeltmesi (ayrıntılar) için bunu yalnızca proje yöneticisi geçersiz kılabilir.

Elde edecekleriniz

Collie, terminalinizdeki aracıları telefonunuzda gösterir; böylece hangisinin size ihtiyacı olduğunu görüp yanıtlayabilirsiniz.

Aracılar Herdr bölmelerinde çalışır. Bölme, Herdr içindeki bir terminal penceresidir. Herdr bir terminal çoklayıcıdır, aracılarınızın bölmelerde çalışmasını sağlayan bir programdır. Windows üzerinde desteklenen tek çoklayıcı Herdr uygulamasıdır.

Collie; Claude Code, Codex, OpenCode, pi ve omp gibi aracıları okur. Aracının kendisi Windows üzerinde çalışmalıdır. Hangilerinin çalıştığı Collie ile değil, aracının kendisiyle ilgilidir.

Başlamadan önce

Şunlara ihtiyacınız vardır:

  • x64 mimarisinde Windows 11. WSL burada Windows sayılmaz. WSL içinde, Yükleme içindeki Linux kurulumunu takip edin.
  • PowerShell. Windows 11 ile birlikte gelen Windows PowerShell 5.1 yeterlidir.
  • Windows için Herdr 0.9.3 veya daha yenisi. Aşağıdaki 1. adım bunu kurar. Windows derlemesini Herdr projesi yapar ve Collie buna bağımlıdır.
  • Bir tarayıcıya sahip Bir telefon, bir iPhone veya bir Android telefon.
  • Ücretsiz bir Tailscale hesabı. Tailscale uygulamasına ilk kez giriş yaptığınızda oluşturursunuz. Bilgisayar ve telefon aynı hesaba giriş yapmalıdır. Telefon bilgisayara bu hesap üzerinden ulaşır; 6. adım bunu ayarlar.

Smart App Control özelliğinin açık olup olmadığını kontrol edin, çünkü collie.exe uygulamasını engelleyebilir. Windows Güvenliği uygulamasını açın, ardından Uygulama ve tarayıcı denetimi ve ardından Smart App Control ayarları bölümüne gidin. Üç durumu vardır:

DurumBu kurulum için ne anlama geldiği
KapalıHiçbir şeyi engellemez.
DeğerlendirmeWindows bunu açıp açmayacağına hâlâ karar veriyor. Test sanal makinesinde Collie engellenmedi.
AçıkDosya imzalanmadığı ve dosya bazlı izin içermediği için collie.exe engellenebilir.

Açıksa önce İmzalanmamış ikili dosya bölümünü okuyun. Seçeneklerinizi listeler.

Sıfırdan telefona

Bu adımları sırayla takip edin. Listenin ardından, her adımdan sonra ne görmeniz gerektiği açıklanmıştır. Yükleyici betiği çalıştırmadan önce okumak için Yükleme bölümüne bakın.

  1. Herdr uygulamasını kendi yükleyicisiyle kurun, ardından sürümü kontrol edin:
    irm https://herdr.dev/install.ps1 | iex
    herdr --version
  1. Collie uygulamasını kendi yükleyicisiyle kurun:
    irm https://colliepwa.dev/install.ps1 | iex
  1. YENİ bir terminal açın, Herdr uygulamasını burada başlatın ve açık bırakın:
    herdr
  1. İkinci bir terminal ya da yeni bir Herdr bölmesi açın, ardından Collie uygulamasını başlatıp adresini yazdırın:
    collie start
    collie url
  1. Bir Herdr bölmesinde aracınızı başlatın; örneğin Claude Code:
    claude
  1. Projenin Windows üzerinde yalnızca HTTP üzerinden çalıştırdığı Telefonunuzdan erişim ile telefona bir giriş yolu sağlayın. Bunun tailscale serve komutundan önce Collie uygulamasına yalnızca bu bilgisayar erişebilir; bu komuttan sonra ise siz eşleştirene kadar tailnet ağınızdaki her cihaz erişebilir.
  1. Telefonda bu adresi tarayıcıya yazın veya kendinize gönderin, ardından Telefonunuzda açın içinde gösterildiği gibi Collie uygulamasını ana ekrana ekleyin.
  1. Bilgisayarda bunu çalıştırarak telefonu eşleştirin:
    collie pair

Her adımdan sonra görmeniz gerekenler:

  1. Herdr kendi yükleyici çıktısını yazdırır. herdr --version komutu 0.9.3 veya daha yenisini yazdırır. Yükleyici Herdr projesine ait olduğu için bu sayfanın kendine ait bir Herdr komutu yoktur. Bu komut başarısız olursa herdr.dev adresini açın ve oradaki Windows adımlarını uygulayın.
  2. Betik her adımı yazdırır. OK Collie ile başlayan bir satırla ve Next steps. This script does not take them for you:, ardından 1. Open a NEW terminal window. ve 3. Start Collie, then print its address: ile başlayan sonraki adımlar listesiyle biter. Betiği önce okumak için Yükleme bölümüne bakın.

    Hiçbir servis başlatılmaz ve hiçbir şey çalışır durumda kalmaz. Betik, Windows'un çalışmasına izin verdiğini denetlemek için collie.exe version komutunu bir kez çalıştırır, hepsi bu.

  3. Herdr açılır ve o terminali devralır. Windows yeni PATH değerini yalnızca kurulumdan sonra açılan pencerelere verdiği için yeni bir terminal gereklidir.
  4. Herdr ilk terminali tuttuğu için ikinci bir terminal gereklidir. collie start komutu Collie çalışıyor başlığını ve Collie uygulamasının burada ön kapı yayımlamadığını belirten bir notu yazdırır. Ön kapı, Collie önünde duran ve telefonunuzun açtığı HTTPS adresidir. Bu not Windows üzerinde beklenen bir durumdur: adım 6 o kısmı elle yapar. Tailscale kurulmadan önce stderr üzerine şu satırı da yazdırır: error: 'tailscale status' named no host for this node. Bu satır bu aşamada normaldir ve 6. adımdan sonra kaybolur.
  5. Aracınız bölmede başlar. Collie bunu panosunda gösterir.
  6. tailscale serve status komutu tailnet adresinizi gösterir ve collie url bunu yazdırır. Bu adımdan önce collie url, yalnızca bu bilgisayarın açabileceği bir geridöngü adresi (127.0.0.1) yazdırabilir. Panoyu görmek için bu adresi bu bilgisayardaki bir tarayıcıda açabilirsiniz.
  7. Telefon Collie panosunu gösterir. Sizi bekleyen bölmeler ilk sırada yer alır.
  8. collie pair sekiz karakterlik bir kod, ardından single-use · expires <time> (10 minutes) benzeri bir satır ve sonra bir QR kodu yazdırır. Kodu telefondaki Collie içinde, ana ekrandan açtığınız uygulamaya yazın. Ardından telefon eşleştirilir.

Yükleme

install.ps1 ne yapar ve neleri değiştirebilirsiniz.

irm https://colliepwa.dev/install.ps1 | iex

Komut dosyasını çalıştırmadan önce okumak için kaydedin, açın ve bir dosya olarak çalıştırın:

Invoke-WebRequest -OutFile install.ps1 https://colliepwa.dev/install.ps1
notepad install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1

install.ps1 için Bun, Git ve bash gerekmez. En yeni beş sürüme bakar, Windows zip dosyası içeren ilk sürümü alır, sha256 değerini doğrular ve uyuşmazlık durumunda durur. sha256, dosyanın parmak izidir. Komut dosyası her adımı ekrana yazar ve hiçbir zaman yönetici yetkisi istemez. Hiçbir sürüm zip dosyasını içermiyorsa aşağıda açıklanmıştır olarak durur.

Hangi komut dosyalarının çalışabileceğini belirleyen Windows kuralı olan varsayılan yürütme ilkesi Restricted, indirilen bir komut dosyası dosyasını reddeder. "Önce oku" varyantının son satırı, yalnızca o çalıştırma için Bypass ayarını uygular. Diğer yöntem Unblock-File .\install.ps1 şeklindedir. irm ... | iex biçimi komut dosyası metnini doğrudan çalıştırır ve buna ihtiyaç duymaz.

Komut dosyası, sürümü %LOCALAPPDATA%\collie\versions\<version> dizinine yerleştirir, current kavşağını (junction) bu sürüme yönlendirir ve kullanıcı PATH değişkeninize current\bin değerini ekler. Kavşak bir Windows klasör bağlantısıdır ve current her zaman çalışan sürüme işaret eder. Komut dosyası, Windows'un çalışmasına izin verdiğini doğrulamak için collie.exe version komutunu bir kez çalıştırır. Başka hiçbir şey başlatmaz. İkinci bir çalıştırma hiçbir şeyi değiştirmez ve collie update hedefini gösterir.

DeğişkenEtki
COLLIE_DIRKurulumun yapılacağı yer. Varsayılan %LOCALAPPDATA%\collie. Kısa tutun.
COLLIE_TAGBelirli bir sürümü kurun, örneğin v1.16.0.
COLLIE_UPDATE_REPOİndirmenin yapılacağı GitHub deposu. Varsayılan AltanS/collie.
COLLIE_NO_PATH_EDIT=1PATH değişkeninize dokunmayın. <COLLIE_DIR>\current\bin\collie.exe çalıştırın.

Zip dosyası ayrıca GitHub üzerindeki her sürüm sayfasında, .sha256 dosyasının yanında yer alır. Zip dosyasını elle kurmak yerine komut dosyasını kullanın.

collie start, herdr.collie adında bir Görev Zamanlayıcı görevi kaydeder. Görev Zamanlayıcı, işleri belirli zamanlarda veya olaylarda çalıştıran Windows programıdır. Bu görev, Collie uygulamasını oturum açtığınızda sınırlı bir belirteçle, yani yönetici hakları olmadan başlatır.

Görev bir başlatıcı çalıştırır; bu başlatıcı, köprünün bir hatayla kapanması durumunda köprüyü yeniden başlatan küçük bir programdır. Köprü, bilgisayarınızda çalışan ve web sayfasını telefonunuza sunan Collie programıdır.

Telefonunuzdan erişim

Sıfırdan telefona kılavuzunun 6. adımı, eksiksiz olarak. Bunlar Linux ve macOS üzerindeki adımların aynısıdır, elle uygulanır. Proje bunları Windows üzerinde bir kez, HTTP üzerinden, bir Headscale tailnet ağında (Headscale, kendi sunucunuzda barındırılan bir Tailscale sunucusudur), telefon boyutuna getirilmiş bir masaüstü tarayıcısıyla çalıştırdı. Aşağıdaki HTTPS biçimi çalıştırılmadı; gerçek bir telefon veya ajan kullanılmadı. Bir adım başarısız olursa bildirin (burada).

Dikkat. tailscale serve komutundan (aşağıdaki 3. adım) bir cihazı eşleyene kadar, Collie tailnet ağınızdaki her cihaza açıktır ve bu cihazlar panellerinizi okuyabilir ve bunlara yazabilir. Bu komuttan önce Collie uygulamasına yalnızca bu bilgisayar erişebilir. Telefon adımlarını ve collie pair işlemini hemen ardından yapın. Tailnet ağınızı başka kişiler paylaşıyorsa hemen eşleme yapın ve Collie erişimini kimlerin sağlayabileceğini kısıtlamak için Güvenlik bölümünü okuyun.
  1. Tailscale uygulamasını bilgisayara ve telefona kurun, her ikisinde de aynı hesapla oturum açın: tailscale.com/download.
  1. Tailscale yönetici konsolu içinde DNS sayfasını açın, MagicDNS özelliğini etkinleştirin ve ardından HTTPS'i etkinleştirin seçeneğini belirleyin.
  1. Bilgisayarda yeni bir terminal açarak Collie için varsayılan yerel bağlantı noktası olan 8787 portunu tailnet ağınızda yayınlayın:
    tailscale serve --bg --set-path=/ 8787
  1. Yoksa Collie yapılandırma klasörünü oluşturun, ardından .env dosyasını açın:
    New-Item -ItemType Directory -Force "$env:APPDATA\herdr\plugins\config\herdr.collie"
    notepad "$env:APPDATA\herdr\plugins\config\herdr.collie\.env"
  1. 3. adımdaki kendi adınızı kullanarak bu iki satırı dosyanın sonuna ekleyin ve kaydedin:
    COLLIE_PUBLIC_HOSTS=myhost.tail1234.ts.net
    COLLIE_PUBLIC_URL=https://myhost.tail1234.ts.net
  1. Köprüyü yeniden başlatın, ardından adresi yazdırın:
    collie restart
    collie url

Collie yalnızca bu bilgisayarda, yalnızca bu bilgisayarın erişebileceği bir geri döngü (loopback) adresinde dinler. Linux ve macOS üzerinde collie start, Tailscale Serve işlemini sizin yerinize çalıştırır. "Yönetilen ön kapı" bu anlama gelir: Collie adresi kendisi yayınlar. Windows üzerinde collie start bunu yapmaz, bu yüzden Tailscale Serve komutunu kendiniz çalıştırırsınız.

3. adımda Tailscale, https://myhost.tail1234.ts.net benzeri bir adres içeren bir satır yazdırır. Ad, https:// sonrasındaki kısımdır. Bunu kopyalayın. tailscale serve status aynı adresi gösterir:

https://myhost.tail1234.ts.net (tailnet only)
|-- / proxy http://127.0.0.1:8787

Bu komut, Linux ve macOS üzerinde collie start komutunun sizin yerinize çalıştırdığı komutun aynısıdır. --set-path=/, bu bilgisayarın tailnet ağınızda / üzerinde halihazırda sunduğu her şeyin yerini alır.

Not. Bir Headscale tailnet ağında, 3. adımdaki HTTPS komutu error enabling https feature: error 501 Not Implemented ile başarısız olur çünkü Headscale HTTPS sertifikaları sağlamaz. Siz yayınlayana kadar collie doctor, front-door satırında uyarı verir: this tailnet has no HTTPS certificates, so an https front door cannot be published. Bu durumda, projenin Windows üzerinde çalıştırdığı biçim olan HTTP üzerinden yayınlayın: tailscale serve --bg --http=80 --set-path=/ 8787. Tailnet 80 numaralı bağlantı noktasında yayın yapar, bu nedenle adres bağlantı noktası olmadan http://<name> olur. COLLIE_PUBLIC_URL içinde bu http:// adresini kullanın. Bu komuttan sonra front-door satırı başarılı olur. 1.16.0 sürümünde bu uyarı kalmaya devam eder. Tailscale, tailnet cihazları arasındaki trafiği şifrelediği (WireGuard) ve HTTP atlaması tailnet içinde kaldığı için burada düz HTTP kabul edilebilir. tailscale funnel seçeneğini asla kullanmayın. HTTP üzerinden ana ekrana kurulum, Web Push ve mikrofon kapalı kalır. Linux ve macOS üzerinde, Collie uygulamasının kendi HTTP modu bunun yerine köprü bağlantı noktası üzerinden yayın yapar (COLLIE_SERVE_MODE). Collie, Windows üzerinde Serve çalıştırmaz, dolayısıyla bu değişken burada hiçbir yayın ayarını değiştirmez.

HTTPS etkinleştirilmiş bir tailnet ağında Tailscale, adrese telefonun güvendiği bir sertifika sağlar. Headscale üzerinde, yukarıdaki Nota bakın. Ana ekrana kurulum, Web Push (telefonunuza gelen bildirimler) ve mikrofon HTTPS gerektirir. Düz HTTP üzerinden bunlar kapalı kalır (Ses girişi ve Web Push).

4. adımda Not Defteri, dosya mevcut değilse oluşturulup oluşturulmayacağını sorar. Evet seçeneğine tıklayın. Bu klasör, herdr.collie için Herdr eklenti yapılandırma klasörüdür; varsayılan olarak %APPDATA%\herdr\plugins\config\herdr.collie şeklindedir. Collie bunu Herdr üzerinden ister, bu yüzden herdr plugin config-dir herdr.collie bunu yazdırır.

COLLIE_PUBLIC_HOSTS Host denetimidir: Collie her istekteki web sitesi adını okur ve bu listede olmayan adları reddeder; bu sayede bir web sayfasının DNS rebinding yoluyla kendisine erişmesini engeller. COLLIE_PUBLIC_URL, collie url komutunun ve collie pair QR kodunun yazdırdığı adrestir. Collie uygulamasını tam adıyla açın: Host denetimi, tailnet IP adresini ve kısa adı reddeder. Collie ayrıca başlangıçta tailnet adını kendisi bulmayı dener. Bu iki satır durumu kesinleştirir.

Collie bu eşlemeyi Windows üzerinde yönetmez. collie stop ve collie uninstall bunu olduğu gibi bırakır. tailscale serve status bunu gösterir ve tailscale serve reset bilgisayardaki tüm Serve eşlemelerini temizler. tailscale funnel seçeneğini asla kullanmayın: Funnel, Collie uygulamasını herkese açık internete açar.

Web isteklerini Collie uygulamasına ileten bir program olan ters proxy'yi veya başka bir tüneli tercih ederseniz, Dağıtım varyantları açıklar. Bu durum, COLLIE_PUBLIC_HOSTS değeri telefonunuzun açtığı ada ayarlanmış Varyant C şeklindedir. İlk collie start, Collie yalnızca bu makinede dinlediği için güvenlik duvarı uyarısı vermez.

Telefonunuzda açın

  1. collie url çıktısındaki adresi telefona aktarın: yazarak girin veya kendinize gönderin. iPhone üzerinde Safari ile açın. Android telefonda Chrome ile açın. Telefonda tailnet ağınızda oturum açmış Tailscale uygulaması bulunmalıdır.
  2. Bir uygulama gibi tam ekran açılması için Collie uygulamasını ana ekrana ekleyin: - iPhone: Safari içinde, Paylaş öğesine dokunun, Ana Ekrana Ekle öğesine dokunun, ardından Ekle öğesine dokunun. - Android: Chrome içinde, Collie Ayarlar sayfasını açın ve üst karttaki Yükleme öğesine dokunun.
  3. Yeni simgeden Collie'yi açın.
  4. Uygulamada Ayarlar, ardından Sistem, ardından Eşlenmiş aygıtlar öğesini açın.
  5. Bilgisayarda collie pair komutunu çalıştırın, kodu ve bir ad yazın, ardından Bu cihazı eşle öğesine dokunun.

Kodu simgeden açtığınız uygulamaya yazın. collie pair tarafından yazdırılan QR kodunu taramayın: kamera kodu bir tarayıcı sekmesinde açar ve iPhone'da ana ekran uygulaması Safari'den ayrı kendi depolama alanını tutar, bu nedenle sekmede yapılan bir eşleme aktarılmaz.

Kod 10 dakika geçerlidir ve bir kez çalışır. Süresi dolduysa collie pair komutunu tekrar çalıştırın. Eşleme, yukarıdaki Dikkat bölümündeki (Bir cihazı eşleyin) açık erişimi sonlandırır.

Günlük komutlar

Bunları herhangi bir terminalde çalıştırın. Her biri, aşağıdaki Windows notlarıyla birlikte Linux ve macOS üzerinde olduğu gibi çalışır.

KomutWindows üzerinde ne yapar
collie startGerekirse herdr.collie görevini kaydeder ve bridge'i başlatır.
collie stopGörevi devre dışı bırakır, çalışan bir bridge'i ve başlatıcısını sonlandırır ve bridge stopped yazdırır. Collie, collie start komutuna kadar bir sonraki oturum açışınızda da kapalı kalır.
collie restartYalnızca bridge'i yeniden başlatır.
collie statusGörevin adını ve durumunu belirtir ve Collie çalışıyor başlığını gösterir.
collie doctorKurulumu, Herdr'ı, uzun yolları ve gizli dosyaları kontrol eder ve her sorun için bir çözüm yazdırır.
collie urlTelefonda açılacak adresi yazdırır.
collie logsGünlük dosyasının son satırlarını yazdırır.
collie updateEn yeni sürüme günceller (Güncelle).
collie update --rollbackÖnceki sürüme geri döner (Güncelle).
collie uninstallGörevi kaldırır (Kaldır).

Güncelle

Linux ve macOS üzerinde olduğu gibi terminalden veya telefondan güncelleyin:

collie update

Güncelleme, sürümü getirir, collie.exe öğesini değiştirir, bridge'i yeniden başlatır ve yanıt verip vermediğini kontrol eder. Yanıt vermezse Collie yaklaşık bir buçuk dakika içinde çalışan sürüme geri döner. Telefondaki Güncelle düğmesi de aynı zinciri çalıştırır.

Elle geri dönmek için bunu çalıştırın. Ağ gerektirmez. current öğesini diskte halen bulunan en yeni eski sürüme yönlendirir ve bridge'i yeniden başlatır. Bu sürüm açılmazsa Collie tekrar ileri gider ve hiçbir şeyi değiştirmez:

collie update --rollback

Eski bir sürüm klasörü, başlatıcı yeniden başlayana kadar versions\ içinde kalabilir; çünkü Windows, çalışan bir programın tuttuğu bir klasörü silmez. Bir sonraki güncelleme bu klasörü kaldırır.

Dikkat. Kaynaktan kurulum Windows üzerinde kendini asla güncellemez: collie update ve telefon düğmesi bunu tek bir cümleyle belirtir ve hiçbir şeyi değiştirmez. İlk zip'ten önce yapılan her Windows kurulumu bir kaynaktan kurulumdur. Zip kurulumuna geçmek tek seferlik manuel bir adımdır: eski görevi kaldırmak için collie uninstall çalıştırın, ardından install.ps1 çalıştırın. Bundan sonra collie update çalışır.

Collie, Windows makinesi başına tek bir kuruluma izin verir ve collie start başka bir kurulumu çalıştıran bir görevi reddeder, bu yüzden önce eski görev kaldırılır. Ayrıca bir kaynaktan kurulumda kalabilir ve bunu elle güncelleyebilirsiniz: daha yeni etiketi getirin, bun run build çalıştırın, ardından collie restart çalıştırın. Derleme, Git for Windows'un bash bileşenine ihtiyaç duyar.

v1.15.0 dahil olmak üzere önceki sürümler çalışan bir collie.exe değiştiremez ve EPERM ile başarısız olur. Düzeltme (PR 309) ilk olarak v1.15.1 ile sunuldu. Windows üzerindeki telefon Güncelle düğmesi gibi daha sonraki Windows güncelleme çalışmaları ilk olarak v1.16.0 ile sunulacaktır.

Kaldır

collie uninstall

collie uninstall bridge'i durdurur ve Görev Zamanlayıcı görevini kaldırır. Her kurulumun dosyalarını koruduğu gibi, kurulum klasörünü, .env dosyanızı ve kullanıcı PATH girdisini korur. Ardından PowerShell için iki satır daha yazdırır. İlki kurulum klasörünü kaldırır. İkincisi kayıt defteri üzerinden kullanıcı PATH'inizden yalnızca current\bin öğesini kaldırır. Collie iki satırı, içlerinde gerçek klasörünüz olacak şekilde birer satır halinde yazdırır. Buraya sığması için kaydırılmış halleri şöyledir:

cmd /c rmdir /s /q "<install folder>"
$k = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true)
$k.SetValue('Path', (($k.GetValue('Path', '', 'DoNotExpandEnvironmentNames') -split ';' |
  Where-Object { $_.TrimEnd('\') -ne '<install folder>\current\bin' }) -join ';'),
  $k.GetValueKind('Path'))
$k.Close()

Mümkün olduğunda satırları Collie'nin kendi çıktısından kopyalayın. Collie, elle yaptığınız bir tailscale serve eşlemesini kaldırmaz (Telefonunuzdan erişim).

Bir sorun çıktığında

Önce collie doctor çalıştırın, ardından sorununuzu aşağıda bulun.

collie doctor kurulumu kontrol eder ve bulduğu her sorun için bir çözüm yazdırır. Ardından aşağıdaki bölümlerden gördüğünüz duruma uyanı okuyun. Hiçbiri uymuyorsa Günlükler içinde açıklanan günlüğe bakın.

Bir sorun bildirmek için github.com/AltanS/collie/issues adresinde bir issue açın. Windows çalıştırdığınızı belirtin, collie version çıktısındaki Collie sürümünü verin ve collie doctor çıktısı ile günlüğün son satırlarını yapıştırın. Önce gizli bilgileri temizleyin. Günlük, bölme metinlerini içerebilir.

İmzasız ikili dosya: SmartScreen ve Smart App Control

collie.exe imzalanmamıştır, bu nedenle Windows bunu kimin yayımladığını bilmez. Yükleyiciyi çalıştırmadan önce bunu okuyun.

İmzasız bir programı iki Windows özelliği durdurabilir:

  • SmartScreen, internetten gelen bir programı çalıştırmadan önce sorar. Tarayıcıda indirdiğiniz bir dosya için Daha fazla bilgi öğesine, ardından Yine de çalıştır öğesine tıklayın.
  • Smart App Control dosya bazında izin verme seçeneğine sahip değildir. Açıksa ve Collie'yi engelliyorsa yalnızca o tek dosyaya izin veremezsiniz. install.ps1, collie.exe version komutunu çalıştırdığında bu engeli gösterir ve başarı satırı yazdırmaz.

Smart App Control, Collie'yi engelliyorsa sırasıyla şu seçeneklere sahipsiniz:

  1. Açık olup olmadığını kontrol edin: Windows Güvenliği'ni açın, ardından Uygulama ve tarayıcı denetimi, ardından Smart App Control ayarları yolunu izleyin.
  2. Kaynak koddan derleyin (Kaynaktan derleyin); bu işlem kendi makinenizde collie.exe oluşturur. Bu, Smart App Control özelliğinin açık olduğu bir makinede test edilmemiştir.
  3. Smart App Control özelliğinin kapalı olduğu bir PC kullanın veya engellemeyi bir issue açarak bildirin.
  4. Son olarak, Smart App Control özelliğini kapatın. Bunu geri almak zordur: Microsoft belgeleri, özelliği tekrar açmanın bir Windows sıfırlaması gerektirebileceğini belirtmiştir; bu nedenle önce Microsoft'un güncel sayfasını okuyun.

install.ps1 içindeki sha256 denetimi, hasarlı veya değiştirilmiş bir indirmeyi tespit eder. Dosyayı kimin yayımladığını belirtmez, çünkü karma değeri zip dosyasının yanında durur ve birini değiştirebilen diğerini de değiştirebilir. İkili dosyanın imzalanması, belirli bir tarihi olmayan olası bir sonraki adımdır.

Uzun yollar

Gördüğünüz: bir bölme açılmaz ve Herdr The directory name is invalid (os error 267) uyarısı verir. collie doctor önce uyarır: LongPathsEnabled is 0 on this machine.

Windows uzun yolları açık olmadığı sürece Herdr, yolu 260 karakterden uzun olan bir klasörde bölme başlatamaz. collie doctor, kurulum klasörünün kendisi çok uzun olduğunda da uyarır.

Yönetici olarak çalıştırılan bir PowerShell içinde:

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' `
  -Name LongPathsEnabled -Value 1

Halihazırda çalışan programların bunu görebilmesi için Windows'un yeniden başlatılması gerekebilir. Her durumda çalışma klasörlerinizi kısa tutun.

Görev Zamanlayıcı standart bir kullanıcıyı reddeder

Gördüğünüz: collie start, error: schtasks /Create /TN herdr.collie failed ile başarısız olur, Windows 0x80070569 bildirir ve Collie, hesabın "Toplu iş olarak oturum aç" yetkisine sahip olmadığını belirtir.

Bu durum, bu yetkiye hiç sahip olmamış standart bir kullanıcı hesabını etkiler. Bir yönetici hesabı genellikle buna sahiptir.

Bir yönetici yetkiyi tanımlar:

  1. secpol.msc çalıştırın.
  2. Önce Yerel İlkeler'i, ardından Kullanıcı Hakları Ataması'nı açın.
  3. Toplu iş olarak oturum aç öğesini açın ve hesabı ekleyin.
  4. collie start komutunu tekrar çalıştırın.

Windows Home, secpol.msc içermez.

Gizli dosyalar

Gördüğünüz: collie doctor, bir düzeltmeyle birlikte örneğin can be read by other accounts gibi bir secrets-private satırı yazdırır.

Collie, gizli dosyalarını kimlerin okuyabileceğini sınırlar: hesabınız, SYSTEM ve Administrators. Windows 0600 moduna sahip değildir, bu nedenle Collie durum ve yapılandırma klasörlerinin erişim denetim listesini (ACL) ayarlar.

collie doctor

secrets-private satırının üç yanıtı vardır:

YanıtAnlamı
ÖzelKlasörler hesabınıza, SYSTEM'e ve Administrators'a özeldir.
GevşekBaşka bir hesap bir klasörü veya gizli bilgiyi okuyabilir. Bu bir hatadır ve doctor düzeltmeyi yazdırır.
DenetlenmediCollie listeyi okuyamıyor, bu yüzden cannot confirm diyor. Bu bir uyarıdır.

Bir ağ paylaşımındaki veya bir FAT ya da exFAT birimindeki bir klasör "denetlenmedi" olarak görünür, çünkü okunacak bir liste yoktur. Durum ve yapılandırma klasörlerini bu bilgisayardaki bir NTFS sürücüsünde tutun.

Köprü, gevşek bir klasörü başlangıçta onarır; ancak yalnızca Collie'nin az önce oluşturduğu bir klasörü, kullanıcı profilinizdeki varsayılan bir klasörü veya boş olan ya da yalnızca Collie'nin kendi dosyalarını barındıran bir klasörü onarır. Başka herhangi bir klasör denetlenir ve onu düzelten icacls komutuyla birlikte uyarısı verilir. collie doctor ve diğer komutlar hiçbir şeyi değiştirmez.

Bir onarımı geri almak için: onarımdan önce köprü, eski listeyi durum klasöründeki acl-backups dosyasına kaydeder ve geri alma satırını yazdırır. Bunu yönetici olarak çalıştırılan bir terminalde çalıştırın:

icacls <folder> /restore <backup file>

COLLIE_NO_ACL_REPAIR=1 her değişikliği kapatır. Collie yine de denetler ve uyarır. Kuralların tam açıklaması Windows'ta gizli dosyalar içindedir.

Günlükler

Bridge günlüğü, eklenti yapılandırma klasöründeki collie.log dosyasıdır (varsayılan olarak %APPDATA%\herdr\plugins\config\herdr.collie\collie.log). collie logs son satırlarını yazdırır. Collie yalnızca üzerine ekler ve dosyayı asla döndürmez, bu nedenle dosya bridge çalıştığı sürece büyür. Boşaltmak için collie stop çalıştırın, dosyayı silin, ardından collie start çalıştırın.

Kaynaktan derleyin

Sürüm zip dosyası bir araç zinciri gerektirmez. Kaynaktan derleme yapmak için PATH üzerinde yine de Bun, Git ve Git for Windows'un bash dosyası bulunmalıdır; çünkü bun run build, bash çağrısı yapar. bash olmadan derleme yapılması planlanmaktadır ancak henüz tamamlanmamıştır.

Desteklenenler

Tek ana bilgisayar: Çoklayıcı olarak Herdr ile x64 üzerinde Windows 11.

Bir crew, her biri bir Collie çalıştıran ve tek bir URL (Crew'lar) arkasında gösterilen birkaç makinedir.

DesteklenenDesteklenmiyor, çalışabilir, test edilmedi
WindowsWindows 11, x64Windows 10, Windows Server ve ARM üzerinde Windows
ÇoklayıcıWindows için Herdr 0.9.3 veya daha yenisitmux, zellij ve tuios: hiçbirinin yerel bir Windows derlemesi yoktur
HizmetGörev Zamanlayıcı, makine başına bir CollieBir Windows hizmeti, winget ve MSI
CrewTek bir makinede CollieBir ekibe katılan bir Windows makinesi
Ön kapıKendiniz, elle yayımlarsınızCollie tarafından yönetilen bir ön kapı
İkili dosyacollie.exe, imzasız, bir sha256 ileİmzalı bir ikili dosya

Şu sınırlar da geçerlidir:

  • Collie, Windows makinesi başına tek bir kuruluma izin verir. Görev adı her zaman herdr.collie olur.
  • Collie, collie.log (Günlükler) döndürmez.
  • herdr plugin install bir Windows kurulum yolu değildir. install.ps1, ardından collie start kullanın.
  • Herdr'ın eylem butonları Windows'ta bulunmaz, çünkü bash gerektirirler.
  • Herdr'ın Windows derlemesi Herdr projesi tarafından yapılır. Collie buna bağımlıdır ve üzerinde denetimi yoktur.

Crew'lar

Bir Windows makinesi bu sürümde bir crew'a katılamaz. collie crew invite, crew join, crew add, crew deputy, crew approve-promote ve collie promote Windows'ta reddeder, bunu tek bir cümleyle belirtir ve hiçbir şeyi değiştirmez. Tek bir Windows makinesindeki Collie kendi başına çalışır.

Topluluk betiğinden geçiş

Topluluk betiğini çalıştırdıysanız nelerin değiştiği ve nelerin aktarılmadığı.

Bu sürümden önce Windows, topluluğun yazdığı bir betik olan contrib/windows/collie-ctl.ps1 altında çalışıyordu. Collie artık görevi kendisi çalıştırmaktadır ve betiğin her eylemi aynı ada sahip bir collie eylemidir. Güncelledikten sonra collie restart komutunu bir kez çalıştırın. Betik herdr.collie adlı görevi çalıştırdıysa, Collie onu aynı ad altında devralır. Yeniden başlatana kadar collie status ve collie doctor, görevin hâlâ eski betiği çalıştırdığını belirtir.

İki şey devredilmez:

  • Özel bir görev adı. Betik COLLIE_TASK_NAME ayarlamanıza izin veriyordu. Collie bunu okumaz ve görev her zaman herdr.collie olur. Başka bir adla kaydettiğiniz bir görev olduğu yerde kalır ve Collie onu durdurmaz veya kaldırmaz. collie start komutunu çalıştırmadan önce onu silin, aksi halde iki denetleyici köprüyü başlatır. PowerShell'de: schtasks /Delete /TN "<your task name>" /F.
  • Çökme günlüğü kopyaları. Betik, köprü çöktüğünde günlüğün bir kopyasını saklıyordu. Collie bunu yapmaz. Eski kopyalar siz onları silene kadar diskte kalır.

Bunun nasıl test edildiği ve deneysel durumunun ne zaman sona ereceği

Kanıtları görmek isteyen okuyucular için, Collie'nin neden deneysel dediği. Collie'yi kullanmak için buna ihtiyacınız yoktur.

Bu sayfadaki iki kelimenin sabit bir anlamı vardır:

  • Desteklenen, bakımcının Windows kodunu üstlendiği ve test ettiği anlamına gelir: her push işleminde bir CI çalıştırması ve her sürüm etiketinden önce bir Windows 11 sanal makinesinde prova (ADR 0075). CI, GitHub üzerindeki otomatik test çalıştırmasıdır. ADR, depoda tutulan kısa bir karar kaydıdır.
  • Deneysel, iki gerçek sürüm arasındaki bir güncellemenin ve HTTPS telefon yolunun henüz kanıtlanmadığı anlamına gelir.

Desteğin dayandığı noktalar:

  • Bir CI iş akışı olan windows.yml iş akışı; her pull request ve main dalına yapılan her push için windows-latest üzerinde bridge, cli ve scripts testlerini çalıştırır. Henüz zorunlu bir denetim değildir. Bakımcı, art arda yaklaşık on başarılı çalıştırmadan sonra bunu zorunlu kılmayı planlamaktadır.
  • Her sürüm, bir .sha256 dosyası ile collie-<version>-windows-x64.zip derler.
  • Her sürüm etiketinden önce bakımcı bir prova olan make win-rehearse çalıştırır. Bu işlem, temiz bir Windows 11 VM üzerine bir sürüm kurar, terminalden ve telefonun uç noktasından günceller, başarısız bir sistem durumu denetimini tetikler ve geri almayı doğrular. Güncelleme, sürüm dosyalarının yerel bir kopyasını kullanır. VM mevcut değilse etiket bekletilir.
  • Windows 11, CI'ın yanındaki ikinci gerçektir, çünkü CI çalıştırıcısı Windows Server'dır.
  • Herkese açık v1.16.0 sürümünden yapılan gerçek kurulum bir Windows 11 VM üzerinde çalıştırıldı. install.ps1 sürümü buldu, zip dosyasını indirdi, sha256 eşleşti ve collie.exe 1.16.0 olarak çalıştı. collie start görevi kaydetti ve bridge'i başlattı. collie status running çıktısı verdi, collie doctor 0 koduyla çıktı ve collie stop işlemi durdurdu. https://colliepwa.dev/install.ps1 adresindeki betik yayındadır ve v1.16.0 sürümündeki betikle bayt düzeyinde aynıdır.
  • Telefon erişimi, bir Headscale tailnet üzerindeki bir Windows 11 VM'de, HTTP üzerinden çalıştırıldı. tailscale serve --bg --http=80 --set-path=/ <port> Collie'yi yayımladı. İki .env satırı ve collie restart, collie url ile collie start başlığının tailnet adını yazdırmasını sağladı. Başka bir tailnet makinesinden sayfa, /api/health ve /api/snapshot tam ad üzerinden yanıt verdi; tailnet IP adresi veya kısa ad ile yapılan bir istek ise reddedildi. Telefon arayüzünde eşleştirme çalıştı ve ardından kimlik bilgisi olmadan yapılan bir yazma denemesi 403 "device not paired" hatası aldı. Telefonun yerine telefon boyutunda bir masaüstü tarayıcısı kullanıldı.
  • Test VM'sindeki Smart App Control değerlendirme modundadır; ne Smart App Control ne de SmartScreen orada Collie'yi engellememiştir. Bu sayfa, gözlemlenen bir engellemeyi değil, Windows belgelerinin ifade ettiklerini açıklamaktadır.

experimental kelimesi yalnızca bunların tümü birlikte doğru olduğunda kaldırılır:

  1. Bir sürüm Windows zip dosyasını içerir, install.ps1 colliepwa.dev üzerindedir ve gerçek bir sürüme karşı bir kurulum ile bir güncelleme çalıştırılmıştır. İlk üçü tamamlandı: v1.16.0 zip dosyasını içerir, adres yayındadır ve kurulum çalıştırılmıştır. İki gerçek sürüm arasında bir güncelleme ise henüz yapılmadı, çünkü zip dosyasını içeren ikinci bir sürüm gerekmektedir.
  2. Windows denetimi, dal korumasında zorunlu bir denetimdir. Dal koruması, belirtilen denetimler geçene kadar birleştirmeyi engelleyen GitHub ayarıdır.
  3. Sürüm denetim noktası, Windows iş akışını okur. Denetim noktası, yayınlamadan önce testleri bekleyen sürüm iş akışının ilk adımıdır.
  4. Eksik bir Windows zip dosyasına yönelik tolerans kapalıdır. Sonraki bölümde belirtildiği gibi, şu anda kapalıdır.

Windows zip dosyası içermeyen bir sürüm

Sürüm denetimi bundan böyle Windows zip dosyasını zorunlu tutar. Bunu yalnızca bakımcı, bir Linux acil düzeltmesi için geçersiz kılabilir. Sürüm işi bunu scripts/windows-asset.ts içinde denetler. Zip dosyasını içeren daha önceki bir kararlı sürümü (taslak veya ön sürüm olmayan) arar; v1.16.0 bunlardan biridir. 2026-11-15 tarihinden itibaren zip her halükarda zorunludur ve GitHub'ın sürüm listesi yanıt vermediğinde de zorunludur. Tek istisna, Windows derlemesi bozukken bakımcının bir Linux acil düzeltmesi için ayarlayabileceği bir anahtar olan COLLIE_WINDOWS_ASSET_OVERRIDE depo değişkenidir. Bu anahtar altında yapılan bir sürüm Windows zip dosyası içermez.

v1.16.0 sürümünden önceki sürümlerde Windows zip dosyası yoktur. En yeni sürümde zip olmadığında gördüğünüz ekran:

  • install.ps1 en yeni beş sürüme bakar. Her biri için <tag> has no Windows build. Trying the next older release. yazdırır. Ardından collie install: none of the newest 5 releases of AltanS/collie carries a Windows build yet. Nothing was installed. yazdırır ve Install failed. ile zip içeren bir sürümü sabitlemenizi söyleyen bir satırla sona erer. Makinenizde hiçbir şeyi değiştirmez. Bir sürümü sabitlemek için COLLIE_TAG değerini ayarlayın.
  • Bir Windows kurulumunda collie update şunu söyler: error: release <version> has no Windows build; try again after the next release. Nothing was changed.

Kontrol etmek için GitHub üzerindeki sürüm sayfasını açın ve collie-<version>-windows-x64.zip adlı bir dosya arayın.

Nelerin test edilmediği

Buradaki hiçbir şeyin bir taahhüt gibi anlaşılmaması için sade liste:

  • Windows üzerinde iki gerçek sürüm arasında bir güncelleme. Prova, sürüm dosyalarının yerel bir kopyasını kullandı.
  • Windows üzerinde Tailscale Serve'ün HTTPS biçimi (Headscale 501 Not Implemented yanıtını verdi) ve bununla birlikte ana ekrana yükleme, Web Push ve mikrofon. Ayrıca Tailscale Serve yerine gerçek bir telefon, bir Herdr bölmesinde çalışan bir agent ve bir ters proxy.
  • Windows üzerinde manuel bir collie update --rollback. Başarısız bir güncellemenin ardından otomatik geri alma provası yapıldı.
  • Kaynak kod kopyasından zip kurulumuna geçiş ve bir kaynak kod kopyasını el ile güncelleme.
  • install.ps1 olmadan zip dosyasını el ile yükleme.
  • Windows 10, Windows Server, Windows on ARM, Windows üzerinde tmux, zellij ve tuios.
  • Gerçek bir Smart App Control engeli ve install.ps1 için PowerShell 7.
  • Smart App Control'ün etkin olduğu bir makinede kaynaktan derleme.
  • Windows Home üzerindeki Task Scheduler düzeltmesi. Yol, adında boşluk ve ASCII dışı bir harf bulunan standart bir kullanıcıyla denetlendi.
  • Gerçek donanıma sahip bir FAT birimi. "Denetlenmedi" yanıtı birim testleriyle kapsanmaktadır.
  • Yalnızca birim testleriyle kapsanan, ikinci bir Collie görevinin reddedilmesi.
  • Oturum kapatıp açmadan Explorer'ın yeni PATH girdisini görüp görmediği ve standart bir kullanıcının PATH düzenlemesi.
  • Gerçek bir motor ile local-cli ses sağlayıcısı. Temizleme işlemi bir test komutuyla sınandı: Collie, komutun işlem ağacını sonlandırır; ancak zaten çıkış yapmış bir yardımcı tarafından başlatılan bir işlem varlığını sürdürebilir (Ses girişi ve Web Push).

Bu sayfayı GitHub üzerinde düzenleyin

The rest of the documentation