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.ps1sürümü buldu, sha256 eşleşti vecollie.exeçalıştı. Ardındancollie start,collie status,collie doctorvecollie 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:
| Durum | Bu kurulum için ne anlama geldiği |
|---|---|
| Kapalı | Hiçbir şeyi engellemez. |
| Değerlendirme | Windows bunu açıp açmayacağına hâlâ karar veriyor. Test sanal makinesinde Collie engellenmedi. |
| Açık | Dosya 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.
- Herdr uygulamasını kendi yükleyicisiyle kurun, ardından sürümü kontrol edin:
irm https://herdr.dev/install.ps1 | iex herdr --version
- Collie uygulamasını kendi yükleyicisiyle kurun:
irm https://colliepwa.dev/install.ps1 | iex
- YENİ bir terminal açın, Herdr uygulamasını burada başlatın ve açık bırakın:
herdr
- İ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
- Bir Herdr bölmesinde aracınızı başlatın; örneğin Claude Code:
claude
- Projenin Windows üzerinde yalnızca HTTP üzerinden çalıştırdığı Telefonunuzdan erişim ile telefona bir giriş yolu sağlayın. Bunun
tailscale servekomutundan ö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.
- 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.
- Bilgisayarda bunu çalıştırarak telefonu eşleştirin:
collie pair
Her adımdan sonra görmeniz gerekenler:
- Herdr kendi yükleyici çıktısını yazdırır.
herdr --versionkomutu 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. - Betik her adımı yazdırır.
OK Collieile başlayan bir satırla veNext steps. This script does not take them for you:, ardından1. Open a NEW terminal window.ve3. 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 versionkomutunu bir kez çalıştırır, hepsi bu. - 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.
- Herdr ilk terminali tuttuğu için ikinci bir terminal gereklidir.
collie startkomutu 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. - Aracınız bölmede başlar. Collie bunu panosunda gösterir.
tailscale serve statuskomutu tailnet adresinizi gösterir vecollie urlbunu yazdırır. Bu adımdan öncecollie 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.- Telefon Collie panosunu gösterir. Sizi bekleyen bölmeler ilk sırada yer alır.
collie pairsekiz karakterlik bir kod, ardındansingle-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 | iexKomut 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.ps1install.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şken | Etki |
|---|---|
COLLIE_DIR | Kurulumun yapılacağı yer. Varsayılan %LOCALAPPDATA%\collie. Kısa tutun. |
COLLIE_TAG | Belirli 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=1 | PATH 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 servekomutundan (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ı vecollie pairiş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.
- Tailscale uygulamasını bilgisayara ve telefona kurun, her ikisinde de aynı hesapla oturum açın: tailscale.com/download.
- 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.
- 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
- Yoksa Collie yapılandırma klasörünü oluşturun, ardından
.envdosyasını açın:New-Item -ItemType Directory -Force "$env:APPDATA\herdr\plugins\config\herdr.collie" notepad "$env:APPDATA\herdr\plugins\config\herdr.collie\.env"
- 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
- 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:8787Bu 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 komutuerror enabling https feature: error 501 Not Implementedile başarısız olur çünkü Headscale HTTPS sertifikaları sağlamaz. Siz yayınlayana kadarcollie doctor,front-doorsatı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ı olmadanhttp://<name>olur.COLLIE_PUBLIC_URLiçinde buhttp://adresini kullanın. Bu komuttan sonrafront-doorsatı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 funnelseç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
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.- 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.
- Yeni simgeden Collie'yi açın.
- Uygulamada Ayarlar, ardından Sistem, ardından Eşlenmiş aygıtlar öğesini açın.
- Bilgisayarda
collie pairkomutunu ç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.
| Komut | Windows üzerinde ne yapar |
|---|---|
collie start | Gerekirse herdr.collie görevini kaydeder ve bridge'i başlatır. |
collie stop | Gö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 restart | Yalnızca bridge'i yeniden başlatır. |
collie status | Görevin adını ve durumunu belirtir ve Collie çalışıyor başlığını gösterir. |
collie doctor | Kurulumu, Herdr'ı, uzun yolları ve gizli dosyaları kontrol eder ve her sorun için bir çözüm yazdırır. |
collie url | Telefonda açılacak adresi yazdırır. |
collie logs | Günlük dosyasının son satırlarını yazdırır. |
collie update | En yeni sürüme günceller (Güncelle). |
collie update --rollback | Önceki sürüme geri döner (Güncelle). |
collie uninstall | Görevi kaldırır (Kaldır). |
Güncelle
Linux ve macOS üzerinde olduğu gibi terminalden veya telefondan güncelleyin:
collie updateGü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 --rollbackEski 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 updateve 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çincollie uninstallçalıştırın, ardındaninstall.ps1çalıştırın. Bundan sonracollie 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 uninstallcollie 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 versionkomutunu ç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:
- 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.
- Kaynak koddan derleyin (Kaynaktan derleyin); bu işlem kendi makinenizde
collie.exeoluşturur. Bu, Smart App Control özelliğinin açık olduğu bir makinede test edilmemiştir. - Smart App Control özelliğinin kapalı olduğu bir PC kullanın veya engellemeyi bir issue açarak bildirin.
- 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 1Halihazı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:
secpol.mscçalıştırın.- Önce Yerel İlkeler'i, ardından Kullanıcı Hakları Ataması'nı açın.
- Toplu iş olarak oturum aç öğesini açın ve hesabı ekleyin.
collie startkomutunu 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 doctorsecrets-private satırının üç yanıtı vardır:
| Yanıt | Anlamı |
|---|---|
| Özel | Klasörler hesabınıza, SYSTEM'e ve Administrators'a özeldir. |
| Gevşek | Başka bir hesap bir klasörü veya gizli bilgiyi okuyabilir. Bu bir hatadır ve doctor düzeltmeyi yazdırır. |
| Denetlenmedi | Collie 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.
| Desteklenen | Desteklenmiyor, çalışabilir, test edilmedi | |
|---|---|---|
| Windows | Windows 11, x64 | Windows 10, Windows Server ve ARM üzerinde Windows |
| Çoklayıcı | Windows için Herdr 0.9.3 veya daha yenisi | tmux, zellij ve tuios: hiçbirinin yerel bir Windows derlemesi yoktur |
| Hizmet | Görev Zamanlayıcı, makine başına bir Collie | Bir Windows hizmeti, winget ve MSI |
| Crew | Tek bir makinede Collie | Bir ekibe katılan bir Windows makinesi |
| Ön kapı | Kendiniz, elle yayımlarsınız | Collie tarafından yönetilen bir ön kapı |
| İkili dosya | collie.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.collieolur. herdr plugin installbir Windows kurulum yolu değildir.install.ps1, ardındancollie startkullanın.- Herdr'ın eylem butonları Windows'ta bulunmaz, çünkü
bashgerektirirler. - 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_NAMEayarlamanıza izin veriyordu. Collie bunu okumaz ve görev her zamanherdr.collieolur. Başka bir adla kaydettiğiniz bir görev olduğu yerde kalır ve Collie onu durdurmaz veya kaldırmaz.collie startkomutunu ç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.ymliş akışı; her pull request vemaindalına yapılan her push içinwindows-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
.sha256dosyası ilecollie-<version>-windows-x64.zipderler. - 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.ps1sürümü buldu, zip dosyasını indirdi, sha256 eşleşti vecollie.exe1.16.0 olarak çalıştı.collie startgörevi kaydetti ve bridge'i başlattı.collie statusrunning çıktısı verdi,collie doctor0 koduyla çıktı vecollie stopişlemi durdurdu.https://colliepwa.dev/install.ps1adresindeki 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.envsatırı vecollie restart,collie urlilecollie startbaşlığının tailnet adını yazdırmasını sağladı. Başka bir tailnet makinesinden sayfa,/api/healthve/api/snapshottam 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:
- Bir sürüm Windows zip dosyasını içerir,
install.ps1colliepwa.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. - Windows denetimi, dal korumasında zorunlu bir denetimdir. Dal koruması, belirtilen denetimler geçene kadar birleştirmeyi engelleyen GitHub ayarıdır.
- 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.
- 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.ps1en yeni beş sürüme bakar. Her biri için<tag> has no Windows build. Trying the next older release.yazdırır. Ardındancollie install: none of the newest 5 releases of AltanS/collie carries a Windows build yet. Nothing was installed.yazdırır veInstall 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çinCOLLIE_TAGdeğ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 Implementedyanı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.ps1olmadan 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.ps1iç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-clises 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