Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
shadowban-eu-backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
shadowban-eu-backend
Commits
a218c78c
Commit
a218c78c
authored
Apr 22, 2023
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add COOKIE and CSRF
parent
d21ae6e7
Pipeline
#21323
passed with stages
in 37 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
13 deletions
+20
-13
backend_requests.py
backend_requests.py
+20
-13
No files found.
backend_requests.py
View file @
a218c78c
...
...
@@ -32,6 +32,9 @@ privateKey = os.getenv('TWITTER_AUTH_KEY')
if
privateKey
:
twitterKeys
=
privateKey
.
split
(
" "
)
cookie
=
os
.
getenv
(
'COOKIE'
)
csrf
=
os
.
getenv
(
'CSRF'
)
print
(
"Booting"
)
ENDPOINT
=
{
"UserTweetsAndReplies"
:
"CwLU7qTfeu0doqhSr6tW4A"
,
...
...
@@ -66,13 +69,18 @@ FeaturesJson = json.dumps(FeaturesDict)
healthLock
=
threading
.
Lock
()
isHealthy
=
True
def
getTwitterSession
():
def
getTwitterSession
(
useCookie
):
twitter_b
=
OAuth2Session
()
twitter_b
.
headers
[
"Authorization"
]
=
"Bearer {}"
.
format
(
random
.
choice
(
twitterKeys
))
twitter_b
.
headers
[
'user-agent'
]
=
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
if
cookie
and
csrf
and
useCookie
:
twitter_b
.
headers
[
'cookie'
]
=
cookie
twitter_b
.
headers
[
'x-csrf-token'
]
=
csrf
return
twitter_b
def
doSearch
(
screen_name
,
twitter_b
):
def
doSearch
(
screen_name
):
global
isHealthy
twitter_b
=
getTwitterSession
(
True
)
searchurl_v2
=
"https://api.twitter.com/2/search/adaptive.json"
params_v2
=
{
"q"
:
"from:@{}"
.
format
(
screen_name
),
...
...
@@ -111,15 +119,14 @@ def doSearch(screen_name, twitter_b):
"include_ext_edit_control"
:
'true'
,
"ext"
:
'mediaStats,highlightedLabel,hasNftAvatar,voiceInfo,birdwatchPivot,enrichments,superFollowMetadata,unmentionInfo,editControl,collab_control,vibe'
,
}
return
None
#response = twitter_b.get(searchurl_v2, params=params_v2)
#search_v2 = response.json()
#isHealthy = 'globalObjects' in search_v2
#if isHealthy:
# return search_v2["globalObjects"]["tweets"]
#else:
# print("Search error: " + response.text)
# return None
response
=
twitter_b
.
get
(
searchurl_v2
,
params
=
params_v2
)
search_v2
=
response
.
json
()
isHealthy
=
'globalObjects'
in
search_v2
if
isHealthy
:
return
search_v2
[
"globalObjects"
][
"tweets"
]
else
:
print
(
"Search error: "
+
response
.
text
)
return
None
@
app
.
route
(
'/_healthy'
)
def
healthy
():
...
...
@@ -170,7 +177,7 @@ def searchban(screen_name):
# twitter = OAuth1Session(TWITTER_IPHONE_CK, TWITTER_IPHONE_CS)
twitter_b
=
getTwitterSession
()
twitter_b
=
getTwitterSession
(
False
)
# check rate limit
# response = twitter_b.get("https://api.twitter.com/1.1/application/rate_limit_status.json")
...
...
@@ -276,7 +283,7 @@ def searchban(screen_name):
if
returnjson
[
"tests"
][
"typeahead"
]
==
False
:
print
(
"{} is search suggestion banned, checking search ban."
.
format
(
screen_name
))
search_tweets
=
doSearch
(
screen_name
,
twitter_b
)
search_tweets
=
doSearch
(
screen_name
)
if
search_tweets
is
None
:
returnjson
[
"tests"
][
"search"
]
=
'_error'
hasFailure
=
True
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment