File: index.rst

package info (click to toggle)
pyrad 2.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 920 kB
  • sloc: python: 4,021; makefile: 15
file content (104 lines) | stat: -rw-r--r-- 2,837 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104

*********************************
:mod:`pyrad` -- RADIUS for Python
*********************************

:Author: Christian Giese (GIC-de), Istvan Ruzman (Istvan91) and Stefan Lieberth (slieberth)
:Version: |version|

Introduction
============

pyrad is an implementation of a RADIUS client/server as described in RFC2865.
It takes care of all the details like building RADIUS packets, sending
them and decoding responses.

Here is an example of doing a authentication request::

    from pyrad.client import Client
    from pyrad.dictionary import Dictionary
    import pyrad.packet

    srv = Client(server="localhost", secret=b"Kah3choteereethiejeimaeziecumi",
                 dict=Dictionary("dictionary"))

    # create request
    req = srv.CreateAuthPacket(code=pyrad.packet.AccessRequest,
                               User_Name="wichert", NAS_Identifier="localhost")
    req["User-Password"] = req.PwCrypt("password")

    # send request
    reply = srv.SendPacket(req)

    if reply.code == pyrad.packet.AccessAccept:
        print("access accepted")
    else:
        print("access denied")

    print("Attributes returned by server:")
    for i in reply.keys():
        print("%s: %s" % (i, reply[i]))


Requirements & Installation
===========================

pyrad requires Python 3.8 or later

Installing is simple; pyrad uses the standard distutils system for installing
Python modules::

  python setup.py install

Author, Copyright, Availability
===============================

pyrad was written by Wichert Akkerman <wichert@wiggy.net> and is maintained by 
Christian Giese (GIC-de), Istvan Ruzman (Istvan91) and  Stefan Lieberth (slieberth). 

We’re looking for contributors to support the pyrad team! If you’re interested in 
helping with development, testing, documentation, or other areas, please contact 
us directly.

This project is licensed under a BSD license.

Copyright and license information can be found in the LICENSE.txt file.

The current version and documentation can be found on pypi:
https://pypi.org/project/pyrad/

Bugs and wishes can be submitted in the pyrad issue tracker on github:
https://github.com/pyradius/pyrad/issues

Related Projects & Forks
========================

**pyrad2:** Noteworthy fork with experimental RadSec (RFC 6614) support. Targets Python 3.12+, 
adds extensive type hints, boosts test coverage, and includes fresh bug fixes.
https://github.com/nicholasamorim/pyrad2

**pyrad-server:** Lab-grade RADIUS test server built on top of pyrad.
https://github.com/slieberth/pyrad-server

API Documentation
=================

Per-module :mod:`pyrad` API documentation.

.. toctree::
  :maxdepth: 2

  api/client
  api/dictionary
  api/host
  api/packet
  api/proxy
  api/server


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`