Does that include the national parties? I would allow any American citizen to donate any amount they want as individuals to candidates or parties -- no money from corporations, unions or PACs --- to anyone they want as long as there is full, 100% disclosure. I would also make contributions, up to a total of say $500, a full tax credit (not just a simple deduction) and end any and all Federal matching funds.
As I understand it, only individuals can make contributions to candidates now, though those contributions can be bundled by PACs. Corporations can make contributions to parties. That arises from what I think was a faulty Supreme Court decision a hundred years ago that gave corporations certain rights as citizens, such as free speech.
The trouble with 100% disclosure is that to be effective it has to be immediate. That is possible now, but neither party has much interest in enforcing it.
How would your proposal cure the problem you mentioned of US lawyers (or others) hired by foreign governments making inordinate campaign contributions effectively on behalf of their clients?