{"id":13643727,"url":"https://github.com/jech/ahcpd","last_synced_at":"2025-04-10T10:31:19.867Z","repository":{"id":142346952,"uuid":"2145336","full_name":"jech/ahcpd","owner":"jech","description":"The Ad-Hoc Configuration Protocol daemon","archived":false,"fork":false,"pushed_at":"2014-01-08T14:33:30.000Z","size":333,"stargazers_count":35,"open_issues_count":1,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T19:39:41.358Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.pps.univ-paris-diderot.fr/~jch/ahcp/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jech.png","metadata":{"files":{"readme":"README","changelog":"CHANGES","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-02T21:53:12.000Z","updated_at":"2024-12-28T19:16:06.000Z","dependencies_parsed_at":"2023-03-13T09:41:03.662Z","dependency_job_id":null,"html_url":"https://github.com/jech/ahcpd","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jech%2Fahcpd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jech%2Fahcpd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jech%2Fahcpd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jech%2Fahcpd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jech","download_url":"https://codeload.github.com/jech/ahcpd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248199136,"owners_count":21063641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:01:51.813Z","updated_at":"2025-04-10T10:31:19.502Z","avatar_url":"https://github.com/jech.png","language":"C","readme":"Ahcpd\n=====\n\nAhcpd is a daemon for configuring an IPv6 network using the Ad-Hoc\nConfiguration Protocol (AHCP).  AHCP is designed for wireless mesh\nnetworks, where DHCP and IPv6 autoconfiguration do not work, but could in\nprinciple also be used on wired networks.\n\n\nInstallation\n============\n\n    $ make\n    # make install\n\nIf compiling for BSD, you probably don't need to link with -lrt:\n\n    $ make LDLIBS=''\n\nIf compiling for OpenWRT, you will probably want to say something like\n\n    $ make CC=mipsel-linux-gcc PLATFORM_DEFINES='-march=mips32'\n\nYou can reduce the size of the ahcpd binary by omitting server\nfunctionality; to do so, specify\n\n    $ make EXTRA_DEFINES=-DNO_SERVER\n\n\nSetting up a server\n===================\n\nYou need to set up one or more authoritative servers in your network.  The\nserver should be run as\n\n    $ ahcpd -c /etc/ahcpd.conf wlan0\n\nwhere the configuration file /etc/ahcpd.conf should say something like\n\n    mode server\n\n    prefix fde6:20f5:c9ac:358::/64\n    prefix 192.168.4.128/25\n    lease-dir /var/lib/leases\n    name-server fde6:20f5:c9ac:358::1\n    name-server 192.168.4.1\n    ntp-server 192.168.4.2\n\nIf you want ahcpd to fork into the background, pass it the ``-D'' flag.\nThe server does not need to run ahcpd as root, as long as it can write the\nlease database and the pidfile.\n\nThe server should synchronise its clock using NTP.  If ahcpd doesn't detect\ntime synchronisation, it will only give out leases for short periods of\ntime, and will be extremely conservative about releasing them.  Note that\nahcpd actually checks with the kernel for time synchronisation, so most\nSNTP clients will not do; you will most probably need Mills' implementation\nof NTP.\n\nFor redundancy, you may set up multiple servers in a single network as long\nas they serve disjoint IPv4 address ranges.\n\n\nSetting up a client\n===================\n\nUnlike the server, the client needs to run ahcpd as root.  No configuration\nfile is needed, just run\n\n    # ahcpd wlan0\n\nand you should get IPv4 and IPv6 addresses in a few seconds.\n\n\n--Juliusz Chroboczek\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjech%2Fahcpd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjech%2Fahcpd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjech%2Fahcpd/lists"}