
Бесплатный инструмент для безопасного подключения к частным сетям с использованием шифрования (AES/ChaCha20) и TLS-аутентификации, поддерживающий многоплатформенный удалённый доступ и мостовое соединение LAN-to-LAN.
Бесплатное подключение к вашей частной сети из любой точки мира
fcn[free connect] — это простой инструмент для подключения к частной сети в один клик, состоящий из серверной части и клиента.
fcn использует публичные серверы данных fcn и технологии шифрования данных, чтобы виртуально подключить клиент пользователя к частной сети сервера.
fcn = fcn_server + fcn_client
Примечание: в версиях до FCN V3.0 есть ошибка при переключении серверов. FCN недавно сменил IP-адреса серверов, что может привести к невозможности подключения к серверу. Перезапустите сервер или обновите его версию.
Группа QQ для общения по FCN: 592512533; форум FCN: http://bbs.xfconnect.com
Скачать FCN V3.0 FULL (Baidu Netdisk): https://pan.baidu.com/s/1pLsonhh
Скачать FCN V3.0 binary: https://github.com/boywhp/fcn/releases/download/V3.0/FCN_V3.0.zip
Скачать FCN V3.0 для встраиваемых систем: https://github.com/boywhp/fcn/releases/download/V3.0/linux-embeded.zip
Поддерживаемые FCN операционные системы
Linux openwrt/lede: протестированы WR703N, ASUS N14U, Phicomm K2/K2P с Openwrt/Padavan; для openwrt/lede необходимо самостоятельно установить пакет libopenssl
Linux arm/armbian: протестированы Raspberry Pi 3 и Orange Pi


Концепция FCN — максимально простой интерфейс и полный набор решений для подключения к сети. Описание сценариев использования см. в презентации:
http://pan.baidu.com/s/1o8r2w7g
Краткое описание FCN Lan2Lan:
http://weibo.com/ttarticle/p/show?id=2309404124768579250283
Сначала настройте конфигурационный файл fcn.conf. Обратите внимание: в настоящее время доступны тестовые учётные записи FCN_0000-FCN_9999, каждая с ограничением скорости 100 КБ/с (без ограничений после успешного установления P2P-соединения).
Выберите случайную тестовую учётную запись и задайте собственное уникальное имя сервера, чтобы избежать конфликта учётных записей.
Режим NAT на основе TUN-драйвера требует прав ROOT; в режиме NAT на уровне приложения без прав ROOT невозможно отправлять и получать ping-пакеты.
./fcn_x64 # 应用层NAT模式
sudo ./fcn_x64 # tun驱动NAT模式
Примечание: для одной конфигурации сервера FCN может работать только один экземпляр. После изменения конфигурации необходимо завершить старый процесс, иначе будет выдана ошибка.
#!/bin/sh
/home/pi/fcn-arm
Добавьте права на выполнение: chmod +x fcn.sh
Создайте символическую ссылку: ln -s /home/pi/your_fcn_dir/fcn.sh /etc/init.d/fcn
Добавьте в автозагрузку: update-rc.d fcn defaults 99
В главном окне добавьте сервер, укажите соответствующие параметры подключения и подключитесь. После успешного подключения клиент Windows окажется в локальной сети сервера. Соответствие параметров клиента и сервера:

