You could run a low-spec validator (maybe even from your local machine) just to fetch a snapshot from the network, and once the ledger is populated, use solana-ledger-tool to export all addresses:
$ solana-ledger-tool accounts -l path/to/your/ledger --no-account-data
Here's some sample output:
11111111111111111111111111111111:
- balance: 0.000000001 SOL
- owner: 'NativeLoader1111111111111111111111111111111'
- executable: true
- slot: 0
- rent_epoch: 0
- data_len: 14
AddressLookupTab1e1111111111111111111111111:
- balance: 0.000000001 SOL
- owner: 'NativeLoader1111111111111111111111111111111'
- executable: true
- slot: 0
- rent_epoch: 0
- data_len: 28
BPFLoader1111111111111111111111111111111111:
- balance: 0.000000001 SOL
- owner: 'NativeLoader1111111111111111111111111111111'
- executable: true
- slot: 0
- rent_epoch: 0
- data_len: 36