代理與 DNS

一個設定檔一條代理,旁路不漏

代理是設定檔的屬性,不是這台機器的屬性,所以並排開著的兩個設定檔走的是兩個不同的出口位址。

免費開始
14 個代理
全部檢測 批次新增
socks5 brd.superproxy.io:4444545.76.147.116 SG
http gate.example-proxy.net:7000188.74.210.21 US
socks5 103.241.54.94:1080未檢測
!
超過十分鐘的結果,會在設定檔開起來之前再檢測一次。

瀏覽器有一個代理。一個設定檔有它自己的。

Chromium 給整個瀏覽器收一個代理,而這一直夠用,直到你需要兩個帳號同時開著的那一天。

整個瀏覽器一個代理

  • 每個分頁都從同一個位址出去,所以一起開著的兩個帳號就是一個 IP 上的兩個帳號
  • 要帳號密碼的代理需要一個擴充功能來提供,而擴充功能是頁面問得到的東西
  • 主機名稱由你自己的機器解析,所以那些查詢從你自己的線路上出去
  • WebRTC 根本不走代理就接上了一台 STUN 伺服器,報出的是那條線路的位址

SigoLogin 裡一個設定檔一個代理

  • 每個設定檔有自己的記錄和自己的出口,所以並排開著的兩個,從兩個位址出去
  • 使用者名稱和密碼填進應用程式自己的表單,瀏覽器裡什麼也沒裝
  • 主機名稱沒有解析就走到代理那邊,所以不會有對它們的查詢離開你的線路
  • 有代理的設定檔啟動時,代理之外的 UDP 是關掉的,而那正是 WebRTC 一直在走的那條路

密碼是怎麼到瀏覽器那裡的

一個要驗證的代理,麻煩的地方不是位址。是它後面那兩個欄位,以及它們必須被填在哪裡。

Chromium 帶不了使用者名稱和密碼

把 Chromium 指向一個代理的那個命令列參數,帶的是一個位址,別的什麼都不帶。上面沒有給帳號留的欄位,而文件裡給出的提供辦法,是一個擴充功能去接住代理送回來的驗證請求。

擴充功能能從頁面經由 chrome.runtime 被摸到,於是這個變通做法又成了一件告訴網站這個瀏覽器不尋常的事。SigoLogin 改在瀏覽器外面做驗證。一個小的 SOCKS5 服務跑在 127.0.0.1 上,自己不要密碼,由它和真正的代理對話。Chromium 被指向回送位址上的那個位址,所以憑證從來不在頁面看得到的任何地方。

每個開著的設定檔一個中轉

每個開起來的設定檔都得到自己的一個中轉,連接埠由作業系統在那一刻分給它。沒有什麼要設定的:設定裡沒有接聽的連接埠,也沒有一個被機器上所有東西共用的本機代理。

兩個設定檔用一個中轉,就是兩個設定檔用一個出口位址,而那正是一個設定檔存在要避開的事。瀏覽器關掉時,它的中轉是在它之後停、不是之前,因為一個跑著一半掉了代理的瀏覽器,可能退回到直連出去。

設定檔管理

三種通訊協定,和它們下面的欄位

SOCKS5、HTTP 和 HTTPS,帶帳號的和不帶的都行。一個 HTTP 代理和一個 HTTPS 代理都是用 CONNECT 方法接上的,所以下拉選單裡那兩個名字,底下是同一條路。一筆代理記錄裝的就是這些,後面沒有第二個分頁:

欄位裡面填什麼
標註可不填。你自己給這筆記錄取的名字,二十筆共用一個主機時,就是它讓這份清單還讀得下去
通訊協定SOCKS5、HTTP 或 HTTPS
主機與連接埠一個主機名稱或者一個位址,加上你的供應商給你的連接埠
使用者名稱可不填。清掉它也會把密碼清掉,因為沒有帳號的代理用不上密碼
密碼一存下就再也不會顯示。編輯一筆記錄時這個欄位是空的,空欄位的意思是保留現有的密碼

密碼在落到磁碟之前先用 Windows 的資料保護服務包起來,金鑰綁在你的 Windows 帳戶上。把資料夾複製到另一台電腦,密碼不會跟著走:應用程式會說出來然後停下,而不是沒有它就把瀏覽器打開,再留一個網路錯誤給你去猜。

把供應商寄來的清單貼進去

供應商按哪種寫法順手就那樣匯出,所以四種寫法原樣收下:主機、連接埠、使用者名稱和密碼用冒號隔開;帳號寫在主機前面,中間一個 at 符號;同樣這四項用逗號隔開;以及上面任一種前面加了 socks5:// 前綴。列上的前綴勝過對話框裡選的通訊協定,因為一列自己說了它是什麼,它更清楚。空白列和以井號開頭的列會被略過,不算失敗,而含冒號或者 at 符號的密碼也活得下來:切分取在最後一個 at 符號和第一個冒號處。

一列讀不出來,不會把整批拖下去。其餘的都進去,而失敗的那些列會一字不差地回到你面前,這是在一百列裡找出那一列壞的唯一實用辦法。

