diff options
| author | Joe Mou <dev@mou.fo> | 2024-06-12 18:20:08 -0400 |
|---|---|---|
| committer | Joe Mou <dev@mou.fo> | 2024-10-09 13:48:40 -0400 |
| commit | 7f6acad5dc9cbcdf9efcfd9246bfd8ae925f1be0 (patch) | |
| tree | 0a4e9477160b14f237559709eec57fa1cdce1e46 /hostnix/elmo/privacy-frontends.nix | |
| parent | 0a6a03f0a6c0cd0ec1d845aaf0f4f09eeddd77ac (diff) | |
Simplify Nitter
- Populate OAuth tokens using justajoedoe.
- Use binary cache build of Nitter.
Diffstat (limited to 'hostnix/elmo/privacy-frontends.nix')
| -rw-r--r-- | hostnix/elmo/privacy-frontends.nix | 42 |
1 files changed, 4 insertions, 38 deletions
diff --git a/hostnix/elmo/privacy-frontends.nix b/hostnix/elmo/privacy-frontends.nix index 3838e19..ecaf8c8 100644 --- a/hostnix/elmo/privacy-frontends.nix +++ b/hostnix/elmo/privacy-frontends.nix @@ -28,46 +28,12 @@ "d /var/secrets/nitter 0750 root wheel" ]; - systemd.services.nitter-refresh-guest-account-token = { - serviceConfig = { - Type = "oneshot"; - }; - path = [ pkgs.curl pkgs.jq ]; - # Lightly edited from https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment - script = '' - set -e - - guest_token=$(curl -s -XPOST https://api.twitter.com/1.1/guest/activate.json -H 'Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAFXzAwAAAAAAMHCxpeSDG1gLNLghVe8d74hl6k4%3DRUMF4xAQLsbeBhTSRrCiQpJtxoGWeyHrDb5te2jpGskWDFW82F' | jq -r '.guest_token') - - flow_token=$(curl -s -XPOST 'https://api.twitter.com/1.1/onboarding/task.json?flow_name=welcome' \ - -H 'Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAFXzAwAAAAAAMHCxpeSDG1gLNLghVe8d74hl6k4%3DRUMF4xAQLsbeBhTSRrCiQpJtxoGWeyHrDb5te2jpGskWDFW82F' \ - -H 'Content-Type: application/json' \ - -H "User-Agent: TwitterAndroid/10.10.0" \ - -H "X-Guest-Token: $guest_token" \ - -d '{"flow_token":null,"input_flow_data":{"flow_context":{"start_location":{"location":"splash_screen"}}}}' | jq -r .flow_token) - - umask 077 - exec > /var/secrets/nitter/guest-accounts.jsonl - curl -s -XPOST 'https://api.twitter.com/1.1/onboarding/task.json' \ - -H 'Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAFXzAwAAAAAAMHCxpeSDG1gLNLghVe8d74hl6k4%3DRUMF4xAQLsbeBhTSRrCiQpJtxoGWeyHrDb5te2jpGskWDFW82F' \ - -H 'Content-Type: application/json' \ - -H "User-Agent: TwitterAndroid/10.10.0" \ - -H "X-Guest-Token: $guest_token" \ - -d "{\"flow_token\":\"$flow_token\",\"subtask_inputs\":[{\"open_link\":{\"link\":\"next_link\"},\"subtask_id\":\"NextTaskOpenLink\"}]}" | jq -c -r '.subtasks[0]|if(.open_account) then {oauth_token: .open_account.oauth_token, oauth_token_secret: .open_account.oauth_token_secret} else empty end' - ''; - }; - services.nitter = { enable = true; - # Enable stack traces per https://github.com/zedeus/nitter/issues/541#issuecomment-1036031286 - package = pkgs.nitter.overrideAttrs (old: { - nimFlags = old.nimFlags ++ [ - "--excessiveStackTrace:on" - "--stackTrace:on" - "--lineTrace:on" - "--lineDir:on" - ]; - }); + # This must be populated manually as per + # https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment + # Alternatively it can use logged in account tokens with + # https://github.com/PrivacyDevel/nitter/blob/master/twitter_oauth.sh guestAccounts = "/var/secrets/nitter/guest-accounts.jsonl"; server = { port = 7873; |
