Can I protect files from other sources then S3 amazon or S3 CloudFront?

No, you can't. In order to use expiring URLs, the files need to reside on your S3 account. The same goes for Private streaming.