Примечание: при первом подключении автоматически устанавливается драйвер виртуального сетевого адаптера; требуется подтверждение пользователя.
Функции клиента и сервера Linux объединены в одном исполняемом файле; программа запускает клиент или сервер в зависимости от параметров командной строки. Наиболее часто используемые параметры клиента:
sudo ./fcn --uid FCN_0001 --svr SVR0001 --psk 'PASSWORD'
Поддерживаемые параметры клиента командной строки Linux:
fcn использует цифровые сертификаты, TLS и технологии шифрования данных, а также технологию P2P-связи. Сетевые данные пользователя шифруются на всём пути, ключ сеанса автоматически обновляется примерно каждые 30 минут, что исключает перехват и расшифровку данных или атаки «человек посередине».
Публичные серверы fcn не собирают никаких сетевых данных пользователей и поддерживают принудительную P2P-передачу пользовательских данных. В дальнейшем планируется открыть пользовательский интерфейс шифрования, чтобы пользователи могли реализовать собственное сквозное шифрование.
| Операционная система | Имя файла |
|---|
| Windows XP и выше | windows/fcn_win.exe |
| Linux 64bit | linux/fcn_x64 |
| Linux 32bit | linux/fcn_x86 |
| Маршрутизаторы Linux | linux-embedded/fcn_mips/mipsel/arm/armhf_uclib |
| Linux arm | linux-embedded/fcn-arm/armbian |
| Сценарий использования | Описание | Практическое руководство |
|---|
| Управление удалёнными хостами | Удалённое управление любой машиной, подключённой к сети, без публичного IP-адреса | http://pan.baidu.com/s/1slpu4f7 |
| Удалённый доступ к LAN | Доступ к удалённой локальной сети в один клик | http://pan.baidu.com/s/1gfP7ZCv |
| Удалённая демонстрация клиенту | Сервер FCN поддерживает ограничения доступа по IP и портам, можно временно предоставить ограниченный доступ к сети | http://pan.baidu.com/s/1qXND5bY |
| Lan2Lan | Доступ к удалённой локальной сети через проксирование локальных машин клиентом FCN | http://pan.baidu.com/s/1slM5N6P |
| Удалённая виртуальная сеть | Создание виртуальной локальной сети через интернет с помощью виртуального сетевого адаптера FCN | -- |
| Пул сетевых прокси | Агрегация каналов FCN: одновременное подключение к нескольким серверам со случайной сменой исходящего IP | -- |
| Ключ конфигурации | Описание |
|---|
| [uid] | FCN_[0001-9999] — 8-символьный FCN ID |
| [name] | Имя сервера; рекомендуется указывать осмысленное имя |
| [psk] | Хеш пароля администратора или пароль в открытом виде; рекомендуется использовать хеш |
| [cipher] | Алгоритм шифрования: aes-256-cfb/aes-128-cfb/chacha20; по умолчанию aes-256-cfb |
| [authfile] | Имя файла списка пользователей; файл списка пользователей создаётся с помощью fcn_win.exe |
| [udp] | 0/1 — тип передачи пакетов: 0: TCP, 1: UDP; рекомендуется не указывать, используется UDP |
| [nat_nic] | Имя сетевого адаптера сервера для виртуальных подключений; рекомендуется не указывать |
| [dhcp_ip/dhcp_mask/dhcp_dns] | Подсеть DHCP и адрес DNS-сервера DHCP для виртуальных подключений; рекомендуется не указывать |
| [uport] | Пользовательский UDP-порт; по умолчанию 5000, диапазон [1000-2000]; рекомендуется не указывать |
| [tport] | Пользовательский TCP-порт; по умолчанию 8000, диапазон [1000-2000]; рекомендуется не указывать |
| [pport] | Пользовательский P2P-порт; не заполняйте, если на сервере нет возможности проброса портов |
| [fcn_svr] | Адрес публичного сервера FCN; по умолчанию s1.xfconnect.com; рекомендуется не указывать |
| [notun] | 0/1 — 0: автоматически, 1: принудительный NAT на уровне приложения; рекомендуется не указывать |
| Параметр | Описание |
|---|
| --uid | Соответствует параметру ID пользователя на сервере |
| --psk | Соответствует параметру пароля пользователя на сервере |
| --svr | Соответствует имени сервера |
| --usr | Соответствует имени пользователя на сервере |
| --host | Адрес публичного сервера FCN; по умолчанию s1.xfconnect.com; рекомендуется указывать IP-адрес напрямую |
| --tun | Имя виртуального сетевого адаптера клиента; по умолчанию tun_fcn; рекомендуется указывать при наличии нескольких клиентов FCN |
| --tunip | Задать IP-адрес виртуального сетевого адаптера клиента вручную |
| --tcp | Использовать TCP-канал; рекомендуется не указывать, используется UDP |
| --vpn | Включить глобальную маршрутизацию; по умолчанию подключается к подсети сетевого адаптера сервера; заполнять по необходимости |
| --fwd | Включить автоматическую пересылку данных локальной сети сервера на виртуальный адаптер; рекомендуется включать по необходимости |
| --nolog | Сервер FCN не ведёт журнал; по умолчанию журналирование включено, записи сохраняются в файл fcn.log |
| --nodaemon | Сервер FCN работает в режиме консоли; по умолчанию работает в фоновом режиме |