https://github.com/illarionov/ourfa
Open source implementation of URFA (UTM Remote Function Access) protocol
https://github.com/illarionov/ourfa
Last synced: 3 months ago
JSON representation
Open source implementation of URFA (UTM Remote Function Access) protocol
- Host: GitHub
- URL: https://github.com/illarionov/ourfa
- Owner: illarionov
- Created: 2010-11-15T22:15:46.000Z (almost 15 years ago)
- Default Branch: master
- Last Pushed: 2016-01-10T13:38:27.000Z (over 9 years ago)
- Last Synced: 2025-04-01T11:53:17.676Z (6 months ago)
- Language: C
- Homepage:
- Size: 423 KB
- Stars: 6
- Watchers: 5
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
ourfa
=====библиотека доступа к функциям биллинга UTM на C.
В библиотеке реализован протокол взаимодействия с биллингом на сетевом уровне,
а так же интерфейс для работы с его XML API схемами.На основе этой библиотеки созданы приложения:
**ourfa_client** — аналог официального консольного клиента `utm5_urfaclient`.
Выполняет те же функции и работает с теми же XML схемами. Но имеет несколько
дополнительных возможностей, например, вывод результатов не в XML.**ourfa-perl** - XS библиотека, интерфейс для доступа к биллингу на perl.
Основное обсуждение ведется на форумах UTM:
Версия: ** 521008002.2 (31 марта 2011) **
#### Ссылки
* Исходный код: [ourfa-521008002.2.tar.gz](https://github.com/downloads/littlesavage/ourfa/ourfa-521008002.2.tar.gz)
* Все файлы: [downloads](https://github.com/littlesavage/ourfa/downloads)Сборка и установка
------------------Требуются библиотеки xml2, ssl, iconv. В debian-based
дистрибутивах для сборки нужно установить `-dev` пакеты:$ sudo apt-get install libxml2-dev libssl-dev
Установка:
$ make
$ su
# make installУстанавливается сама библиотека (`ourfa.h`, `libourfa.a`) и `ourfa_client`.
Для работы требуется каталог со схемой api.xml. Он должен быть именно от
установленной версии UTM. По умолчанию он находится в `/netup/utm5/xml`.
Схема читается из `api.xml` и если использовать её из другой версии, то
формат аргументов вызываемых функций может не совпасть.Для версий старше UTM 5.2.1-008 нужен ещё сертификат. Его можно найти на
вики [urfaclient на PHP](http://wiki.flintnet.ru/doku.php/urfaclient_php)
("admin.crt - Поддержка админских функций"). Сохраните его в `/netup/UTM5/admin.crt`.В `FreeBSD` вместо make нужно использовать gmake (GNU make)
В `linux` для установки лучше использовать `checkinstall`.
В `deb-based linux` можно собрать пакет:
$ sudo apt-get install build-essential devscripts debhelper
$ debuild -i -us -uc -b**ourfa-perl** ставится отдельно, только при необходимости. Для его сборки требуется установленная основная библиотека (описано выше).
cd ourfa-perl
make
make test
make installИспользование
-------------### ourfa_client
Работа похожа на работу с официальным `urfa_client`, нужно
ознакомиться с официальной документаций.usage: ourfa_client -a action
[-H addr] [-p port] [-l login] [-P pass] [-api api.xml] [-h]-help This message
-a Action name
-H URFA server host (default: localhost)
-p URFA server port (default: 11758)
-l URFA server login. (default: init)
-P URFA server password. (default: init)
-c Config file (default: /netup/utm5/utm5_urfaclient.cfg)
-s Restore session with ID
-i Restore session with IP
-S SSL/TLS method: none (default), tlsv1, sslv3, cert, rsa_cert
-C Certificate file for rsa_cert SSL (PEM format)
-k Private key file for rsa_cert SSL (PEM format)
-x URFA server xml dir. (default: /netup/utm5/xml)
-u Login as user (not admin)
-dealer Login as dealer (not admin)
-timeout Timeout in seconds (default: 30)
-is_in_unicode Turn off conversion of command line arguments to unicode
-o Output format: xml (default), batch, or hash
-debug Turn on debug
-datafile Load array datas from file
-api URFA server API file (default: api.xml)
-[:idx] Set input parameter param(idx)Пример вызова, выполнение функции `rpcf_core_version`:
./ourfa_client -S rsa_cert -H localhost -l admin -P admin -a rpcf_core_version
Loading config file /netup/utm5/utm5_urfaclient.cfg
Loading API XML: /netup/utm5/xml/api.xml