Вторник, 2024-03-19, 08:23
Приветствую Вас Гость | RSS
Главная | Standalone FRN server | Регистрация | Вход
Меню сайта
Вход на сайт
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    AlterFRN server and client for UNIX/Linux
    Deutsch
    English
    Français
    Italiano

    FreeRadioNetwork (FRN) Server
    для FreeBSD, Linux и Windows

    AlterFRN-сервер обратно совместим по протоколу с оригинальным FRN-сервером и может одновременно взаимодействовать с тремя FRN-System-Manager в нескольких режимах:
    - Standalone = никак не взаимодействует - работает полностью автономно;
    - Notify = с уведомлением;
    - Light = легкая проверка;
    - FRN = жесткая проверка.

    Каждая сеть(комната) может использовать по желанию владельца сервера свой собственный режим взаимодействия с FRN System Manager.

    В режимах Standalone и Notify регистрация в собственно сети FRN на ее FRN-System-Manager совсем не обязательна.

    Также, AlterFRN-сервер при взаимодействии с FRN-System-Manager не передает на него IP-адреса подключающихся клиентов, как это делает оригинальный FRN-сервер.

    Таким образом может быть достигнута полная или частичная независимость от FRN-System-Manager, если это необходимо владельцу сервера в конкретной ситуации, например, для построения совершенно изолированной сети ретрансляторов.

    AlterFRN-cервер позволяет использовать оригинальный FRN-клиент и альтернативные клиенты, например, AlterFRN-клиент, frn4pi, PiCQ или любые другие клиенты, корректно поддерживающие оригинальный протокол FRN.


    = Cтабильная версия 6584 (2021-01-22), список изменений:
    Скачать сервер r6584 / Download server r6584


    Версия сервера AlterFRN для операционной системы Microsoft Windows отлично работает как служба Windows c помощью Non-Sucking Service Manager.

    Вопросы, предложения и замечания по AlterFRN-серверу можно и нужно писать только на форуме в теме Альтернативный сервер.

    Выражаю огромную благодарность Олегу SP483 за предоставленный код авторизации для FRN-клиента и FRN-сервера. Это был реально титанический труд.


    Описание конфигурационного файла сервера / Server configuration file description
    Описание списка сетей (комнат) / Networks(rooms) configuration file description



    Запуск сервера: FRNServerConsole [flags...] [command [parameters...]]

    s.0.Описание флагов и команд сервера AlterFRN:

    s.0.f. Описание флагов командной строки сервера AlterFRN:
    s.0.f.1. Флаг -e, --email - [ревизия r5820+] - в списке подключенных клиентов по командам list (s.0.16) и listnet (s.0.17) выводить адрес e-почты клиента отдельным полем;
    s.0.f.2. Флаг -d, --id - [ревизия r5820+] - в списке подключенных клиентов по командам list (s.0.16) и listnet (s.0.17) выводить серверный идентификатор клиента отдельным полем;
    s.0.f.3. Флаг -i, --ip - [ревизия r5820+] - в списке подключенных клиентов по командам list (s.0.16) и listnet (s.0.17) выводить IP-адрес клиента отдельным полем;
    s.0.f.4. Флаг -m, --managerid - [ревизия r5820+] - в списке подключенных клиентов по командам list (s.0.16) и listnet (s.0.17) выводить идентификаторы клиента от всех FRN System Manager отдельным полем;
    s.0.f.5. Флаг -p, --proto - [ревизия r5820+] - в списке подключенных клиентов по командам list (s.0.16) и listnet (s.0.17) выводить флаги пртокола FRN отдельным полем; смотри описание флагов протокола.
    s.0.f.6. Флаг -f, --full - [ревизия r5820+] - в списке подключенных клиентов по командам list (s.0.16) и listnet (s.0.17) выводить полную дополнительную информацию о клиенте: адрес e-почты клиента, серверный идентификатор клиента, IP-адрес клиента, идентификаторы клиента от всех FRN System Manager, флаги пртокола FRN для клиента;
    s.0.f.7. Флаг -l, --flat - [ревизия r5820+] - плоская форма списка подключенных клиентов по командам list (s.0.16) и listnet (s.0.17);
    s.0.f.8. Флаг -u, --utf8 - [ревизия r5820+] - для консольного вывода использовать кодировку UTF8;
    s.0.f.9. Флаг -o, --oem - [ревизия r5820+, только Windows] - для всего консольного вывода использовать текущую OEM кодировку Windows; по умолчанию;
    s.0.f.10. Флаг -a, --ansi - [ревизия r5820+, только Windows] - для всего консольного вывода использовать текущую ANSI кодировку Windows;
    s.0.f.11. Флаг -r <c>, --deli <c> - [ревизия r7129+] - явно установить символ-разделитель полей для списков. Формат совпадает с параметром LogClientListDelimiter (8.13) в секции [System] (8). Не забывайте о возможной необходимости экранирования символа обратной дроби (\) в командных процессорах, например, -r\\t или '-r\t'.


    s.0.1. Параметер daemon [configfilename] -- [только UNIX/Linux, ревизия 4300+] запустить сервер в фоновом режиме (демоном); при этом PID сохраняется в pid-файл; журнал событий пишется в log-файл -- смотри также параметр LogFile (s.3.2); системный сигнал SIGHUP (до ревизии 7129) или SIGUSR1(ревизии 7129+) используется для переоткрытия файла журнала для совместного использования с системами вращения журналов типа logrotate или подобных;

    s.0.2. Параметер run [configfilename] -- [ревизия 4300+] запустить в синхронном режиме, журнал событий записывается в log-файл; эта команда может использоваться совместно с Non-Sucking Service Manager для запуска сервера службой Windows; смотри также параметр LogFile (s.3.2);

    s.0.3. Параметер debug [configfilename] -- [ревизия 4300+] запустить в синхронном режиме, журнал событий пишется в stdout; эквивалентен запуску без параметров командной строки; эта команда может использоваться совместно с Non-Sucking Service Manager для запуска сервера службой Windows;

    s.0.4. Параметер pidfilename [configfilename] -- [только UNIX/Linux, ревизия 4300+] вывести в stdout полное имя файла с сохраненным идентификатором запущенного ранее фонового процесса (демона) по параметрy PidFile (s.3.1) из конфигурационного файла, конкретного или по умолчанию;

    s.0.5. Параметер logfilename [configfilename] -- [ревизия 4300+] вывести в stdout полное имя файла журнала для команд daemon и run сервера по значению параметра LogFile (s.3.2) из конфигурационного файла, конкретного или по умолчанию;

    s.0.6. Параметер stop [configfilename] - [только UNIX/Linux, ревизия r4630+] - остановить ранее запущенный фоновый процесс (демон) AlterFRN-сервера; посылает фоновому процессу сигнал SIGTERM с использованием PID фонового процесса из pid-файла; смотри также команду pidfilename и параметр PidFile (s.3.1) конфигурационного файла, конкретного или по умолчанию;

    s.0.7. Параметер reopenlog [configfilename] - [только UNIX/Linux, ревизия r4913+] - переоткрыть файл журнала ранее запущенного фонового процесса (демона) AlterFRN-сервера; посылает фоновому процессу (демону) сервера сигнал SIGHUP(до ревизии 7129) или SIGUSR1(начиная с ревизии 7129) с использованием идентификатора процесса из pid-файла; смотри также команду pidfilename и параметр PidFile (s.3.1) конфигурационного файла, конкретного или по умолчанию; может быть полезен при совместной работе с системами вращения журналов;

    s.0.8. Параметер deletepidfile [configfilename] - [только UNIX/Linux, ревизия r4913+] - позволяет принудительно удалить файл идентификатора процесса сервера AlterFRN, например, при старте системы удалить PID-файл, оставшийся при пропадании питания и т.п.; смотри также команду pidfilename (s.0.4) и параметр PidFile (s.3.1) конфигурационного файла, конкретного или по умолчанию;

    s.0.9. Параметер setmanpassidx <index> "PasSwOrd" [configfilename] - [r5092+] - записывает в конфигурационный файл сервера AlterFRN новый пароль <PasSwOrd> для подключения сервера к FRN System Manager по индексу <index> секции менеджера, где 0 это [Manager], 1 - [Manager1], 2 - [Manager2] соответственно; для применения нового пароля необходим перезапуск сервера AlterFRN или команда dsetmanpassidx (s.0.12); смотри также параметр ManagerAuthPassword (s.2.5);

    s.0.10. Параметер setmanpassaddr <address> <PasSwOrd> [configfilename] - [r5092+] - записывает в конфигурационный файл сервера AlterFRN новый пароль <PasSwOrd> для подключения сервера к FRN System Manager по адресу <address> менеджера; для применения нового пароля необходим перезапуск сервера AlterFRN или команда dsetmanpassaddr (s.0.13); смотри также параметры ManagerAddress (s.2.2) и ManagerAuthPassword (s.2.5);

    s.0.11. Параметер pid [configfilename] -- [ревизия r5092+, только UNIX/Linux] - выдает PID процесса запущенного фонового процесса (демона) сервера AlterFRN;

    s.0.12. Параметер dsetmanpassidx <index> <PasSwOrd> [configfilename] -- [ревизия r5820+] -- передает по командному интерфейсу работающему серверу AlterFRN новый пароль <PasSwOrd> для подключения к FRN System Manager по индексу <index> секции менеджера, где 0 это [Manager], 1 - [Manager1], 2 - [Manager2] соответственно; (!!!) команда dsetmanpassidx не записывает новый пароль в конфигурационный файл - для записи используйте команду setmanpassidx (s.0.9); перезапуск сервера не требуется; необходимо активировать командный интерфейс в секции [Command] (s.6); смотри также параметр ManagerAuthPassword (s.2.5);

    s.0.13. Параметер dsetmanpassaddr <address> <PasSwOrd> [configfilename] -- [ревизия r5820+] -- передает по командному интерфейсу работающему серверу AlterFRN новый пароль <PasSwOrd> для подключения к FRN System Manager по адресу <address> менеджера; (!!!) команда dsetmanpassaddr не записывает новый пароль в конфигурационный файл - для записи используйте команду setmanpassaddr (s.0.10); перезапуск сервера не требуется; необходимо активировать командный интерфейс в секции [Command] (s.6); смотри также параметры ManagerAddress (s.2.2) и ManagerAuthPassword (s.2.5);

    s.0.14. Параметер ansi - [ревизия r5820+, только Windows] - выводит имя ANSI-кодировки для текущего языкового профиля Windows; именно эта кодировка используется в оригинальных сервере и клиенте FRN для национальных символов и именно ее необходимо указывать, в том числе и под UNIX/Linux, в параметре ServerCharsetName (s.1.4) и/или параметре сети(комнаты) CharsetName (n.10) для вашего языка; например, ANSI кодировкой FRN для русского языка является WINDOWS-1251; к сожалению, ANSI-динозавры нас никак не отпускают, приходится их всех помнить по именам (((( ;

    s.0.15. Параметер charsets -- [ревизия r5820+, только Windows] -- выводит список всех кодировок, поддерживаемых конкретно вашей Windows;

    s.0.16. Параметер list [configfilename] - [ревизия r5820+] - выдает список всех подключенных в текщий момент ко всему серверу AlterFRN клиентов; требуется активировать командный канал в секции [Command] (s.6); полезные флаги для списка (s.0.f); смотри также параметр ListDelimiter (s.3.5) в секции [System] (s.3);

    s.0.17. Параметер listnet "network" [configfilename] - [ревизия r5820+] - выдает список подключенных в текщий момент в сеть(комнату) <network> клиентов; требуется активировать командный канал в секции [Command] (s.6); полезные флаги для списка (s.0.f); смотри также параметр ListDelimiter (s.3.5) в секции [System] (s.3);

    s.0.18. Параметер dstop [configfilename] - [ревизия r5820+] -- посылает через командный интерфейс работающему серверу команду завершить работу; требуется активировать командный канал в секции [Command] (s.6);

    s.0.19. Параметер mute "clientid" "network" [configfilename] - [ревизия r5820+] - заглушает клиента <clientid> в сети(комнате) <network> от имени владельца сервера через командный интерфейс; идентификатор клиента <clientid> вида подобного hCVK0[GEQP8lbA9NuIRdoAE7 можно увидеть командами получения списка list (s.0.16) и listnet (s.0.17) с флагом -d, --id (s.0.f.2); требуется активировать командный канал в секции [Command] (s.6);

    s.0.20. Параметер mutetemp <time> "clientid" "network" [configfilename] - [ревизия r5820+] - временно заглушает клиента <clientid> в сети (комнате) <network> на время <time> через командный интерфейс от имени владельца сервера; через указанное время сервер автоматически отменит заглушение; требуется активировать командный канал в секции [Command] (s.6);

    s.0.21. Параметер unmute "clientid" "network" [configfilename] -- [ревизия r5820+] -- отменяет действие команд mute (s.0.21) и mutetemp (s.0.22); требуется активировать командный канал в секции [Command] (s.6);

    s.0.22. Параметер block "clientid" "network" [configfilename] -- [ревизия r5820+] -- блокирует клиента <clientid> в сети(комнате) <network> от имени владельца сервера; требуется активировать командный канал в секции [Command] (s.6);

    s.0.23. Параметер blocktemp <time> "clientid" "network" [configfilename] -- [ревизия r5820+] -- временно блокирует клиента <clientid> в сети (комнате) <network> на время <time> от имени владельца сервера через командный интерфейс; через указанное время сервер автоматически отменит блокировку; требуется активировать командный канал в секции [Command] (s.6);

    s.0.24. Параметер unblock "clientid" "network" [configfilename] -- [ревизия r5820+] -- отменяет действие команд block (s.0.24) и blocktemp (s.0.25); требуется активировать командный канал в секции [Command] (s.6);

    s.0.25. Параметер
    adminadd "clientid" "network" [configfilename] или
    adminadd "email" "network" [configfilename] -- [ревизия r5820+] -- добавить клиента по идентификатору "clientid" или адресу е-почты "email" в администраторы сети (комнаты) "network"; требуется активировать командный канал в секции [Command] (s.6);

    s.0.26. Параметер admindel <clientid> <network> [configfilename] - [ревизия r5820+] - удалить клиента <clientid> из администраторов сети (комнаты) <network>; команда требует активировать командный канал в секции [Command] (s.6);

    s.0.27. Параметер rightadd <email> <network> [configfilename] - [ревизия r5820+] - добавить корреспондента с адресом e-почты <email> в список доступа сети (комнаты) <network>; команда требует активировать командный канал в секции [Command] (s.6);

    s.0.28. Параметер rightdel <email> <network> [configfilename] - [ревизия r5820+] - удалить корреспондента с адресом e-почты <email> из списка доступа сети (комнаты) <network>; требуется активировать командный канал в секции [Command] (s.6);

    s.0.29. Параметер rightmark <email> <network> [configfilename] - [ревизия r5820+] - пометить корреспондента с адресом e-почты <email> в списке доступа сети (комнаты) <network>; требуется активировать командный канал в секции [Command] (s.6);

    s.0.30. Параметер rightunmark <email> <network> [configfilename] -- [ревизия r5820+] -- отменить пометку корреспондента с адресом e-почты <email> в списке доступа сети (комнаты) <network>; требуется активировать командный канал в секции [Command] (s.6);

    s.0.31. Параметер connenable <network> [configfilename] -- [ревизия r5820+] -- включить режим подключения к сети(комнате) <network> только клиентам, имеющим пометку в списке доступа для этой сети(комнаты); требуется активировать командный канал в секции [Command] (s.6);

    s.0.32. Параметер conndisable <network> [configfilename] -- [ревизия r5820+] -- отключить режим подключения к сети(комнате) <network> только клиентам, имеющим пометку в списке доступа для этой сети(комнаты); требуется активировать командный канал в секции [Command] (s.6);

    s.0.33. Параметер talkenable <network> [configfilename] -- [ревизия r5820+] -- включить режим разрешения говорить в сети(комнате) <network> только клиентам, имеющим пометку в списке доступа для этой сети(комнаты); требуется активировать командный канал в секции [Command] (s.6);

    s.0.34. Параметер talkdisable <network> [configfilename] -- [ревизия r5820+] -- отключить режим разрешения говорить в сети(комнате) <network> только клиентам, имеющим пометку в списке доступа для этой сети(комнаты); требуется активировать командный канал в секции [Command] (s.6);

    s.0.35. Параметер drereadmutes [configfilename] -- [ревизия r5820+] -- перечитать список заглушенных клиентов из файла по умолчанию mutes.dat; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.36. Параметер frereadmutes <filename> [configfilename] -- [ревизия r5820+] -- перечитать список заглушенных клиентов из файла <filename>; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.37. Параметер drereadblocks [configfilename] -- [ревизия r5820+] -- перечитать список заблокированных из файла по умолчанию blocks.dat; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.38. Параметер frereadblocks <filename> [configfilename] -- [ревизия r5820+] -- перечитать список заблокированных клиентов из файла <filename>; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.39. Параметер drereadadmins [configfilename] -- [ревизия r5820+] -- перечитать список администраторов из файла по умолчанию admins.dat; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.40. Параметер frereadadmins <filename> [configfilename] -- [ревизия r5820+] -- перечитать список администраторов из файла <filename>; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.41. Параметер drereadrights [configfilename] -- [ревизия r5820+] -- перечитать список доступа из файла по умолчанию rights.dat; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.42. Параметер frereadrights <filename> [configfilename] -- [ревизия r5820+] -- перечитать список доступа из файла <filename>; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.43. Параметер drereadmodes [configfilename] -- [ревизия r5820+] -- перечитать список режимов доступа из файла по умолчанию modes.dat; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.44. Параметер frereadmodes <filename> [configfilename] -- [ревизия r5820+] -- перечитать список режимов доступа из файла <filename>; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.45. Параметер drereadnotices [configfilename] -- [ревизия r5820+] -- перечитать уведомления доступа из файла по умолчанию notices.dat; перезапуск сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.46. Параметер frereadnotices <filename> [configfilename] -- [ревизия r5820+] -- перечитать уведомления доступа из файла <filename>; перезапуск AlterFRN-сервера не требуется; требуется активировать командный канал в секции [Command] (s.6); для синхронизации баз основного и резервного серверов;

    s.0.47. Параметер move <clientid> <netfrom> <netto> [configfilename] -- [ревизия r6218+] -- принудительно переместить подключенного клиента <clientid> из сети(комнаты) <netfrom> в сеть(комнату) <netto> без отключения самого клиента; требуется активировать командный канал в секции [Command] (s.6);

    s.0.48. Параметер flushdata [configfilename] -- [ревизия r6333+] -- принудительно сохранить текущее состояние баз AlterFRN-сервера в файлах; требуется активировать командный канал в секции [Command] (s.6);

    s.0.49. Параметер logtext "text to log" [configfilename] -- [ревизия r6562+] -- записать в журнал AlterFRN-сервера произвольный текст; требуется активировать командный канал в секции [Command] (s.6)

    s.0.50. Параметер uptime [configfilename] -- [ревизия r6562+] -- выдать время работы запущенного AlterFRN-сервера; требуется активировать командный канал в секции [Command] (s.6)

    s.0.51. Параметер dpid [configfilename] -- [ревизия r6562+] -- выдать идентификатор процесса (PID) запущенного AlterFRN-сервера; требуется активировать командный канал в секции [Command] (s.6)

    s.0.52. Параметер noticeset "access info" <network> [configfilename] -- [ревизия r6584+] -- установить сообщение доступа "access info" для сети(комнаты) <network>. Требуется активировать командный канал в секции [Command] (s.6)

    s.0.53. Параметер noticeclear <network> [configfilename] -- [ревизия r6584+] -- удалить сообщение доступа для сети(комнаты) <network>. Требуется активировать командный канал в секции [Command] (s.6)

    s.0.54. Параметер movetemp <time> <clientid> <netfrom> <netto> [configfilename] -- [ревизия r6584+] -- принудительно временно переместить подключенного клиента <clientid> из сети(комнаты) <netfrom> в сеть(комнату) <netto> на время <time> без отключения самого клиента; требуется активировать командный канал в секции [Command] (s.6);

    Описание конфигурационного файла сервера / Server configuration file description
    Описание списка сетей (комнат) / Networks(rooms) configuration file description

    Бесплатный конструктор сайтов - uCozCopyright MyCorp © 2024