AFAIK, TreasuryDirect should be available to non-Americans. You'll need to get a U.S. Tax Identification Number, and figure out your tax situation though: it'll vary from country to country based on treaties with the U.S.
> In order to open a TreasuryDirect account, an individual or entity account manager must have a valid Social Security Number (SSN), be 18 years of age or over, and be legally competent. An entity must have a valid SSN or Employer Identification Number (EIN). The account owner must also have a United States address of record and have an account at a U.S. depository financial institution that will accept debits and credits using the Automated Clearing House method of payment.
AFAIUI, getting an SSN from abroad as a non-US citizen/resident is not realistic.
Ah, yeah, you're right. You can probably still buy them through a broker, though. Searching around a bit, it looks like you should be able to open an account with Schwab: https://international.schwab.com/