Duffy, 33, won 13 caps for his country and played in the Premier League for Portsmouth.
His most recent club was Notts County, who he played for more than 100 times before leaving in the summer.
His former clubs include Swansea, Millwall, Exeter and Port Vale.
Manager Ryan Austin said: "I'm really happy to bring Richard Duffy on board.
"He brings real quality to our squad as well as vast experience. We've been looking for a leader and, an organiser for a long time and, Rich fits that role perfectly.
"We have a young and exciting squad so to add experience to that was vital! "I’m looking forward to working together."
Keep up-to-date with our exclusive email newsletters.
Subscribe