• Tutorial: How to set up & test free proprietary FreeGate HTTP encrypted proxy on Windows 10

    From Marion@marionf@fact.com to alt.comp.freeware,alt.privacy,alt.msdos.batch on Mon Sep 22 20:36:30 2025
    From Newsgroup: alt.msdos.batch

    Today I installed and tested FreeGate, which is "similar" to Psiphon
    in that FreeGate provides a DIFFERENT way for a free encrypted proxy.

    Here's my installation log, so that others can follow in my footsteps.
    We'll start with a series of comparison by way of increasing detail.

    Psiphon is SOCKS5 & HTTP:
    a. Encrypted tunnel (SSH-based)
    b. Works with any SOCKS5-aware app
    c. Broader coverage for privacy

    Freegate is HTTP:
    a. Encrypted HTTP proxy
    b. Limited to apps using Windows proxy
    c. Narrower coverage, browser-focused

    Specifically, about SOCKS5 support:
    Psiphon runs a local SOCKS5 proxy (typically on 127.0.0.1:1080)
    in addition to an HTTP proxy.
    Freegate does not expose a SOCKS5 proxy port.
    It only provides a local HTTP/HTTPS proxy (usually on 127.0.0.1:8580).

    Specifically, about Encryption:
    Traffic between your client and Psiphon's servers is encrypted.
    When using the SOCKS5 port, the traffic is wrapped in an SSH-based
    tunnel with obfuscation before leaving your machine.
    Traffic between your client and Dynaweb's servers (Freegate) is
    also encrypted, but it is not a SOCKS5 tunnel and not a standard
    VPN. It uses a proprietary encrypted HTTP proxy protocol.

    Comparison of Psiphon and Freegate
    Feature | Psiphon | Freegate |
    ------- ------- --------
    Platform | Windows, Android, iOS | Windows |
    Distribution | Official sites, stores| Mirrors, updater |
    Protocols | SSH, VPN, HTTP proxy | Dynaweb proxy |
    Local ports | 1080 (SOCKS), 33111 | 8580 |
    GUI | Modern, usage stats | Simple, log window |
    Auto update | Yes | Yes (prompts) |
    Tunnel modes | VPN, SSH+, Split | A, F, M |
    System proxy | Auto or manual | Auto WinINET |
    Cross-app support | Yes (VPN mode) | Yes (system proxy) |
    Open source | Client is open source | Closed source |
    Typical use | Censorship, privacy | Censorship (China) |

    Here is my log (taking into account I first installed version 7.90
    from Techspot because the canonical site was busted or 404).
    <https://www.dit-inc.us/freegate>

    1. Download & unzip the FreeGate version 7.90 portable zip file.
    <https://www.techspot.com/downloads/6243-freegate.html>
    Click the "Download Freegate" button
    Choose either the EXE or ZIP version.
    Name: fg790p.zip
    Size: 6900787 bytes (6739 KiB)
    SHA256: 8BD7F8DFEFA73DE07CC0C32265174681BACE7DF90EF2CCFB60F3B8473E3607CA

    When I used FreeGate 7.90, it asked to download & use version 8.05:
    Name: fg805p.exe
    Size: 8135672 bytes (7944 KiB)
    SHA256: 608DDDD745143F977BECB15A63FB49855B6672E4E53AA87833CA818A159FC1D1

    Had I known that, I would have downloaded first from Gizmodo instead:
    <https://gizmodo.com/download/freegate> (file size & hash checks out)

    2. If you downloaded the ZIP file:
    a. Right-click the ZIP file and select "Extract All..."
    b. Choose a destination folder (e.g., C:\app\network\freegate\)
    c. And click "Extract"

    3. Double-click "fg790p.exe" to launch Freegate.
    When you launch fg790p.exe, Freegate opens its control panel titled
    "FreeGate Proxy Control", which lets you:
    a. See connection status to Freegate's proxy servers.
    b. Choose between different proxy modes (e.g., Classic or Smart).
    c. View logs and diagnostics.
    d. Launch a browser window preconfigured to use Freegate's proxy.
    This panel is the gateway to managing how Freegate tunnels your traffic.

    4. In the "FreeGate Proxy Control" panel, your choices are:
    (_)All websites go through Freegate proxy
    (o)Connect to websites in China directly
    (and not through FreeGAte proxy)
    [x]Skip this window when program starts

    5. Select the option:
    (o)All websites go through Freegate proxy
    This ensures that all your internet traffic that obeys the
    Windows system proxy (which stack?) should be routed through
    Freegate's encrypted tunnel.

    Also uncheck (for now):
    [_]Skip this window when program starts

    Press the blue "OK" button in the Freegate Proxy Control panel.

    6. A Dynaweb FreeGate window should pop up saying something like:
    [Freegate 7.90 Professional Edition]
    Connected to 7 Servers, port: 8580,
    Tunnel(A)

    7. You may also get a belated Windows-Defender popup:
    Windows Defender Firewall has blocked some features of this app.
    Windows Defender Firewall has blocked some features of
    Freegate on all public and private networks.
    Name: Freegate
    Publisher: Dynamic Internet Technology, Inc.
    Path: C:\app\network\freegate\fg790p.exe
    Allow Freegate to communicate on these networks:
    [x]Private networks, such as my home or work network
    [_]Public networks, such as those in airports & coffee shops
    [Allow access][Cancel]

    Click the "Allow access" button in the Windows Defender Firewall prompt.
    This permits Freegate to communicate over your private network
    and establish proxy connections.

    8. Confirm that the Dynaweb FreeGate window remains open.
    a. It should display:
    Connected to 7 Servers, port: 8580
    Tunnel(A)
    b. This indicates that Freegate is actively tunneling traffic
    through its proxy network.

    9. To verify that Freegate is working:
    a. Open your preferred browser (e.g., Chrome or Firefox)
    b. Visit https://www.whatismyip.com/
    My IPv4: 65.49.38.149
    c. Check if your IP address is different from your normal ISP address
    d. Visit a website that is normally blocked in your region

    If your IP has changed or blocked sites are accessible:
    Then Freegate is successfully routing traffic through its proxy.

    Check your system proxy settings.

    Win+I > Network & Internet > Proxy >
    Automatic proxy setup
    Automatically detect settings = off
    Use setup script = off
    Script address = 127.0.0.1/proxy.pac (which is grayed out!)
    [Save] (which is grayed out!)
    Manual proxy setup
    Use a proxy server = on
    Address = 127.0.0.1
    Port = 8580
    Use the proxy server except for addresses that start with the following:
    <blank>
    [x]Don't use the proxy server for local (intranet) addresses
    [Save]

    Win+R > control > Internet Options > Internet Properties
    Connections > LAN settings
    Local Area Network (LAN) Settings
    Automatic configuration
    [_]Automatically detect settings
    [_]Use automatic configuration script
    Address = http://127.0.0.1/proxy.pac (grayed out!)
    Proxy server
    [x]Use a proxy server for your LAN
    Address = [127.0.0.1] Port = [8590]
    [x]Bypass proxy server for local addresses

    [Advanced]
    Proxy Settings
    HTTP: 127.0.0.1 : 8580
    Secure: 127.0.0.1 : 8580 (grayed out!)
    FTP: 127.0.0.1 : 8580 (grayed out!)
    Socks: <blank> (grayed out!)
    [x]Use the same proxy server for all protocols
    Do not use proxy server for addresses beginning with:
    <blank>

    10. Optional: Configure other applications to use Freegate's proxy.
    a. Freegate typically runs a local proxy on 127.0.0.1:8580
    b. In your browser or app settings, set:
    Proxy address: 127.0.0.1
    Proxy port: 8580
    c. Save and apply the settings.

    11. To stop using Freegate:
    a. Close the Dynaweb FreeGate window by clicking its Window red (X).
    b. It will ask you a few questions (and go away if you don't answer).
    Exiting proxy
    Freegate is exiting.
    Your internet activity will no longer be protected by Dynaweb.
    It is not safe to continue visiting censored websites.
    You are highly recommended to close all opened applications now.
    [_]Do not show this window again; close all IE windows.
    [_]Do not show this window again; keep all IE windows.
    [Close opened applications [30s]][Keep open]

    12. To confirm Freegate has successfully reverted proxy settings

    a. Open Windows Settings:
    Win+I > Network & Internet > Proxy

    b. Check the following:
    - Automatic proxy setup:
    Automatically detect settings = on
    Use setup script = off
    Script address = <blank>
    - Manual proxy setup:
    Use a proxy server = off
    Address = <blank>
    Port = <blank>
    Don't use the proxy server for local (intranet) addresses = unchecked

    c. Open Internet Options:
    Win+R > control > Internet Options > Connections > LAN settings

    d. Confirm:
    - Automatically detect settings = checked
    - Use automatic configuration script = unchecked
    Address = <blank>
    - Use a proxy server for your LAN = unchecked
    Address = <blank>
    Port = <blank>
    Bypass proxy server for local addresses = unchecked

    e. Click [OK] to close LAN settings
    Click [OK] to close Internet Properties

    Unfortunately, I didn't know about the version 8.05 available download.
    When I used FreeGate 7.90 a few times, it asked to download version 8.05:
    Name: fg805p.exe
    Size: 8135672 bytes (7944 KiB)
    SHA256: 608DDDD745143F977BECB15A63FB49855B6672E4E53AA87833CA818A159FC1D1

    Had I known that, I would have used a different download site:
    <https://gizmodo.com/download/freegate>
    <https://gizmodo.com/download/freegate-67626-download>
    Name: gizmodo_fg805p.exe
    Size: 8135672 bytes (7944 KiB)
    SHA256: 608DDDD745143F977BECB15A63FB49855B6672E4E53AA87833CA818A159FC1D1

    So rather than rewrite my log, here are 7.90 vs 8.05 differences.

    STEP 1: DOWNLOAD
    Go to: https://www.techspot.com/downloads/6243-freegate.html
    Version 7.90 file: fg790p.zip (SHA256: 8BD7F8DFEFA73DE07CC0C32265174681BACE7DF90EF2CCFB60F3B8473E3607CA)
    Version 8.05 file: fg805p.exe (SHA256: 608DDDD745143F977BECB15A63FB49855B6672E4E53AA87833CA818A159FC1D1)

    STEP 2: EXTRACT (if ZIP)
    Right-click fg790p.zip
    Select "Extract All..."
    Choose folder (example: C:\app\network\freegate\)
    Click "Extract"

    STEP 3: LAUNCH
    Double-click fg790p.exe (7.90) or fg805p.exe (8.05)

    STEP 4: CONTROL PANEL DIFFERENCES
    VERSION 7.90:
    Window title: "FreeGate Proxy Control"
    Options:
    (_) All websites go through Freegate proxy
    (o) Connect to websites in China directly
    [ ] Skip this window when program starts
    Must click "OK" to activate

    VERSION 8.05:
    Window title changed (simplified layout)
    Options presented as a dropdown or single checkbox
    Status/log window shows connection attempts
    Fewer prompts, more automatic behavior

    STEP 5: STATUS WINDOW
    VERSION 7.90:
    Dynaweb FreeGate window shows:
    "Connected to X Servers, port: 8580, Tunnel(A)"
    Tunnel modes: A, F, M

    VERSION 8.05:
    Console-like log output
    Shows connection attempts and tunnel status
    Still binds to 127.0.0.1:8580

    STEP 6: FIREWALL PROMPT
    Windows Defender may prompt:
    "Allow Freegate to communicate..."
    Select:
    [x] Private networks
    [ ] Public networks
    Click "Allow access"

    STEP 7: VERIFY FUNCTION
    Open browser
    Visit https://www.whatismyip.com/
    Confirm IP differs from ISP
    Visit a blocked site to confirm access
    System proxy should show:
    Address = 127.0.0.1
    Port = 8580

    STEP 8: EXIT BEHAVIOR
    VERSION 7.90:
    Exit dialog appears:
    "Freegate is exiting. Your internet activity will no longer be protected..."
    Options to close or keep IE windows

    VERSION 8.05:
    Exit dialog simplified
    Still warns that proxy is disabled after exit

    STEP 9: CONFIRM REVERSION
    After closing Freegate:
    ProxyEnable = 0
    ProxyServer = <blank>
    No fg790p.exe or fg805p.exe process
    No listener on 127.0.0.1:8580
    Check via:
    Win+I > Network & Internet > Proxy
    Win+R > control > Internet Options > LAN settings

    SUMMARY
    Both FreeGate 7.90 & 8.05 use the same proxy mechanism (127.0.0.1:8580)
    Abut 7.90 has explicit radio buttons, 8.05 has simplified controls
    Verification and cleanup steps remain the same

    If you know of other free proxy servers for Windows, let us all know!
    Note: Batch files to check proxy setup to follow after this OP.
    --- Synchronet 3.21a-Linux NewsLink 1.2
  • From Marion@marionf@fact.com to alt.comp.freeware,alt.privacy,alt.msdos.batch on Mon Sep 22 20:39:05 2025
    From Newsgroup: alt.msdos.batch

    Marion wrote:
    Note: Batch files to check proxy setup to follow after this OP.

    I added FreeGate checks to the existing Psiphon checks in checkproxy.bat

    @echo off
    REM C:\data\sys\batch\checkproxy.bat 20250916
    REM This is version 1.9 (w! checkproxy.bat_v1px.)
    REM Custom unified Windows proxy diagnostic tool
    REM v1.0 lists WinINET manual proxy, WinHTTP proxy, PAC/AutoDetect
    REM v1.1 replaces echo. with echo( to avoid command misinterpretation
    REM v1.2 adds PAC file existence check and SHA256 hash logging (114 lines)
    REM v1.3 (152 lines) adds debugging (section 9)
    REM v1.4 (161 lines) adds more debugging (section 10)
    REM v1.5 (182 lines) adds more debugging (section 11)
    REM v1.6 (204 lines) adds command reference (section 12)
    REM v1.7 (205 lines) Changed example.com to abc.com throughout
    REM v1.8 (217 lines) Added check for freegate proxy in addition to psiphon
    REM v1.9 (229 lines) Added outout in final report to add freegate logging
    :: Normally the pac file is served by a web server.
    :: This script doesnot rely on Windows successfully fetching the PAC file
    :: via HTTP. Instead, it Sets the registry key to point to the PAC URL
    :: It assumes the PAC logic is known & trusted.
    :: It uses proxy.cmd to apply proxy settings directly,
    :: bypassing the need for Windows to interpret the PAC file
    :: So even if http://127.0.0.1/proxy.pac isnot actually being served
    :: by a web server, the system still behaves as if it is because the
    :: tooling here enforces the logic manually.
    :: This is the where Windows typically looks for the PAC script URL.
    :: HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\
    :: AutoConfigURL = http://127.0.0.1/proxy.pac
    :: That tells Windows to fetch the PAC file from your own machine via HTTP
    :: http://127.0.0.1/proxy.pac
    :: C:\data\sys\batch\proxy.pac
    :: curl http://127.0.0.1/proxy.pac
    ::
    :: You could point to the actual pac file but that's less universal
    :: AutoConfigURL = file:///C:/data/sys/batch/proxy.pac
    ::
    :: C:\app\network\psiphon\psiphon3.exe -mode=socks
    :: Win+I > Settings > Network & Internet > Proxy > Manual proxy setup = on
    :: Automatic proxy setup
    :: Automatically detect settings = on
    :: Use setup script = on
    :: Script address = http://127.0.0.1/proxy.pac
    :: Manual proxy setup
    :: Use a proxy server = on
    :: Address http=127.0.0.1:3736;https=127.0.0.1:3736;socks=127.0.0.1:1080
    :: Port = <blank>
    :: Use the proxy server except for addresses that start with the following entries. Use semicolons (;) to separate entries.
    :: 10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*;169.254.*;[fc*];[fd*];[fe8*];[fe9*];[fea*];[feb*]
    :: [x]Don't use the proxy server for local (intranet) addresses
    ::
    :: HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\AutoConfigURL
    :: AutoConfigURL = http://127.0.0.1/proxy.pac
    ::
    :: C:\data\sys\batch\proxy.pac
    ::
    :: Final Result
    :: WinINET: Enabled and pointing to Psiphon
    :: WinHTTP: Synced to match WinINET
    :: PAC: Registry keys set, logic assumed, Auto-Detect enabled
    :: The system is now fully aligned across all proxy layers.

    echo [%DATE% %TIME%] Starting proxy check...

    setlocal

    set KEY="HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
    set PACFILE=C:\data\sys\batch\proxy.pac

    echo ==============================================
    echo WINDOWS PROXY CONFIGURATION CHECK
    echo ==============================================

    REM --- PAC file existence check ---
    if not exist "%PACFILE%" (
    echo WARNING: PAC file not found at %PACFILE%
    ) else (
    echo PAC file found at %PACFILE%
    echo PAC file SHA256 hash:
    certutil -hashfile "%PACFILE%" SHA256
    )

    REM --- WinINET (manual proxy) ---
    echo(
    echo [1] WinINET / Internet Settings
    for /f "tokens=2,* skip=2" %%A in ('reg query %KEY% /v ProxyEnable
    nul') do set ProxyEnable=%%B
    for /f "tokens=2,* skip=2" %%A in ('reg query %KEY% /v ProxyServer
    nul') do set ProxyServer=%%B
    if "%ProxyEnable%"=="0x1" (
    echo Proxy is ENABLED
    echo Proxy server: %ProxyServer%
    ) else (
    echo Proxy is DISABLED
    )

    REM --- WinHTTP proxy ---
    echo(
    echo [2] WinHTTP proxy (system/background services)
    netsh winhttp show proxy

    REM --- PAC (Proxy Auto-Config) & AutoDetect ---
    echo(
    echo [3] PAC / AutoDetect
    for /f "tokens=2,* skip=2" %%A in ('reg query %KEY% /v AutoConfigURL
    nul') do set PACurl=%%B
    for /f "tokens=2,* skip=2" %%A in ('reg query %KEY% /v AutoDetect 2^>nul')
    do set AutoDetect=%%B

    if defined PACurl (
    echo PAC script set: %PACurl%
    ) else (
    echo No PAC script URL found.
    )

    if "%AutoDetect%"=="0x1" (
    echo Auto-detect is ENABLED
    ) else (
    echo Auto-detect is DISABLED
    )


    REM Added these debugging commands (v1p3)
    echo(
    echo [4] Psiphon and Mongoose process check
    echo tasklist | findstr /i "psiphon3.exe mongoose.exe"
    tasklist | findstr /i "psiphon3.exe mongoose.exe"

    :: Added this insert to check for freegate proxy (v1p8)
    echo(
    echo [4b] Freegate process check
    tasklist | findstr /i "fg790p.exe"

    echo(
    echo [5b] Freegate port binding check
    netstat -ano | findstr :8580
    netstat -ano | findstr :8581
    :: END INSERT to check for freegate proxy (v1p8)

    echo(
    echo [5] Port binding check (Mongoose/Proxy)
    echo netstat -ano | findstr :8080
    netstat -ano | findstr :8080

    echo(
    echo [6] DNS resolution test
    echo nslookup abc.com
    nslookup abc.com

    echo(
    echo [7] Internet connectivity test
    echo ping 8.8.8.8
    ping 8.8.8.8

    echo(
    echo [8] Proxy test via curl
    echo curl -x http://127.0.0.1:3736 http://abc.com --max-time 5
    curl -x http://127.0.0.1:3736 http://abc.com --max-time 5

    echo(
    echo [9] .NET proxy settings (PowerShell)
    echo powershell -Command "[System.Net.WebRequest]::DefaultWebProxy"
    powershell -Command "[System.Net.WebRequest]::DefaultWebProxy"

    echo(
    echo [10] Network adapter configuration
    echo ipconfig /all
    ipconfig /all

    echo(
    echo [11] Network interface and routing diagnostics

    echo netsh interface show interface
    netsh interface show interface

    echo(
    echo route print
    route print

    echo(
    echo curl --verbose http://abc.com
    curl --verbose http://abc.com

    REM Optional deeper trace (creates trace.txt in current folder)
    echo(
    echo curl --trace trace.txt http://abc.com
    curl --trace trace.txt http://abc.com


    echo(
    echo Summary:
    echo Proxy Enabled: %ProxyEnable%
    echo Proxy Server: %ProxyServer%
    echo PAC URL: %PACurl%
    echo AutoDetect: %AutoDetect%

    echo(
    echo ==============================================
    echo Check complete.
    echo ==============================================

    echo(
    echo [12] Command Reference (manual run options)
    echo certutil -hashfile "C:\data\sys\batch\proxy.pac" SHA256
    echo reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable
    echo reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer
    echo netsh winhttp show proxy
    echo reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL
    echo reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoDetect
    echo tasklist | findstr /i "psiphon3.exe mongoose.exe"
    echo netstat -ano | findstr :8080
    echo nslookup abc.com
    echo ping 8.8.8.8
    echo curl -x http://127.0.0.1:3736 http://abc.com --max-time 5
    echo powershell -Command "[System.Net.WebRequest]::DefaultWebProxy"
    echo ipconfig /all
    echo netsh interface show interface
    echo route print
    echo curl --verbose http://abc.com
    echo curl --trace trace.txt http://abc.com
    echo(
    echo Freegate process check:
    tasklist | findstr /i "fg790p.exe" || echo No Freegate process found.
    echo(
    echo Freegate port check:
    netstat -ano | findstr :8580 || echo No listener on 8580
    netstat -ano | findstr :8581 || echo No listener on 8581
    REM Sometimes Freegate sets ProxyServer to 127.0.0.1:8590 in
    REM Internet Options while actually listening on 8580 so check for that
    echo(
    echo ProxyServer registry value: %ProxyServer%
    echo Expected Freegate listener: 127.0.0.1:8580

    endlocal
    pause
    --
    --- Synchronet 3.21a-Linux NewsLink 1.2