@@ -83,24 +83,44 @@ export function wrapGraphQlParams(params = {}) {
8383
8484export async function getFbDtsg ( ) {
8585 const uid = await getMyUid ( ) ;
86-
8786 if ( CACHED . fb_dtsg [ uid ] ) return CACHED . fb_dtsg [ uid ] ;
88- let res = await fetch ( "https://mbasic.facebook.com/photos/upload/" ) ;
89- let text = await res . text ( ) ;
90- let dtsg = RegExp ( / n a m e = " f b _ d t s g " v a l u e = " ( .* ?) " / ) . exec ( text ) ?. [ 1 ] ;
91- if ( ! dtsg ) {
92- res = await fetch ( "https://m.facebook.com/home.php" , {
93- headers : {
94- Accept : "text/html" ,
95- } ,
96- } ) ;
97- text = await res . text ( ) ;
98- dtsg =
99- RegExp ( / " d t s g " : { " t o k e n " : " ( [ ^ " ] + ) " / ) . exec ( text ) ?. [ 1 ] ||
100- RegExp ( / " n a m e " : " f b _ d t s g " , " v a l u e " : " ( [ ^ " ] + ) / ) . exec ( text ) ?. [ 1 ] ;
87+
88+ for ( let fn of [
89+ async ( ) => {
90+ let text = await fetch ( "https://www.facebook.com/policies_center/" ) ;
91+ let token = text . match ( / D T S G I n i t D a t a " , \[ \] , \{ " t o k e n " : " ( .* ?) " / ) [ 1 ] ;
92+ return token ;
93+ } ,
94+ async ( ) => {
95+ let res = await fetch ( "https://mbasic.facebook.com/photos/upload/" ) ;
96+ let text = await res . text ( ) ;
97+ let dtsg = RegExp ( / n a m e = " f b _ d t s g " v a l u e = " ( .* ?) " / ) . exec ( text ) ?. [ 1 ] ;
98+ return dtsg ;
99+ } ,
100+ async ( ) => {
101+ const res = await fetch ( "https://m.facebook.com/home.php" , {
102+ headers : {
103+ Accept : "text/html" ,
104+ } ,
105+ } ) ;
106+ const text = await res . text ( ) ;
107+ const dtsg =
108+ RegExp ( / " d t s g " : { " t o k e n " : " ( [ ^ " ] + ) " / ) . exec ( text ) ?. [ 1 ] ||
109+ RegExp ( / " n a m e " : " f b _ d t s g " , " v a l u e " : " ( [ ^ " ] + ) / ) . exec ( text ) ?. [ 1 ] ;
110+ return dtsg ;
111+ } ,
112+ ] ) {
113+ try {
114+ const res = await fn ( ) ;
115+ if ( res ) {
116+ CACHED . fb_dtsg [ uid ] = res ;
117+ return CACHED . fb_dtsg [ uid ] ;
118+ }
119+ } catch ( e ) {
120+ console . error ( e ) ;
121+ }
101122 }
102- CACHED . fb_dtsg [ uid ] = dtsg || null ;
103- return CACHED . fb_dtsg [ uid ] ;
123+ return null ;
104124}
105125
106126export function findDataObject ( object ) {
0 commit comments