Note: This program is under active development and the contents of this repository may at times be somewhat unstable. Stable source releases are archived here: https://pagekite.net/pk/src/
An interceptor for SOCKS Proxy protocol to allow user to dump any connections' content even if it is secured with SSL.
Please note that this is not a general purpose proxy server (performance issues and lack of capabilities). I actually developed it for my needs about examining connections of mobile applications.
I only tested it over connections of applications on my Android phone. So it is a very restricted cluster for a test. If you encounter an misfunction, you are always welcome to open an issue explaining it.
Strips SSL/TLS layer from SOCKS proxy connection to dump plain data!
optional arguments: -h, --help show this help message and exit -l [{ALL,TRACE,DEBUG,INFO,WARN,ERROR,OFF}], --loglevel [{ALL,TRACE,DEBUG,INFO,WARN,ERROR,OFF}] Sets logging level! -x [PROXYPORT], --proxyport [PROXYPORT] Proxy port that proxy listens.(default:1080) -d [DELEGATORPORT], --delegatorport [DELEGATORPORT] Delegator port that mitm takes place.(default:1081) -s [SECUREDPORTS [SECUREDPORTS ...]], --securedports [SECUREDPORTS [SECUREDPORTS ...]] Secured ports that will be ssl-stripped -k KEYSTORE, --keystore KEYSTORE Keystore that will be used to imitate actual server certificates for clients(default:mitmsocks4j.jks) -p PASSWORD, --password PASSWORD Keystore password.(default:123456)
mitmsocks4j needs a CA certificate to forge remote server's certificate and signs it. So user should add this CA certificate to its trust store. Otherwise most of applications will drop the connection.(Browser may have an option to ask user to accept that certificate.)
About SOCKS Protocol
To be able to use this tool, user should be able to redirect his program's traffic to a SOCKS proxy. Most of the browsers have an option to configure SOCKS proxy settings. In my case; Android does not have such an option(only supports HTTP proxy). So I rooted my phone and use ProxyDroid.
OpenSIPS is a GPL implementation of a multi-functionality SIP Server that targets to deliver a high-level technical solution (performance, security and quality) to be used in professional SIP server platforms.https://opensips.org
OpenSIPS wants to overcome the development latency of current SER project, to ensure a shorter path into a release for new added features. OpenSIPS is a project maintained by OpenSIPS Solutions http://www.opensips-solutions.com/ by a team including core and main developers of SER project.
Info
For information regarding the OpenSIPS installation, please see the INSTALL file.
For current developers/contributors of this project, see the CREDITS and AUTHORS file. For complete license information, please see the COPYING file. For a quick overview of OpenSIPS modules, please see the README-MODULES file.
For any question related to the OpenSIPS usage, please use the users@lists.opensips.org public mailing list.
For questions regarding the development of OpenSIPS - like contributions, bug reports, etc - please use the devel@lists.opensips.org public mailing list.
For questions regarding businesses around OpenSIPS - like products,· consultancy, trainings, etc - please use the business@lists.opensips.org public mailing list.
Also there is a generic news mailing list where you can learn about what is· new or important for the OpenSIPS project, about alerts and updates regarding relaces and about events around the project. news@lists.opensips.org
socks-cli is a solution to make CLI commands use the specified socks5 proxy, by setting up special environment variables, such as ALL_PROXY. It works on linux and macOS with bash and python installed.
Here is an incomplete list of supported commands:
git
curl
wget
brew
pod
gem
npm
...
Usage
Clone the code.
Copy socksproxyenv.sample to socksproxyenv, and fill your socks5 server into it.
Call source socks-cli/activate before your CLI commands:
$ source socks-cli/activate Serving HTTP proxy on 127.0.0.1 port 54967 ... Done! Some environment variables have been changed to: GIT_PROXY_COMMAND=/Users/x/socks-git/sh/socksified-connect.sh GIT_SSH=/Users/x/socks-git/sh/socksified-ssh.sh ALL_PROXY=socks5h://127.0.0.1:1080 HTTP_PROXY=http://127.0.0.1:54967 HTTPS_PROXY=http://127.0.0.1:54967
on = turn proxy on and setup ssh tunnel off = turn proxy off killall = kill all ssh tunnels shutdown = off and killall no_arg = toggle current state (if on, set as off, if off set as on)
To build the toolkit: see ./INSTALL. These instructions are valid for UNIX systems including various flavors of Linux; Darwin; and Cygwin (has not been tested on more "exotic" varieties of UNIX). For Windows installation instructions (excluding Cygwin), see windows/INSTALL.
To run the example system builds, see egs/README.txt
If you encounter problems (and you probably will), please do not hesitate to contact the developers (see below). In addition to specific questions, please let us know if there are specific aspects of the project that you feel could be improved, that you find confusing, etc., and which missing features you most wish it had.
The first step is to download and install Kaldi. We will be using version 1 of the toolkit, so that this tutorial does not get out of date. However, be aware that the code and scripts in the "trunk" (which is always up to date) is easier to install and is generally better. If you use the "trunk" code you can also try to use the most recent scripts, which are in directory "egs/rm/s5", rather than the "s3" scripts mentioned in this tutorial. But be aware that if you do that some aspects of the tutorial may be out of date.
Assuming Git is installed, to get the latest code you can type
git clone https://github.com/kaldi-asr/kaldi
Then cd to kaldi. Look at the INSTALL file and follow the instructions (it points you to two subdirectories). Look carefully at the output of the installation scripts, as they try to guide you what to do. Some installation errors are non-fatal, and the installation scripts will tell you so (i.e. there are some things it installs which are nice to have but are not really needed). The "best-case" scenario is that you do:
cd kaldi/tools/; make; cd ../src; ./configure; make
and everything will just work; however, if this does not happen there are fallback plans (e.g. you may have to install some package on your machine, or run install_atlas.sh in tools/, or run some steps in tools/INSTALL manually, or provide options to the configure script in src/). If there are problems, there may be some information in The build process (how Kaldi is compiled) that will help you; otherwise, feel free to contact the maintainers (Other Kaldi-related resources (and how to get help)) and we will be happy to help.
包含 Android Support Library 、 Google Cloud Messaging for Android Library 、Google Play services 、 Google Play services for fit preview 、Google Play services for Froyo 、Google Play APK Expansion Library 、Google Play Billing Library 、Google Play Licensing Library 等,下载解压后将解压出的整个文件夹复制或者移动到your sdk根目录下下,如果已经存在extras文件夹就替换掉。
react-intl - Internationalize React apps. This library provides React components and an API to format dates, numbers, and strings, including pluralization and handling translations.
react-blur - React component for blurred backgrounds.
sortablejs - Sortable — is a JavaScript library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery. Supports Meteor, AngularJS, React, Polymer, Knockout and any CSS library, e.g. Bootstrap.
react-anything-sortable - A ReactJS component that can sort any children with touch support and IE8 compatibility.
react-sortable-hoc - A set of higher-order components to turn any list into an animated, touch-friendly, sortable list.
react-sortable - A sortable list component built with React.
flexbox-react Unopinionated, standard compliant flexbox components. You don't need to learn any propietary syntax. If you know how to use flexbox, you know how to use flexbox-react components.
fluorine-lib - Reactive state and side effect management for React using a single stream of actions.
redux-batched-actions - Redux higher order reducer + action to reduce actions under a single subscriber notification.
react-i13n - A performant, scalable and pluggable approach to instrumenting your React application.
shasta - Dead simple + opinionated toolkit for building redux/react applications.
react-redux-provide - Bridges the gap between Redux and the declarative nature of GraphQL/Relay. Share, manipulate, and replicate application state across any number of components.
redux-cli - An opinionated CLI for building redux/react apps quicker.
reactuate - React/Redux stack (not a boilerplate kit).
essential-react - A minimal skeleton for building testable React apps using Babel.
gluestick - GlueStick is a command line interface for quickly developing universal web applications using React and Redux.
relay-fullstack - Relay Starter Kit - Integrated with Relay, GraphQL, Express, ES6/ES7, JSX, Webpack, Babel, Material Design Lite, and PostCSS.
universal-redux - An npm package that lets you jump right into coding React and Redux with universal (isomorphic) rendering. Only manage Express setups or Webpack configurations if you want to.
nwb - CLI tool and devDependency for React apps & components and npm modules.
react-redux-universal-hot-example - A starter boilerplate for a universal webapp using express, react, redux, webpack, and react-transform.
generator-starhackit - StarHackIt: React/Redux + Node full-stack starter kit with authentication and authorization, data backed by SQL.
backbone-react-component - A bit of nifty glue that automatically plugs your Backbone models and collections into your React components, on the browser and server.
elm-react-component - A React component which wraps an Elm module to be used in a React application.
redux-ava - Write AVA tests for redux pretty quickly.
carte-blanche - An isolated development space with integrated fuzz testing for your components. See them individually, explore them in different states and quickly and confidently develop them.
You can either build Weex from IDE (XCode) or command line.
Build From XCode
Run playground
cd ios/playground
pod install
Open WeexDemo.xcworkspace in Xcode
Click (Run button) or use default shortcut cmd + r in Xcode
If you want to run the demo on your device, don't need to modify CURRENT_IP manually. In DemoDefine.h(you can search this file by Xcode default shortcut cmd + shift + o), modify CURRENT_IP to your local IP
Then Fetch Revel, Leanote and related dependencies:
$> go get github.com/revel/cmd/revel $> go get github.com/leanote/leanote/app
It may take a while to download these files, please be patient. The source code of Leanote is stored in /home/user1/gopackage/src/github.com/leanote/leanote.
Install Mongodb
Download Mongodb and configure
You could download a more up-to-date version from the official site of Mongodb. Or, you could use the following links to get the versions that are validated to be working by the developers.
$> cd /home/user1 $> tar -xzvf mongodb-linux-x86_64-3.0.1.tgz/
To make sure that you can reference the Mongodb command from anywhere, configure its environment variable by adding the following line to your ~/bash_profile or /etc/profile (make sure you type in the correct username and version strings):
Now Mongodb has created a leanote database, you can have a peek into it, for instance query how many tables leanote database has:
$> mongo > show dbs leanote 0.203125GB local 0.078125GB
Tell mongodb to use our newly created leanote database:
> use leanote switched to db leanote
Bit more playing around:
> show collections # a collection in Mongodb is a table in mysql files has_share_notes note_content_histories note_contents notebooks ...
The initial users table has two accounts:
user1 username: admin, password: abc123 (administrator who can manage Leanote) user2 username: demo@leanote.com, password: demo@leanote.com (just for demonstration)
Configure Leanote
The configuration of Leanote is controlled by this file: /home/user1/gopackage/src/github.com/leanote/leanote/conf/app.conf.
One setting that you are strongly suggested to modify is app.secret, please change arbitrary number of digits of the string to something different, but keeping the string length unchanged. This is to avoid potential security issues.
Other optional changes you can make includes db.username, db.password (more on these in the Trouble Shooting section) and etc..
Run Leanote
If you have successfully come to this stage, there is just one more step to go.
Make sure the Mongodb is still up and running, and your 9000 port (the default port, which can be changed later) is open. Then run:
$> revel run github.com/leanote/leanote
Note that if you are using revel 0.12 or above, please refer to this post
Congratulations, now fire up you browser and enter http://localhost:9000 (or http://IP_ADDRESS_OF_SERVER:9000) into the address bar. Voilà! Welcome to Leanote and happy note-taking!
Attention!
Please note that you run Mongodb with no auth option which mentioned in this paper, if your server is exposed to the internet, anyone can access and modify and delete it!!!!!! So it's very dangerous to run Mongodb in this way. You must add user and password to Mongodb and run it with auth option. Please see How to add new users to mongodb database?
Trouble shooting
If you encounter issues or want to know more about Leanote's configurations, refer to the FAQ page.
Usage: 0) Generate self-signed certificate with openssl: openssl req -new -x509 -keyout server.key -out server.crt -days 365 -nodes 1) Start on VPS: rsockstun -listen :8443 -socks 127.0.0.1:1080 -cert cert 2) Start on client: rsockstun -connect clientIP:8443 3) Connect to 127.0.0.1:1080 on the VPS with any socks5 client. 4) Enjoy. :]
Add params: -proxy 1.2.3.4:3128 - connect via proxy -proxyauth Domain/username:password - proxy creds -proxytimeout 2000 - server and clients will wait for 2000 msec for proxy connections... (Sometime it should be up to 4000...) -useragent "Internet Explorer 9.99" - User-Agent used in proxy connection (sometimes it is usefull) -pass Password12345 - challenge password between client and server (if not match - server reply 301 redirect) -recn - reconnect times number. Default is 3. If 0 - infinite reconnection -rect - time delay in secs between reconnection attempts. Default is 30
Compile and Installation:
Linux VPS - install Golang: apt install golang - export GOPATH=~/go - go get github.com/hashicorp/yamux - go get github.com/armon/go-socks5 - go get github.com/ThomsonReutersEikon/go-ntlm/ntlm - go build launch: ./rsockstun -listen :8443 -socks 127.0.0.1:1080 -cert cert -agentpassword Password1234
Windows client: - download and install golang - go get github.com/hashicorp/yamux - go get github.com/armon/go-socks5 - go get github.com/ThomsonReutersEikon/go-ntlm/ntlm If you want to use proxy NTLM auth - patch go-ntlm\ntlm\payload.go packet: bytes := utf16FromString(value) -> bytes := []byte(value) p.Type = UnicodeStringPayload -> p.Type = OemStringPayload - go build optional: to build as Windows GUI: go build -ldflags -H=windowsgui optional: to compress exe - use any exe packer, ex: UPX launch: rsockstun.exe -connect clientIP:8443 -agentpassword Password1234 -proxy proxy.domain.local:3128 -proxyauth Domain\userpame:userpass -useragent "Mozilla 5.0/IE Windows 10"
Client connects to server and send agentpassword to authorize on server. If server does not receive agentpassword or reveive wrong pass from client (for example if spider or client browser connects to server ) then it send HTTP 301 redirect code to www.microsoft.com
What is torsocks? ----------------- This is a fork of the tsocks project (http://sourceforge.net/project/ showfiles.php?group_id=17338). The purpose of this fork is to maintain a working implementation of tsocks that is primarily useful for Tor.
Using torsocks -------------- Torsocks allows you to use most socks-friendly applications in a safe way with Tor. Once you have installed torsocks, just launch it like so:
usewithtor [application]
So, for example you can use ssh to a some.ssh.com by doing:
usewithtor ssh username@some.ssh.com
or launch pidgin by doing:
usewithtor pidgin
The following applications are known to be compatible with usewithtor:
Type Application Comments COMM ssh COMM telnet (plaintext passwords are not recommended with Tor) IM pidgin IM kopete IRC konversation MAIL claws-mail DEV svn IRC xchat IRC irssi IRC silc
Differences between torsocks and tsocks ---------------------------------------- A complete history of changes is maintained in the Changelog. The initial working copy of torsocks was obtained through the following steps in June 2008:
- Tsocks was downloaded from the project's sourceforge repository. (http://sourceforge.net/project/showfiles.php?group_id=17338) - All patches listed at http://wiki.noreply.org/noreply/TheOnionRouter/ TSocksPatches in March 2008 were applied. In particular, the patch from Total Information Security that hooks DNS requests and passes them to Tor. The original link for this patch is now dead and the authors are no longer available at the email addresses supplied in the patch's source. - Weasel's getpeername() patch and some build-related patches from https://giig.ugr.es/~rgarcia/tsocks/ were applied. - All references to tsocks in the project source files were renamed to torsocks. - The project was then migrated to an automake/autoconf build system.
To help with reconstructing the above steps a list of applied patches is available in the patches/ subdirectory of the torsocks source tree.
Enhancements unique to torsocks ------------------------------- The first release of torsocks contained the following enhancements:
- Torifying reverse dns requests through gethostbyaddr() - Blocking of UDP traffic from sendto() and its variants. - Use of Tor-friendly defaults if no configuration file available. - The addition of all RFC defined private address ranges to the default configuration.
Maintainers of Torsocks ----------------------- Torsocks is maintained by: Robert Hogan (robert at roberthogan.net) Ruben Garcia (ruben at ugr.es)