|
|
|
|
@ -3,12 +3,25 @@ package main
|
|
|
|
|
import ( |
|
|
|
|
"context" |
|
|
|
|
"io/ioutil" |
|
|
|
|
"log" |
|
|
|
|
"os" |
|
|
|
|
"strings" |
|
|
|
|
|
|
|
|
|
"github.com/mattn/go-mastodon" |
|
|
|
|
"github.com/pelletier/go-toml/v2" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
func GetSecret(s string) string { |
|
|
|
|
var err error |
|
|
|
|
if strings.HasPrefix(s, "!CMD!") { |
|
|
|
|
s, err = CmdToString(s) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Fatalf("Couldn't run CMD on auth-file. Error; %v", err) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return s |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func GetAccounts(filepath string) (*AccountData, error) { |
|
|
|
|
f, err := os.Open(filepath) |
|
|
|
|
if err != nil { |
|
|
|
|
@ -21,6 +34,13 @@ func GetAccounts(filepath string) (*AccountData, error) {
|
|
|
|
|
} |
|
|
|
|
accounts := &AccountData{} |
|
|
|
|
err = toml.Unmarshal(data, accounts) |
|
|
|
|
|
|
|
|
|
for i, acc := range accounts.Accounts { |
|
|
|
|
accounts.Accounts[i].ClientID = GetSecret(acc.ClientID) |
|
|
|
|
accounts.Accounts[i].ClientSecret = GetSecret(acc.ClientSecret) |
|
|
|
|
accounts.Accounts[i].AccessToken = GetSecret(acc.AccessToken) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return accounts, err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|