供應商也賣那種一個主機、工作階段寫在使用者名稱裡的東西。複製一筆記錄會把密碼一起帶過去,所以五個工作階段是改五次一個字元,而不是五次重新打一遍機密。複製出來的那筆不會繼承的是檢測結果:它還什麼都沒證明過,而一筆開頭就帶著一個勾和一個它從沒掙到的時區的複製記錄,上面還會建起一個指紋。

真實位址繞過代理出去的四條路

把頁面請求送過代理是容易的那一半。下面每一條都是一條獨立的出路,在一個獨立的層裡,其中任何一條留著開口,另外三條就白做了。

DNS 查詢

如果你的機器先解析主機名稱,再向代理要一個位址,那這次查詢已經從你自己的線路上出去了。這不只是隱私的事:有些供應商只有在拿到一個名稱時才套用你選的國家,所以一個以位址形式抵達的請求,會從別的地方出來。我們量到過同一時刻,一個代理對主機名稱從泰國出去,對位址從新加坡出去。

中轉把名稱照瀏覽器給的樣子遞過去,讓代理去解析。代理檢測被強制做同樣的事,並且走同一個中轉,因為一次在你機器上解析名稱的檢測,報的是一個瀏覽器永遠不會用的國家。建置裡有一個測試,透過一個替身代理向一個主機名稱開連線,如果抵達的是一個位址,它就失敗。

WebRTC

WebRTC 不走瀏覽器的代理。現在的 Chrome 把本機位址藏在一個 mDNS 名稱後面,但它從一台 STUN 伺服器拿回來的候選位址,仍然帶著你這條線路的真實位址。在這條路被關掉之前,在我們自己的建置上量過:一個偵測頁面在 HTTP 上讀到一個美國位址,在 WebRTC 上讀到一個越南位址,同一個設定檔,同一時刻。

有代理的設定檔現在啟動時,代理之外的 UDP 是關掉的,所以再沒有第二個位址可以報。這個決定是按設定檔在那一刻的實際狀態定的,不是按早先產生的一份指紋:一個指紋是在你掛上代理之前做的設定檔,以前啟動時是沒有這個開關的,而螢幕上沒有任何東西說過這件事。

防指紋瀏覽器

機器自己上面的位址

瀏覽器預設把回送位址上的任何東西不經代理直接送出去,出於它自己的理由。一個頁面去要一個本機位址上的東西,就會由你的機器來答,越過這份清單上其餘的一切。有代理的設定檔啟動時會去掉這條豁免。

瀏覽器關掉之後那一秒

先停中轉,會留下一個還在跑的瀏覽器,它代理設定的另一頭什麼都沒有,而處在這個位置的瀏覽器可能退回到直連。所以順序被反過來定死:先關瀏覽器,它用過的那個中轉在它之後才停。

時鐘必須和位址對得上

一個從俄亥俄的位址報出雅加達時區的瀏覽器,已經自己跟自己矛盾了,在 canvas 或者字型上做多少工夫都蓋不住這一處。所以時區不是你的,也不是一個設定:它來自代理檢測,而那次檢測會問一個地理定位服務,哪個時區屬於這個確切的位址。

不是來自國家代碼,那才是走錯的那條捷徑。一張從國家到時區的表,給美國的是 America/New_York,於是一個從加州出去的代理就差了三個小時。這在這裡發生過,在一個真實的代理上,所以用的是服務對這個位址傳回的時區,國家表只是它涵蓋的那二十個國家的後備。

接受語言跟著國家走,後面再加上英文。一個越南位址給出的設定檔,先要越南文,再要英文,這正是一個在越南的瀏覽器會送出的。

當服務答出一個位址但沒有國家,應用程式就記成沒有國家,而不是替它挑一個。一個錯的國家會連帶拖來一個錯的時區,而一個退回到預設時區的設定檔是小一些的麻煩。檢測會告訴你發生的是兩者中的哪一個。

!
一個有代理、但出口位址還不知道的設定檔,根本拿不到指紋。產生器會拒絕它,因為唯一的另一條路是留給沒有代理的設定檔的那個模式,而那正是真實位址出來作答的模式。

防指紋瀏覽器

瀏覽器出現之前那幾秒裡發生的事

開一個設定檔,是代理不再只是表格裡一列的時刻。四種狀態,每一種都在 Chromium 啟動之前就定下來,不是之後。

代理的狀態開設定檔時會做什麼
上次檢測在十分鐘以前先重新檢測並記下答案,再從它建指紋
有應答瀏覽器啟動,用的是作答那個位址的時區和語言
沒有應答設定檔不開,而且你會拿到原因:帳號被拒、位址或連接埠不對,或者十秒鐘的沉默
此後主機、連接埠或帳號被改過儲存這次修改把舊答案清掉了,所以這算從沒檢測過,現在就檢測

十分鐘不是為了順口挑的一個整數。輪換代理在一次工作階段裡守住一個位址,然後就換掉,而我們記錄過一個從新加坡作答,同一次工作階段裡稍後從印度作答。在較舊那個答案上開的設定檔,會一邊宣布新加坡的時鐘,一邊從印度出去,而這正是整個這一頁在講的那種自相矛盾。

