Spam Blocker
ఈ ప్యాకేజీ వాస్తవానికి @plebbit పరిధిలో ప్రచురించబడింది. దీని పేరు @bitsocial/spam-blocker-server మరియు @bitsocial/spam-blocker-challengeగా మార్చబడింది. పాత పేర్లకు సంబంధించిన సూచనలు ఇప్పటికీ పాత డాక్యుమెంటేషన్ లేదా కోడ్బేస్లలో కనిపించవచ్చు.
స్పామ్ బ్లాకర్ అనేది ఇన్కమింగ్ పబ్లికేషన్లను అంచనా వేసే మరియు రిస్క్ స్కోర్లను కేటాయించే కేంద్రీకృత స్పామ్ డిటెక్షన్ సర్వీస్. ఇది రెండు ప్యాకేజీలను కలిగి ఉంటుంది:
@bitsocial/spam-blocker-server-- మూల్యాంకనం మరియు సవాలు APIలను హోస్ట్ చేసే HTTP సర్వర్.@bitsocial/spam-blocker-challenge-- మూల్యాంకనం కోసం ప్రచురణలను పంపడానికి సంఘాలు ఏకీకృతం చేసే తేలికపాటి క్లయింట్ ప్యాకేజీ.
సోర్స్ కోడ్: github.com/bitsocialnet/spam-blocker
రిస్క్ స్కోరింగ్ ఎలా పనిచేస్తుంది
/evaluate ఎండ్పాయింట్కు సమర్పించిన ప్రతి ప్రచురణ సంఖ్యాపరమైన రిస్క్ స్కోర్ను అందుకుంటుంది. స్కోర్ అనేది అనేక సంకేతాల యొక్క బరువు కలయిక:
| సిగ్నల్ | వివరణ |
|---|---|
| ఖాతా వయస్సు | కొత్త ఖాతాలు అధిక రిస్క్ స్కోర్లను పొందుతాయి. |
| కర్మ | సంచిత సమాజ కర్మ ప్రమాదాన్ని తగ్గిస్తుంది. |
| రచయిత కీర్తి | నేపథ్య నెట్వర్క్ సూచిక ద్వారా సేకరించబడిన కీర్తి డేటా. |
| కంటెంట్ విశ్లేషణ | టెక్స్ట్-స్థాయి హ్యూరిస్టిక్స్ (లింక్ సాంద్రత, తెలిసిన స్పామ్ నమూనాలు మొదలైనవి). |
| వేగం | అదే రచయిత నుండి రాపిడ్ వరుస పోస్ట్లు ప్రమాదాన్ని పెంచుతాయి. |
| IP నిఘా | దేశ-స్థాయి జియోలొకేషన్ మరియు ముప్పు-ఫీడ్ శోధనలు. దేశం కోడ్లు మాత్రమే నిల్వ చేయబడతాయి -- ముడి IP చిరునామాలు ఎప్పుడూ సంఘాలతో భాగస్వామ్యం చేయబడవు. |
టైర్ థ్రెషోల్డ్లు
రిస్క్ స్కోర్ నాలుగు కాన్ఫిగర్ చేయదగిన శ్రేణులలో ఒకదానికి మ్యాప్ చేస్తుంది, ఇది తదుపరి ఏమి జరుగుతుందో నిర్ణయిస్తుంది:
- ఆటో-యాక్సెప్ట్ -- స్కోరు తక్కువగా ఉంటే, ప్రచురణ ఎలాంటి సవాలు లేకుండా ఆమోదించబడుతుంది.
- OAuth-తగినంత -- కొనసాగడానికి రచయిత తప్పనిసరిగా OAuth ధృవీకరణను పూర్తి చేయాలి.
- OAuth-plus-more -- OAuth మాత్రమే సరిపోదు; అదనపు ధృవీకరణ (ఉదా., CAPTCHA) అవసరం.
- ఆటో-తిరస్కరణ -- స్కోర్ చాలా ఎక్కువగా ఉంది; ప్రచురణ పూర్తిగా తిరస్కరించబడింది.
అన్ని థ్రెషోల్డ్ విలువలు కమ్యూనిటీకి కాన్ఫిగర్ చేయబడతాయి.
ఛాలెంజ్ ఫ్లో
ఒక ప్రచురణ ధృవీకరణ అవసరమయ్యే శ్రేణిలోకి వచ్చినప్పుడు, సవాలు ప్రవాహం ప్రారంభమవుతుంది:
- OAuth (GitHub, Google, Twitter మరియు ఇతర మద్దతు ఉన్న ప్రొవైడర్లు) ద్వారా ప్రామాణీకరించమని రచయిత మొదట ప్రాంప్ట్ చేయబడతారు.
- OAuth మాత్రమే సరిపోకపోతే (టైర్ 3), Cloudflare Turnstile ద్వారా ఆధారితమైన CAPTCHA ఫాల్బ్యాక్ ప్రదర్శించబడుతుంది.
- OAuth గుర్తింపు ధృవీకరణ కోసం మాత్రమే ఉపయోగించబడుతుంది -- ఇది సంఘంతో లేదా ఇతర వినియోగదారులతో ఎప్పటికీ భాగస్వామ్యం చేయబడదు.
API ముగింపు పాయింట్లు
POST /evaluate
రిస్క్ మూల్యాంకనం కోసం ప్రచురణను సమర్పించండి. కంప్యూటెడ్ రిస్క్ స్కోర్ మరియు అవసరమైన ఛాలెంజ్ టైర్ను అందిస్తుంది.
POST /challenge/verify
ధృవీకరణ కోసం పూర్తయిన సవాలు (OAuth టోకెన్, CAPTCHA పరిష్కారం లేదా రెండూ) ఫలితాన్ని సమర్పించండి.
GET /iframe/:sessionId
ఇచ్చిన సెషన్కు తగిన ఛాలెంజ్ UIని అందించే పొందుపరచదగిన HTML పేజీని అందిస్తుంది.
రేటు పరిమితి
రచయిత వయస్సు మరియు కీర్తి ఆధారంగా రేట్ పరిమితులు డైనమిక్గా వర్తింపజేయబడతాయి. కొత్త లేదా తక్కువ పేరున్న రచయితలు కఠినమైన పరిమితులను ఎదుర్కొంటారు, అయితే స్థాపించబడిన రచయితలు మరింత ఉదారమైన పరిమితులను అనుభవిస్తారు. విశ్వసనీయ పాల్గొనేవారికి జరిమానా విధించకుండా ఇది స్పామ్ వరదలను నిరోధిస్తుంది.
నేపథ్య నెట్వర్క్ సూచిక
రచయిత కీర్తి డేటాను రూపొందించడానికి మరియు నిర్వహించడానికి నెట్వర్క్ను నిరంతరం క్రాల్ చేసే నేపథ్య సూచికను సర్వర్ అమలు చేస్తుంది. ఈ డేటా నేరుగా రిస్క్ స్కోరింగ్ పైప్లైన్లోకి ఫీడ్ అవుతుంది, తద్వారా కమ్యూనిటీలలో పునరావృతమయ్యే మంచి విశ్వాసంతో పాల్గొనేవారిని గుర్తించడానికి సిస్టమ్ అనుమతిస్తుంది.
గోప్యత
స్పామ్ బ్లాకర్ గోప్యతను దృష్టిలో ఉంచుకుని రూపొందించబడింది:
- OAuth గుర్తింపులు సవాలు ధృవీకరణ కోసం మాత్రమే ఉపయోగించబడతాయి మరియు కమ్యూనిటీలకు ఎప్పటికీ బహిర్గతం చేయబడవు.
- IP చిరునామాలు దేశం కోడ్లు మాత్రమేకి పరిష్కరించబడతాయి; ముడి IPలు నిల్వ చేయబడవు లేదా భాగస్వామ్యం చేయబడవు.
డేటాబేస్
సర్వర్ కీర్తి డేటా, సెషన్ స్థితి మరియు కాన్ఫిగరేషన్ యొక్క స్థానిక నిలకడ కోసం SQLite (better-sqlite3 ద్వారా) ఉపయోగిస్తుంది.