how long is your visa valid for in the US from the time you entered. If it is not a visitors visa and you are allowed to stay for one year (whether you have been there for one year or not is inconsequential), then you can apply from either the US or your country's visa office while using your US mailing address.
Some countries do not allow mailing passports internationally so you might have to go back to your country for the visa stamping if you apply from your country. If you apply from the US and you leave before you get your visa then you'd have to come back (and get a US visa to come back) for the visa stamping or interview.
If you want it fast, most people here will recommend applying through your home country. If you don't care, then Buffalo. For example, I don't need my visa for a year, so Buffalo's pace is okay for me (except the waiting to know whether i am successful is painful lol).
Good luck.