Skip to main content

songci

Description

songci is a python module that allows you to check proxy server on a forensic way. The focus is on:

  • anonymity level 🥇
  • content manipulation detection 😈
  • protocol seperated results 🗂️

The results of a proxy check are very detailed and extensive.

Song Ci was a Chinese physician, judge, forensic medical scientist, anthropologist, and writer of the Southern Song dynasty. He was the first known anthropologist who wrote a groundbreaking book titled Collected Cases of Injustice Rectified.

Install

$ pip install songci

Getting started

Check single proxy

>>> import songci
>>> proxy = "45.77.254.125:3128"
>>> result = songci.check(proxy)
>>> result
{
    "ip": "45.77.254.125",
    "port": 3128,
    "country": "US",
    "begin": 1575746554.682173,
    "end": 1575746559.2740119,
    "duration": 4.6,
    "http": {
        "response_time": 0.9,
        "level": "elite",
        "error": null
    },
    "https": {
        "response_time": 2.9,
        "level": "elite",
        "error": null
    },
    "manipulation": {
        "html": null,
        "error": null
    }
}

Check multiple proxies

>>> proxies = ["151.237.126.34:33695", "41.164.247.186:53281", "194.226.34.132:5555"]
>>> results = songci.check()
>>> results
[
    {
        "ip": "151.237.126.34",
        "port": 33695,
        "country": "BG",
        ...

CLI

How to use

$ songci --help
Usage: songci [OPTIONS] [PROXIES]...

Options:
  --version
  -i FILENAME  Input from list of proxies
  -o FILENAME  Outputfilename to write summary as json
  --help       Show this message and exit.

Check single proxy

$ songci 104.167.113.48:3128
104.167.113.48:3128 | http=transparent | https=elite | manipulation=false

Check multiple proxies

$ songci 95.175.14.54:8080 104.167.113.48:3128 36.92.116.26:8080 
95.175.14.54:8080 | http=None | https=elite | manipulation=false
104.167.113.48:3128 | http=transparent | https=elite | manipulation=false
36.92.116.26:8080 | http=anonymous | https=elite | manipulation=true

Use proxy list

One line one proxy host:port like this proxies.txt

103.79.164.70:53281
190.152.36.102:31884
31.40.136.209:53281
80.90.133.250:8080
183.88.16.33:8080
...
$ songci -i proxies.txt
103.79.164.70:53281 | http=transparent | https=elite | manipulation=false
190.152.36.102:31884 | http=elite | https=elite | manipulation=false
31.40.136.209:53281 | http=elite | https=elite | manipulation=false
80.90.133.250:8080 | http=transparent | https=elite | manipulation=false
183.88.16.33:8080 | http=anonymous | https=elite | manipulation=false 
...

Save results to file

Use -o flag to save results in a JSON-File

$ songci 151.237.126.34:33695 95.175.14.54:8080 104.167.113.48:3128 -o summary.json

Example output file summary.json

[
    {
        "ip": "151.237.126.34",
        "port": 33695,
        "country": "BG",
        ...

Metadata

Release files for songci 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for songci 0.1.5
File Size Uploaded Provenance
songci-0.1.5.tar.gz 5.0 kB Without provenance Details

Release files / songci-0.1.5.tar.gz

Download URL songci-0.1.5.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0dcf10f1913a796c3214d4b01d48dc6e543039caec3ec1d468f4641627542539
BLAKE2b-256 checksum
How to use checksums
eec7c1e1ba06de4a3ef1c0da392dbd933851ea81159f27035dcde6159adad64d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.20.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.4

Security for songci 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page