關於你的代理我們知道什麼

你開一個設定檔時,有兩件事到我們的伺服器:那個設定檔到底有沒有代理,以及它是從哪個國家出去的。是哪個代理、哪個位址,不在那筆紀錄裡,而本站給你看的那份設定檔清單裡,沒有任何種類的代理。

出口位址確實走一次。我們的瀏覽器只在我們伺服器簽章過的指紋上跑,而這個位址是被簽的內容的一部分,所以它隨指紋其餘部分一起上去,帶著簽章直接回來。伺服器不保留它。

代理密碼,以及已儲存帳號的密碼與 2FA 金鑰,是應用程式不得不放在磁碟上的機密。它們用 Windows 的資料保護服務包起來,金鑰綁在你的 Windows 帳戶上,所以把資料夾複製到另一台電腦或另一個使用者底下,這些東西不會跟著過去。

錯誤訊息在離開你的電腦之前會先清洗過。任何形如 scheme://user:password@host 的位址,登入的部分會被換成三個星號,超過 500 個字元的部分會被截掉。主機與連接埠會保留,所以代理連線失敗時可能帶著那個代理的位址與連接埠。

隱私

螢幕上剩下的是什麼

上面這一切在幾秒鐘裡發生一次,在你看不見的地方。這一部分才是你打交道的。

每個方案上都一樣,免費的也在內

這一頁上沒有任何東西被留給付費方案。方案改的是你能留幾個設定檔、能啟用幾台機器。

功能 免費版 個人版 專業版 企業版
帶帳密驗證的代理,不外洩 DNS
時區與語言跟著代理所在國家
設定檔數量 350300無上限

代理在這裡不計數,也不販售。應用程式對你留幾筆記錄不設上限,裡面也沒有任何東西替你買位址。

價格

從供應商的信,到一個開得起來的設定檔

  1. 1

    把清單貼進來

    批次新增就按你的供應商匯出的樣子收下整塊。通訊協定選一次,給那些自己不聲明協定的列用。

  2. 2

    檢測它們

    全部檢測把每一筆同時跑一遍,並記下每一筆傳回的位址、國家和時區。一筆已經死掉的記錄,現在被發現比在你需要那個帳號的那一刻被發現好。

  3. 3

    掛上一個,開設定檔

    在設定檔自己那一列上挑代理。指紋的時區和語言取自那個位址,一個中轉只為這一個設定檔起來。

關於代理與 DNS 的問題

SigoLogin 賣代理嗎?

不賣。應用程式裡沒有任何東西買位址、轉賣位址或者發放位址,也沒有供應商帳號要連。你帶來你自己已經在付錢的代理,供應商常匯出的那四種寫法都收。

哪些種類的代理能用?

SOCKS5、HTTP 和 HTTPS,帶帳號密碼的和不帶的都行。HTTP 和 HTTPS 都是用 CONNECT 方法接上的,所以連線一旦建立,兩者的行為一樣。

帶密碼的代理需要裝擴充功能嗎?

不必,而這正是應用程式被做成現在這樣的原因。Chromium 的代理啟動參數沒有地方放帳號,所以慣常的答案是一個擴充功能來提供它,而擴充功能是你造訪的任何頁面都問得到的東西。SigoLogin 在回送位址上跑一個小的 SOCKS5 服務,驗證在那裡做,在瀏覽器外面。

兩個設定檔可以用同一個代理嗎?

可以。一個代理是一筆獨立的記錄,幾個設定檔指向它都行,一個改過的密碼也是這樣在一個地方就改完。不過它們之後共用一個出口位址,所以把這種用法留給本來就打算看起來有關聯的設定檔。

代理不能用了會怎樣?

設定檔不會開。沒有新鮮應答的代理,會在瀏覽器啟動之前先測一次,如果它一直不出聲,你拿到的是原因,不是一個視窗。照開不誤的結果,是一個沒有連線的瀏覽器,或者一個從你自己的位址出去的瀏覽器。

我可以一個動作把一個代理設到一百個設定檔上嗎?

一個動作做不到。代理是在設定檔自己那一列上設的。能放大的是反方向:一筆記錄給幾個設定檔用都行,所以一百個設定檔走一個代理,是一筆記錄和一個密碼,不是一百個。

應用程式會外洩 DNS 嗎?

不會。主機名稱是沒有解析就交給代理的,建置裡有一個測試,只要這條路上有任何一段在本機解析了主機名稱,它就失敗。有代理的設定檔啟動時還會去掉瀏覽器對本機位址那條慣常的豁免,所以再沒有什麼能繞過它。

這和 VPN 或代理有什麼不一樣?

代理或 VPN 換的是請求從哪個位址過來,僅此而已;瀏覽器描述的還是同一台電腦。兩者是互相補充,不是互相取代。SigoLogin 要求每個設定檔配一個代理,並從那個代理所在的國家取時區與語言,讓它們不會和位址相矛盾。

自備代理,一個設定檔一個

免費版收三個設定檔,用的是和每個付費方案一樣的中轉、一樣的 DNS 處理和一樣的時區比對。

繼續讀